IT Project Management | By ExecutiveBrief | Read time minutes
Gain invaluable insight into how to best manage the challenges inherent with large software development projects. An industry expert reveals proven strategies for staying on top of a wide range of tasks!
Managing large software projects can be quite difficult under the best of circumstances. Unfortunately, individuals with limited or no experience often rely on survival tips from more experienced co-workers and other individuals in-the-know. To help you, I compiled nine helpful tips that will undoubtedly improve your software project management experiences. The tips themselves originate from Washington DC-based Robert E. Bone, an expert who has an impressive twenty-eight years of IT consulting experience that spans analysis, applications development, requirements gathering, production support, project management and systems administration. He highly recommends keeping these suggestions in mind during your next software management project.
1. Data Load Early in Migrations
During a migration, consulting companies typically "go months and months" before they attempt to load data. Often when the loads fail due to unforeseen mapping issues, problems with data dictionaries, unknown data sources, and other reasons, the client is forced to grant the consulting company additional funds while project deadlines slip. Therefore, software project managers should seriously consider taking the following advice:
Front-loading the data loading in the project is a good approach, says Robert E. Bone, who frequently rescues troubled projects.
This can result in millions of dollars in project overrun savings, as well as helping to meet or beat deadlines.
Additionally, this approach eliminates the drama that is usually associated with a production cut over, as this approach provides measurable rates of success and improvement in data loads that occur early and throughout the life of the project. Thus, this situation is a marked improvement over an organisation having a last minute realisation that all might not be right with the data.
2. Document and Manage Requirements
Often clients and developers alike ignore the importance of properly managing the requirements. For instance, the client usually just wants the project completed early and under budget. However, in reality, disaster awaits the project manager who cannot control the designers, developers and the client.
It is crucial to create and maintain a traceability matrix for tying developed code back to specific requirements. Why? Because the improper capture of requirements upfront simply inhibits good design. Failing to properly freeze signed-off requirements results in scope creep, i.e. situations where new functionality keeps getting added to the requirements without approval from the client.
I've yet to see anyone be able to defend out of control burn rates (funding that runs out prematurely due to scope creep) due to either building unauthorised functionality or repairing the damage caused by unauthorised functionality, says Bone.
3. Peer Review Process
Bone recommends that project managers do not "rubber stamp" peer reviews.
I can't stress the importance of proper peer review procedures, he says.
They often make or break projects as they can help eliminate expensive and time-consuming rework during late stages of a project or post-implementation nightmares.
Bone further acknowledges that he has racked up tens of thousands of dollars in overtime, just through fixing issues that occurred because the code was not properly reviewed.
4. Only Work on Authorised Changes
Besides making sure that all the coding changes work correctly, it is also important to ensure that all the coding changes are actually authorised.
The project manager is accountable for the code that is produced, and the client will rightly expect that the developed code can be tied directly to a requirement, he notes. Thus, tracking changes back to requirements using a traceability matrix is beneficial.
5. Leverage Knowledge
Bone spent many years working for companies that compartmentalised their projects to a point where teams were not aware of what any other teams were doing. As a result, similar or identical work was being developed by multiple teams.
It is certainly fine to compartmentalise, but if this is done, then set up a technical review board that can leverage the knowledge from all of the various teams when ramping up new projects. This is good for the consulting company and great for the client, says Bone.
6. Sacrificing Quality for Completion
Throughout his career, Bone witnessed companies sacrifice quality for the sake of time in many circumstances. In fact, he even confesses to sacrificing quality at times himself. This type of situation often occurs as many consulting companies have rewards and consequences attached to meeting client project deadlines.
This situation can result in half-baked code or documents being produced and delivered, to meet the deadline, but knowingly the results are either incomplete or just plain poorly crafted, he says.
Bone points out that he has personally severed relationships with consulting companies that commit these types of acts. Moreover, many years ago as a consulting project manager, he was forced by his management company to deliver documents and/or code that met the deadline, but was poorly created.
The project manager is the one on the hook for both deadlines and for the quality of deliverables, he emphasises.
It is a failure of the project management process to allow any situation to get to a point where incomplete or poorly completed work is delivered simply to meet a deadline. There is no excuse for things getting to that point.
7. Resource Bleeding
As a project manager, Bone handles multiple concurrent projects. The result of this situation can be quite maddening to a client, as from their perspective, the client wants it all at the same time. Frequently, key resources are asked to give ten to twenty percent to one or more other projects. This situation can result in a loss of time handling, frequent "quick questions", and "small favours."
It is the project manager's responsibility to be aware of resource bleeding and to protect key resource availability for the project, he says.
8. The Lone Wolves
Project managers must be aware and avoid the unapproachable resource known as the Lone Wolf. In Bone's twenty-eight years, he has never seen the cowboy approach or the I work alone approach work well for anyone. Bone believes that project managers can benefit countless times by simply paying attention to the informal dialog between engaged and co-operative team members.
That's why it's called a team, he says.
Allowing an individual to operate as a lone wolf is a recipe for disaster. Further, Bone believes that this type of situation is "cancerous" to the well-being of the rest of the team. Thus, it is really important for project managers to take the time to assess everybody's willingness to work together within a team.
9. Get Real
Project plans, timelines, charts and "pretty" presentations are all really nice, but they often are woefully disconnected from the realities of what is actually occurring within a project. In actuality, all of the aforementioned items are simply tools. A successful project manager must remember that what is happening "in the trenches" is important, not the pretty pictures.
I worked on projects in the past where the project manager ignored team member's expressions of issues and concerns, and where the project manager has not kept the team informed of the project plan details, he points out.
Bone believes that taking the time to review the actual results, above and beyond simple project reviews, is critical to the project's success. He cannot imagine a construction manager taking his workers' expressions of "everything is going great" at face value. A construction manager comes to the site to ensure that things are being completed in accordance with the blueprints. Obviously, the project management team will appreciate your increased attention to detail, and only good things will result from this increased awareness.
ExecutiveBrief, the technology management resource for business leaders, offers proven tips, techniques, and action plans that companies can use to better manage people, processes and tools - the keys to improving their business performance. To learn more, please visit: SoftServe Blog