Organizations of all sizes embark on thousands of new IT projects every year. However, the number of projects that are implemented on time and on budget is disagreeably meager.
The Big Dig in Boston is a fantastic example. It had cost overruns that went into the billions; different sources say different things, but many people believe it was a complete boondoggle. You do not need a project-management certificate to come to this realization.
This is just on top of the terrible financial picture of Massachusetts. This is one of the highest-taxed states in the union, but this is another topic.
Moreover, this is due to various factors, some controllable, others not so. Ranging from inadequate requirements to environmental issues, there can be many. However, by following certain process steps and guidelines, CIOs and implementation leads can ensure that software projects are implemented on time and within budget. Here they are.
Follow industry standard processes
From ISO to British standards and CMM, there are a number of standards that can be followed by software projects. Whichever standard is being followed as the organizational standard, it is critical to stick to it. Each of these standards defines the SDLC (software development life cycle) in a certain way and imposes certain requirements on each phase in the life cycle.
These requirements range from requiring reviews to be done after phases to marking specific exit criteria for each phase. Follow these standards to the T. These standards are designed to ensure that the software development process happens on time and on budget.
Focus on the requirements definition
Of all the phases, it is paramount to focus on the requirements definition phase. This is the phase in which the requirements for the project are gathered and analyzed. This is the most critical phase of the project. The reason being, it is always more costly to catch a defect, the later one goes in the SDLC.
For instance, if a defect is found during review of requirements in the requirements analysis phase, it is fairly inexpensive to fix it. However, if a defect is found in the SIT (systems integration testing) phase, then it is expensive to fix it. That’s why it is pivotal to focus on the high-quality requirements definition.
Ensure sufficient training
One of the reasons why project teams fail at accomplishing implementations on time is lack of skills and lack of training. If you want to see both weak qualities in action, just watch Michael Kelso be a cop in "That 70s Show." That was not impressive and even dangerous! Furthermore, the skills and training component is critical. Before the project begins, you should make a comprehensive assessment of all the skills that are needed in order to implement the project.
Then you should get the resource profiles to see the extent to which the project personnel have the necessary skills. Once you identify the skill profiles and skill gaps, immediately arrange for suitable training to be provided before the project begins. Or you may have to bring in some independent contractors to carry out this project since you may not have the skill set in your ranks to complete this agenda. Rather than send a few of your team members into extra training (which may or may not be enough), some firms choose to hire an outside force to manage and complete a project.
The U.S. Navy does this when they want to fix up the sleeping berthings on their ships, among so many other things. They have outside contractors handle these projects when the ship is in dry docks.
Identify environmental bottlenecks early
Fail to plan, plan to fail, as the adage says. One of the fundamental reasons why software projects get delayed is because of environmental bottlenecks such as test regions are not available or lack of tablespace in the SIT region, things like that.
Before starting the project, go phase by phase and identify all the environmental bottlenecks that exist in each phase starting from requirements analysis, design, coding, and testing. Each phase may encounter a different type of bottleneck. For example, as far as coding goes, maybe there is a vital tool that is not installed in the systems that is required to complete the coding. All such bottlenecks should be fixed or planned for before the project begins.
High-quality project management
The standard of project management needs to be very high if IT projects are supposed to be delivered on time and on budget. What this means is many aspects:
- The project manager must have deep awareness of the process standards.
- The PM must enforce the process as per the norms.
- Weekly status meetings or meetings at suitable intervals must be conducted.
- Minutes of the meeting must be properly documented for all meetings.
- Project budgeting must be done in accordance with the budget office guidelines.
- All project communications must be done in an appropriate manner.
Create an escalation matrix
Once you have identified all the possible bottlenecks that the project can encounter, always create an escalation matrix. The escalation matrix identifies the nature or scale of the problem and describes the process to be followed when an issue or bottleneck is encountered.
Bear in mind that escalation matrices are multilevel, and you will have to provide first-level, second-level, and even possibly third-level escalation contacts or contingency planning for each type of issue expected. For instance, sometimes test regions are not available. So in this case, you will have to mention the steps that should be taken when this issue occurs and whom to contact if this becomes a reality.
Ensure high-quality infrastructure
It is vital to ensure that your project team is provided with high-quality infrastructure. Infrastructure encompasses several aspects. Some of them are:
- Physical infrastructure or components such as chairs, tables, computers, phones.
- Software infrastructure including software installations needed, specific operating systems that need to be installed, etc.
- Food, transportation, electricity, power backup, and network connectivity.
Infrastructure is the most basic need for any IT project, and infra needs to be taken care of as the first priority. It is always a judicious idea to create a comprehensive listing of infrastructure needs before any project begins.
Proper team structure
Proper team structure is one aspect of successful project management which is relatively unappreciated by so many. However, it is critical. Consider two different team structures:
- In the first type, a 40-member team is set up with one project manager and 39 people reporting to the PM or project manager. Among the 39 people are technical architects, project leads, technical leads, QA testers, and developers.
- In the second type, you have the same 40-member team. But the team structure is such that you have five project leads reporting to the project manager. The technical leads, QA testers, and developers have second-level reporting to the project manager via the project leads. The technical architects are considered on par with the project leads and hence are made to report directly to the PM.
Now, which structure is likely to give you the maximum probability of on-time, on-budget delivery? Clearly, the second structure, because it is more optimal with an even distribution of reporting. Though there is no one size fits all in this realm. It is your call!