Steve Mushero line
Technology Advisor for Startups and Investors
Home

About Steve

Services

Clients

Resources

Contact

Developing Software -> Scheduling, Estimates, Meetings
Perhaps the most difficult part of a development project is scheduling and estimating the time involved.  Though never an easy task, the burden can be reduced by following some key principles.

The most important facet of development timing is to tightly track and manage individual tasks.  The trick, of course, is how to do this without stifling the developers and other team members.  The underlying reason for strict control is that software is somewhat unique in that a task can easily run 50% under or 1000% over time.  Since time overruns are so common and directly affect the schedule, it's critical to capture them as soon as possible, sort of just-in-time rescheduling; similar to the JIT process used in manufacturing.

Define Tasks - The first step is to clearly define ALL of the tasks necessary to finish the project.  These should be fairly detailed, covering anything that takes one day or more.  The most numerous items on the list will probably be design, review, and coding tasks, and should be included for each module a developer will handle.  Be sure to involve all team members while creating the list, as they will have considerable experience in the necessary steps, plus they need to buy in to the process. 

Estimate Tasks - After listing all the tasks, the next step is to estimate them, in day or half-day blocks.  Note that this is how it will take to do the work, not calendar time, so a five day project should be five days of work; the schedule will be adjusted later for meetings and other elements that keep developers from working.

Track Tasks - Update the progress on the schedule twice a week, on Mondays and Fridays.  It's not so important that people work in a specific order (that's a different issue), but that the task list is tracked in terms of what has been worked on, what's left, and how good the estimates are.  Update things in real time, so if a task is taking an extra two days, adjust the schedule ASAP to understand the ramifications.

 

 




Also See

"Steve provided by far the best requirements that we've ever received from a client... our COO and software team passes along their thanks"

- Engineering Team Manager