Written by Huw Price, Managing Director, Grid-Tools
It’s a staggering statistic but over 60% of IT projects still fail in that they either run over time (74%) or incur more cost to complete (59%) with an average of only 69% of the functionality of the product actually being delivered. For larger projects it’s even worse. According to the Standish Group’s ‘Chaos Manifesto 2013’, failure rates for projects $1m+ are as high as 93%.
The question is, why? Surely with all of today’s sophisticated processes, tools and technologies, one would have thought that these issues would have been ironed out by now?
All too often problems boil down to scope creep on projects with poorly defined requirements and the costly rework of defects found late in the software development lifecycle. Unbelievably, only 4% of software projects actually have precise objectives from the outset. Development teams don’t specify clearly enough what the product requirements are which leads to rounds of test iterations requiring specifications to be adjusted time and again. In fact, over half (56%) of defects can be traced back to ambiguities in requirements. Despite this programmers continue to receive poorly defined requirements from business analysts, which results in degrees of interpretation which in turn creates defective code. More defects means more rework. It also makes it harder to communicate what actually needs to be tested by the testers.
Another issue is that some software projects are just too large to succeed. With such scale involved it becomes difficult to understand the requirements for the various work streams of the project. If these large-scale programmes were split down into smaller more agile projects ($1 million or less) this would make them almost twice as likely to succeed. Even so, it remains difficult to achieve complete success. This agile approach to software development makes it easier to deliver back to the business in shorter timescales. It also helps to prevent defects, which often end up destabilising IT projects.
Getting software development projects delivered on time and in or under budget is a key priority for every enterprise. Often, testing is outsourced in an attempt to reduce costs. But for all the reasons I’ve outlined above, inevitable rework and delays cause time and material costs to quickly spiral. CIOs and IT teams need to be able to more clearly define their requirements so that together they can agree upon a fixed priced contract and a systematic way of enforcing SLAs with outsourcers so that if any delays or overruns occur there are penalties for the outsourcer.
This is one of the reasons that we have just launched our new product Agile Designer™, a visual logic design tool. Agile Designer is specifically designed for testing and project teams to storyboard a requirements process flow chart, and helps individuals to manage their logical thinking, whilst removing the ambiguities that arise from written specification documents. All IT project teams – both internal and outsourced – can quickly understand specifications from the outset, reducing critical delays in testing cycles caused by miscommunication and ambiguous requirements. Additionally Agile Designer™ helps CIOs to build structured work packages to help outsourcers deliver valuable quality work because they are able to more clearly define SLAs and fixed priced contracts.
As a business we are deeply immersed in the world of testing and I personally have over 30 years’ experience in this area. Throughout my career I have found that large amounts of budget and effort is wasted in the software development lifecycle due to poorly written specifications. Agile Designer™ helps to prevent scope creep by introducing more rigour early on in the software development lifecycle which helps to reduce the number of software defects created and ultimately makes testing much more quantifiable. With Agile Designer™ we are helping our customers to radically speed up the delivery of high quality software, which let’s face it, must be the ultimate goal for every enterprise.