A Software Developer is Not a Doctor

A software developer deals with unique situations almost every day.

Every project, every bug fix, every issue has its own unique challenges and one of a kind circumstances.

Even if the functionality has been built before in other systems or is available on other pieces of software, implementing it on a specific system or integrating it with existing code has its own set of challenges.  A developer really does work on “projects” in the sense that they work on unique endeavors that have some degree of uncertainty and risk of failure.

As far as the other side of the formal definition of a project, having a defined start and end date, that’s often a matter of controlling scope creep or change requests

Because developers are working on projects there is no single body of knowledge they can master to have answers to questions right off the bat.

When you ask a doctor about a pain in your side, there is a well documented set of potential answers and a huge body of research on the most probable answer based on other data points/symptoms reported.   They can usually give you an answer off the cuff.  And if not, there are prescribed recommend tests to further find the answer.  This isn’t the case with a software developer.

A software developer is not a doctor. No two bodies of code are the same.

Next time you ask a developer for an answer or an estimate, don’t surprised if they need time to come up with the answer. Or, if the answer they give is inaccurate or if the estimate is off.

The same is true of designers and creative knowledge workers.

A Quick Estimate Can Save You Project Headaches

Formal project management methodology can be overkill on some projects or a lifesaver on others. In general, it’s clear on when to go through the detailed steps of a methodology and when not to. It depends on the overall size of the project.

  1. A short project doesn’t require much in terms of formal project management. The steps you’d go through in putting together all the documents and spreadsheets of a methodology are done automatically as part of getting the project done.
  2. A long project should go through formal project management steps to make sure all bases are covered and that nothing is dropped or forgotten. (This is especially true during when gathering requirements for the project.)

The problem comes when you think the project will be short and it turns out to be a long one.

To avoid this, do a quick, 10,000 foot estimate on the project’s size before getting started. In the language of formal project management (like PMI’s Guide to the PMBOK), this is called a top-down estimate. It can be based on experience and past projects you, or other people in your organization, have done. Templates or archives of these past projects can be helpful sources of information for the estimates.

Take the time to actually put together an estimate, as opposed to just eye-balling it or basing your estimate on “gut” alone. It can save you from the headache of underestimating the tools, resources or information you need to get the project done.

Estimating Project Schedules: Setting Margins-of-Error

Estimating a project’s schedule can be a real challenge.  There is potential uncertainty and unkowns to consider when creating a schedule.  I’ve found it helpful to categorize projects when estimating a project’s schedule so you know what kind of margin-of-error to build into it. Three categories I find useful are:

  1.  New Work
  2.  Old Work
  3.  Combo Work -Combination of New and Old

New work is an effort or process you’ve never done before. This could be using a new technology, an upgraded tool, developing a new type of solution, implementing a new program or designing an entirely new asset e.g. a website, if you are used to designing print pieces.

Old work is an effort or process you’ve done many times before with the same tool set.

Combo work is a combination of new and old. This could be doing a standard project using a new tool or technique or working on something you’ve done before but which you wouldn’t call yourself an expert at just yet.

MARGIN-OF-ERROR

Each of these categories carries a different degree of uncertainty. You can capture that uncertainty by creating a margin-of-error for your schedule estimates. Here are some guidelines for margins-of-error. 

  1. New Work - a margin of 8x.
  2. Old Work -a margin of 1.5x
  3. Combo Work -a margin of 4x, though you can shift that higher or lower, depending on how much is new vs old.

DON’T FORGET CLIENTS

Clients are another element to consider when deciding what category to put a project into. Doing work for a new client or a new contact person at the client can add as much uncertainty as using a new tool or developing a new solution.

Predicting vs. Forecasting

QUESTION (from LinkedIn): Forecasting the same as prediction? Which one is more realistic and easier to do?

ANSWER: Forecasting is different from predicting. Predicting is much easier but far less accurate.

Predicting is when you start making guesses about things. For example, you predict that laying sheet-rock will take 45 hours to do and you guess that it will be done in 2 weeks.

Forecasting, on the other hand, is when you take information from past jobs and apply it to a new job. For example, if you have seen that laying the sheet-rock for a 3,000 sq ft space takes 65 hours and it usually done in 4 weeks then the next time you have to quote out the same job you’ll be able to forecast how much its going to cost and how long it will really take i.e. when it will really be done after work starts on it.

The big difference is predicting is based on your best guess from experience. Forecasting is based on data you’ve actually recorded and tracked from previous jobs.

As it relates to Vertabase project management software, predicting is when you first enter in your best guess of estimated hours on a task and your estimated start and end dates for that task. Forecasting is when those estimated hours are based on actual hours tracked on those type of tasks and actual duration (the amount of time between the start date and actual end date) of that type of task. All that data is tracked automatically in the project management software and easy to report on - making forecasting a snap (and far more accurate than predicting).

Follow me at: twitter LinkedIn

Subscribe to RSS Feed

Get the feed!


Add to Google



Get More Done



As Seen In

"Mark is a skilled communicator, and his blog stands out for its clarity. The ideas he presents are fresh and give readers a different perspective. Importantly, it gives practical and applicable insights."


- David Gurevich, PM Exam Guide

"An amazing talk!"

"Wonderful, engaging speaker!"

"Great insights."


- Audience reviews, Ann Arbor

"Mark is undoubtedly an expert in project management, not only at the theoretical level but at the practical level, as he is able to clearly explain and show how small to medium businesses can implement practical project management solutions to save time, money and headaches."


- Brian Love, CTO, Webucator

"Mark’s presentation style is engaging. Many people (particularly the Project Managers present) left the presentation eager to apply Mark’s advice on better planning and project execution to their own projects."


- Bernie Dolan, Sun Life Insurance

"Mark went out of his way to give a "real-world" talk on project management that was motivating and informational. Several of our group member filled up notebooks with great tips and takeaways from Mark's talk. I would highly recommend Mark for any discussion on Project Management and his talk is great for any audience."


- Matt Schulz, PMP, CIW

"Mark gave a very engaging presentation. He demonstrated his expertise in project management and provided some excellent ideas that our members took away from the discussion to try putting into practice in their own project teams."


- Troy Pullis, Minneapolis/St. Paul

"Mark came to speak about Project Management and Time Tracking. Mark eloquently delivered, a well researched, and comprehensive presentation that everyone found very useful. Mark no doubt is an expert on project management, and that is very clear when he speaks."


- Pete Freitag, President, Foundeo Inc, New York

"Mark was a great speaker, and I hope to have him back to Cleveland."


- Brian Meloche, Cleveland

Archives

1999-2012 Standpipe Studios, L.L.C., All Rights Reserved.

Trademarks | Privacy | Sitemap