| Product Culture |
| Emerging Technology Expertise |
| Predictable Ship Dates |
| Low Risk Engagement |
|
|
|

Predictable Ship Dates
Over a decade, Aditi has evolved a process that is specific to product development. We build estimates at the individual developer level; adjust them for their historical productivity, aggregate to develop the overall estimates and a detailed schedule. This schedule includes projected bug counts by week and the expected path to stabilization, and a release date.
As the product gets developed, the schedule is tracked on a daily basis with actual feature completions and associated bug counts to identify feature slips well ahead of time and make necessary adjustments. Also, the stability level of the product is tracked rigorously through a convergence matrix to ensure that there are no significant deviations from projected stability, and thus the release date. The bottom line for this process is to deliver "Predictable Quality on a Predictable Date".
Throughout implementation, peer reviews are done at the design and coding levels. Quality is ensured by reviewing the robustness of the code for error handling, implementing best practices, and understandability.
Such a process benefits our clients by identifying potential cost and schedule escalations well ahead of time and make appropriate course corrections.
In the words of our CEO
"The reason why we believe our software process is predictable is because
our better run teams have very hard core measurement and tracking
processes in place. Every Monday, we try and get to a 'Known State' on
the software project. This is very hard to do because status in
software is very ambiguous. When a programmer says he is done with a
feature, it is not clear what being done means - has he written all the
integration scenarios, has he tested against the harness, what has
happened with his dependencies on other people or software that is not
written yet, etc. Therefore, we break each task into ONE-day tasks; we
define a strict methodology of what it means to say that you are
finished (what things must you have done), impose strict penalties for
checking code into the system that 'breaks' the build, etc.
Every Monday morning, we do very strict reviews of what is done and not
done, and therefore where we are on schedule with respect to something
that may be six months away from delivery. Then we re-estimate schedule
if necessary, and have strict follow-up that week to make sure those things that are lagging get done. This is a very methodical measurement
and follow-up process.
Delivering
software with changing specifications with a large team on schedule is
a true miracle - I don't know of anything else in business, which is
that difficult and requires such close management. Even in well-established software companies that I've known, there were very few
managers who could do this well."
|
Additional Resources
|