Rants
Questions
Soapbox
Best Practices
Apply today for a FREE subscription to CIO Magazine!
Sun, Jul 29, 2007 14:04 EDT
|
Posted by: Michael Kavis in Rants Topic: DevelopmentBlog: Delivering the Goods
Current Rating: |
In order for an IT organization to develop professional, enterprise software there must be some form of process that is followed.
I have seen both sides of the coin from a zero process organization to a processed to death type of organization. There is no silver bullet or one process fits all solution. The amount of process that an organization uses depends on many factors including the following:
1) Size of team
2) Size of project
3) Consequences of failure
4) Culture
5) Type of development
Size of team
The larger the team, the more likely the project will require a higher level of processes. For example, if the development team is made up of 100 programmers, there is probably a need for very low level design specifications. If the team is made up of 2 or 3 developers, they can probably rely more on collaboration and iterative approaches.
Size of Project
The amount of process required to deliver a one month project should be minimal compared to a one year project. In a one month project, you better not be spending too much time creating endless documentation or you will miss your date.
Consequences of failure
If lives are at a stake (ex. space shuttle, heart monitoring systems, etc.) you might want to invest more time in process to provide the maximum amount of oversight and risk mitigation. If you are putting up a simple web site that can be changed on the fly, you don't need CMM level 5.
Culture
The culture of a company can also be a major factor of the amount of process that is required. If the company is relatively new, aggressive, and time sensitive they will most likely use light processes (or no processes at all). Companies that have been around a while that have years worth of legacy systems to maintain have probably implemented and refined their processes to meet their needs. Executive level commitment to process is another factor. Yet another factor is the amount of regulation required (SOX, Hipaa, PCI compliance, etc.).
Type of development
Rapid or Agile development requires scaled down processes. Companies dealing with offshore development typically require more detailed processes to clearly articulate specifications to their "virtual" teammates.
No Crutches!
Regardless of the size of the project or team, consequences of failure, the culture, or the type