By Jeff Gainer
(Authorís note: This article was originally published in the itmWeb Report.)
Most software development organizations have continued to build software products the same way for years without turning a critical eye toward their management processes. Sometimes this assessment doesn't seem necessary until some key people leave--taking with them the qualities that made previous software development efforts a success. The time to assess an organization's capabilities and processes is before such a crisis, and to then take steps to preserve the knowledge of key people in the organization.
Process improvement is typically associated with "top-down" management methods (such as standards, procedures, and methodologies), which are handed down from management to front-line developers.
A different, "bottom-up" approach to process improvement is to identify the "best practices" in an organization and promote their use, while simultaneously identifying counterproductive practices and removing them. The concept of best practices encourages learning from within an organization, by documenting and promoting the practices that work well, thus preserving and passing on key knowledge.
The concept of best practices was developed by the Airlie Council, a task force of influential industry thinkers appointed by the US Department of Defenseís Software Program Managerís Network. The Airlie Council has identified and recommended over 170 "best practices" for software development organizations connected to the US military. The nine "Principal Best Practices" are recommended to nearly all DOD software projects. But while the concept of best practices has gained acceptance in the government sector, many private sector firms are ignorant of the concept.
The best practices approach is a highly informal method of process improvement, and it is particularly well suited to smaller development organizations. If you want to adopt the philosophy of best practices in your organization, how and where do you begin?
Unfortunately, you canít buy a set of best practices off the shelf. A caveat: remember that what works in somebody elseís environment wonít necessarily work in yours. If youíre looking for a starting point for ideas for best practices, you can consult the Software Program Managerís Web site and other sources for ideas, but by its very nature, implementing any best practices program is a unique effort. Identifying best practices is first a process of listening and observing. And after every project, no matter how minor, you and your staff--not just management, but the entire staff--should pause to perform an informal "post-mortem" to identify processes or practices which worked well--and perhaps more importantly, to identify what didnít work well. Be sure to ask not only what you would do again, but also what you would never do again. This way, youíll learn from both your successes and your failures.
How do you promote best practices? Identifying what works in your organization is only part of the effort. Next youíll need to actively promote the use of your best practices. You can publish them on an intranet, distribute hard-copy newsletters, or exchange ideas in regular meetings. The method you choose to promote best practices may itself help you identify a best practice in your organizationís culture.
Next month in Critical Path, Iíll discuss a more formal and very different approach to process improvement: The Capability Maturity Model.
Copyright 1998, by Jeff Gainer