I have always talked about the dynamic aspect of software projects in great detail in all my recent posts. We have seen that software projects by nature are not a systemic and certain procedure. Owing to the unique nature of problems and hidden attributes associated with them, every project is unique and pose a fresh set of challenges. What is the most certain aspect in any software project is that they have a fixed start and end schedule and involve diverse team players with variable knowledge and expertise level. This makes their management and systemization all the more challenging. These challenges typically surround software project estimation causing them to not be completed within the scheduled date, exceeding the budget, facing project creep and scope change over time. Various such issues lead to an IT project failure with financial loss and brand attrition.
Here I will focus on some of the major causes which lead to an IT project failure and try to provide solutions to them.
Inability to Obtain Information on Time
In a fast paced project environment, project managers may not be able to update the project schedule as he might get busy with managing other project related concerns and resource allocation. Additionally, if the PM is working on multiple projects he would face time crunch. Resources are also shared across multiple projects. All of this leads to incomplete updating of task schedules. Executives do not have visibility of the entire enterprise project. Neither are they able to view the project schedules real-time or view the project report. This makes the management incapable of re-directing effort or project cancellation if it goes awry. Even the team members are unaware of the daily task or task priority if involved in multiple projects. Inability to obtain the most needed information at the right time by all the stakeholders (project manager, management and team member) leads to confusion and poor visibility of project priorities.
Poor Resource Allocation and Team Support
If a project manager allocated to handle a project does possess the correct level of competency required to handle the project, it is sure to be doomed. Project managers are chosen on the basis of their availability. Lack of adequate support from all departments may also cause project failure. Team support is critical for project completion. Inability of the manager to establish task allocation, personal rewards, evaluation of personal contribution and goal synchronization (team and project goals) may lead to poor collaboration for project success.
Poor Requirements Gathering Leading to Poor Software Estimation
Using poor requirement gathering techniques may screw up the project in end. Requirement gathering techniques include requirements elicitation through use cases, reports, interface, user screen design specification, etc. There are various details to be captured in the process of requirement analysis stage. Poor requirement analysis leads to inaccurate and faulty software estimation. There can be cases of either over or under estimation. This results in project creep in the future leading to cost and time overrun, but also affects the brand name of the company in the competitive landscape. The client would think twice next time before allocating any other project to the software development firm which overshoots time and budget. The software development company suffers too as a scope creep means increased work pressure, poor motivation of team and even project failure! Requirement analysis techniques and hence software estimation capabilities should be strong enough for exact project scoping, budget decisions and delay prevention.
Communication is extremely important for project success. Lack of proper meeting and communication between various team members may lead to poor schedule maintenance and may not keep all the stakeholders on the same page. This may result in goal disorientation. Regular communication ensures the team goals and project goals are in sync with each other. Generally emails are the norm for maintaining communication between various stakeholders. Many times all members do not get covered in the information loop or miss out on a piece of information due to the sheer volume of information sharing involved. Precious time also gets lost when team members are sifting through heaps of mail.
- A centralized visible location of project schedules would enable all the major stakeholders to view project schedules (either in a network folder or an extranet solution having access permission rights set). Using enterprise project management software can come in handy for this purpose. It enables managing projects in a single database enabling team members to even access the database remotely if the project management software is web based.
- The business analysts should be well trained for being able to do the correct requirement analysis. It is essential to have clearly defined goals for projects to prevent scope change in future. Good requirement analysis can lead to well defined project scope.
- The software estimation process needs to be standardized and easy so that not just a trained expert but any developer in the team is able to software estimation with same level of accuracy and expertise. There must be a mechanism which creates clear and detailed estimates with clear description of effort distribution across screens and developers.
- The project manager should be in greater control of the project and should know exactly how much time and effort each use case, validation and test case would take.
- Further project monitoring is required to ensure that the team is within scope. If project creep occurs, request changes should be analyzed to provide a fresh estimate of schedule and cost. There should be a system in place supporting and tracking the scope change – this would also assist in auditing performance before and after project completion.
- The right project manager with the correct competency set should be assigned to a project. From the very beginning, he/she should rope in the entire team to discuss project details and its importance. Discussion should center around project goals, individual contributions, evaluation mechanism and personal rewards on project success. Focus of the PM should be to synchronize individual and project goals.
- A centralized communication channel should be established to facilitate communication between various stakeholders. A web based system or meeting software can be used for this purpose for project related task communication. The software can post all important project related information at one location. Centralized communication is helpful typically for client facing projects for resolving questions and problems concerning projects – goals, scope, important steps achieved etc.
It is always good to make use of software to automate software estimation and project management because it not just automates but standardizes project management lending greater flexibility and reliability. However, the correct choice of software is a critical task. Entire team members should be comfortable using it. Hence, effective training should be given to ensure proper utilization of such a solution.
We frequently use our software estimation tool Quick FPA for creating quick and reliable estimates for software project which enables project managers for project management.We as experts do it for organizations or enable organizations do it for themselves with our support. Register at www.quickfpa.com for greater details about the tool and receive an invite for the same.
“Project-Skills.Top 7 Reasons For Project Management Failure.”Project-Skills Website. 26 February 2015
Schiff, Jennifer L.
“12 Common Project Management Mistakes–and How to Avoid Them.” CIO Website. 26 February 2015
West, Cynthia, K.
“Four Common Reasons Why Projects Fail.” Project Insight Website. 26 February 2015