Key findings from several reports have shown that up to 60% of Software / Information Technology (IT) Projects fail because of cost / budget overruns, and missed or poorly delivered functionality.
In this article, I will show you how to prevent that from happening to you or your projects …
Quantify Your Expected Return On Investment
Software projects that are not directed at achieving a quantifiable, observable or measurable economic value are not important by definition.
If you do not take the time to quantify and document the economic value of your IT / software project, why bother with it?
Software Projects by their nature are not trivial.
They require investment in time and money and they tie up valuable resources (business analysts, computer programmers, project managers, software testers, database developers, etc.)
So, it makes sense that you should document the expected return on investment before you expend your time, money or resources on it, right?
Practice Kaizen & Iterative, Lean Software Development
I recommend that you adopt two (2) principles from lean software development; software development work needs to be done in small time intervals (2 weeks) and release working software frequently for business people to interact with.
Doing this can reduce stakeholder / customer anxiety as they see frequent, measurable signs of progress.
Improve Your Users’ Experience – It’s A Sustainable Competitive Advantage
Warren Buffett (the legendary billionaire investor) was once asked what is the most important thing he looks for when evaluating a company. Without hesitation, he replied, “Sustainable competitive advantage.”
Now, here is a shocker for you –
Consistently improving the user experience of your software will give your company a sustainable competitive advantage!
Delivering the best user experience possible with each release of your software should be a high priority for your team.
It is not enough to build your software on time and under budget. Success is delivering a superior user experience on time and under budget!.
Less Is More … Your Go To Market Strategy
This can actually help you because feature bloat and scope creep is a prevalent problem in IT / software projects … remember that more than 60% of these projects fail because of budget / time overruns and / or scope creep.
Practicing the “Less Is More” approach forces you to prioritize and become more disciplined in your approach to software development. It helps you prioritize and pay attention to the features that really matter.
In the end you will build a better software by allowing your users / customers to provide you with real-world feedback before completing the final 20% of features.
Define Your IT Governance … IT Matters
Define the governance of your project and make it plain so everyone knows.
Be absolutely clear about who is in charge of the project: Project Manager, IT Manager, Software Architect, Project Sponsor.
Make sure that your leaders are active in the project and that they fulfill their roles and responsibilities as stated.
Handle Common User Interface (UI) Patterns
Providing a great experience for the users of your software is a high priority.
With that in mind, identify the user interface or user interaction patterns which are repeated throughout your software and design / build them correctly.
Define Your Tracking & Control Systems
Decide what tracking, reporting and control systems (spreadsheets, project management tools, etc.) you will use before inception.
Define who gets what report and at what time in the software development process.
Get Your Data Management & Presentation Strategy Right
Create a robust database design and give time and attention to how you will fetch data to and from your user interfaces (UI) or screens.
Decide how you are going to design and build the middle-tier of your application; whether you are going to use inline SQL or stored procedures or perhaps an Object Relational (ORM) Model.
Choose your relational database management back-end systems, your strategy for bringing data to the UI and the resposniveness / interactivity of your user interface.
Estimate. Don’t Guesstimate
Regardless of your SDLC (Agile, Waterfall, Etc.), prepare time, resource and budget estimates for your project.
IT / software development is a technical endeavor, so don’t rely on a guess or rough estimate from Managers and “don’t fly by the seat of your pants!“.
Instead, let the people that will actually do the work: database developers, computer programmers, business analysts, user interface (UI) developers, etc. provide the estimates under the supervision or guidance of a technical lead / software architect / project manager or IT Manager.
Don’t estimate the development time only.
Include estimates from every phase of your Software Development Life Cycle (SDLC) including: testing / quality assurance time, requirements gathering & analysis time, deployment and release time.
Hire Competent People and Let Them Do Their Jobs
Empower everyone on your project team (PM’s, BA’s Data Analysts) to do their job to the best of their abilities.
Don’t second guess your team members and do keep everyone in their swim lanes.
Make sure that everyone understands their roles and responsibilities and that no-one is so important that he / she overrides other team members contributions, decisions or responsibilities.
Identify the strengths of each team member and then formally assign roles to them for the life of the project.
So, now you have it. Some commonsense principles that will help you avoid the pitfalls of IT /Software projects failure.