10 mistakes that could get you fired
by Sunil Kumar Ojha & Krishnaprasad Bannanje, PMP
WITH HEIGHTENED COMPETITIVENESS and ever-increasing pressure to reduce time to market, the tolerance level for mistakes has significantly diminished. Sometimes even a small flub can cost you your job.
Here are 10 practices likely to land you a career setback in software development project management.
A “guess estimate,” also referred to as a “gut feel,” is based on personal intuition and past experience. But even the most strongly held conviction could be faulty. An inaccurate estimate can leave a project team slogging day and night to meet a deadline. The project might finally be delivered on time—but with a huge effort overrun. If time is pressing, use the Delphi technique, which takes multiple views on estimation by various small to medium-sized enterprises and helps remove bias in estimates. Also, applying Delphi iteratively can improve accuracy.
“What is the point in creating a release checklist when you know what you are going to release?” you might ask. Or you rationalize, “Let's be practical: Bugs are going to be there, whatever you do.” But process not only provides predictability, it helps in identifying key areas of improvement. It also offers a disciplined means to collect and report data. By looking at key metrics, a project manager can accurately measure an initiative's current status and precisely predict future performance.
ALWAYS SAYING “YES” TO THE CUSTOMER.
Many behaviors can cause a project to fail, but accepting whatever the client says is sure to spell project doom. Initially, a stakeholder might appreciate your flexibility—but that will be overshadowed later by the impact of possible schedule slippage and unmet objectives. This isn't to say that you should always tell customers “no.” If you do that, they'll feel their concerns are not being addressed. Before you commit to something, perform due diligence and analyze the pros and cons of your decision.
SKIPPING CODE REVIEW.
Don't assume that testing will catch bugs or that defects are fixed faster when you know where code is breaking. You'll only end up increasing the risk of schedule slippage as the inflow of defects rises during testing and the turnaround time for code fixes increases. Code review helps produce a stable, quality deliverable. Its focus is not only to catch code defects but also to look at critical dimensions that may not get caught during testing, such as code optimization and requirement coverage.
BYPASSING UNIT TESTING.
Like code review, unit testing often falls victim to cutting corners in project execution, especially when there's a tight schedule. You might think, “This code was developed by experienced professionals; there won't be any bugs.” But by testing individual modules, integration testing is simplified. Let's say there are three components, each having three test cases (or conditions). In unit testing, that comes to nine test cases total. If you have to cover all these cases in the system testing stage, you need to have 3 x 3 x 3 = 27 test cases. Also, unit testing can catch defects early in the life cycle, leading to less rework and improved productivity.
FORGOING USER FEEDBACK.
Defects can result from a misunderstanding of requirements and a misinterpretation of stated requirements. Even if requirements are well-documented, they must be validated for correct understanding. Only by a visual walkthrough of a prototype can users spot the differences in what they expect and what's being built. Feedback must be planned at various stages throughout a project to reduce risks. These feedback loops will help you spot gaps early and provide enough time for correction.
Change is inevitable, irrespective of the size of your project. Whether good or bad, it must be managed well to ensure the project continues without disruption. Every project must have a change control process, and every change request, however small, must go through it. The change's impact should be documented, approved and presented to key stakeholders so that everyone understands its effect on quality, cost and schedule. For a large project, set up a change control board and have every change request pass through it.
KEEPING PROBLEMS TO YOURSELF.
Quite often we face the dilemma of whether or not to deliver bad news to stakeholders. And too often we forget this truth: Clients have a vested interest in the success of the project. They have every right to know any development impacting the outcome of the initiative.
SKIPPING CONFIGURATION MANAGEMENT.
Team members commonly have two misconceptions about using configuration management to track and control software changes: It slows down work, or it's a waste of time. So the first step in implementing an effective configuration process is to raise team members' awareness about the disadvantages of eschewing a defined process. The second step is installing strict discipline to ensure that every team member adheres to what the plan delineates. You must also schedule regular audits to validate that things are under control and to coordinate the code merge process.
LEAVING THE DETAILS TO DEVELOPERS.
This is always a topic of debate for project managers: Should they just focus on pure project management activities such as reporting, cost and issue tracking, or should they also dive into ground-level review and design? There is no correct answer. Even the biggest project depends on the success of the smallest components. Every detail contains a seed that can mean the difference between success and failure. On relatively inexperienced teams, project managers must be involved in the details for key activities. This will help them have better control of the effort as well as provide true status of the project to stakeholders. PM
Sunil Kumar Ojha is a Melbourne, Australia-based portfolio delivery manager for operational support systems fulfillment at Infosys, a consulting and IT firm.
Krishnaprasad Bannanje, PMP, is the head of client engagement and business development for the embedded mobility solution group for North America and Europe at Neusoft, a software development and IT services company in Dalian, China.
PM NETWORK FEBRUARY 2012 WWW.PMI.ORG
FEBRUARY 2012 PM NETWORK