There’s many a slip between identifying a business requirement and delivering a solution to that need.
Businesses and researchers have generated abundant evidence that a huge proportion of IT project management efforts are badly managed, deliver sub-par results and wind up wasting plenty of money, time and resources.
That less-than-pretty picture definitely holds true for enterprise application development efforts, according to a new white paper from software authoring tool maker iRise on contributors to enterprise application failure.
The white paper sums up the results of a survey conducted for the vendor by IDG Research. The document identifies three key challenges IT leaders must overcome to improve enterprise application development projects. And of course the findings – at least the non-software-specific ones – probably apply to many other types of projects too.
According to the research, about 27 per cent of enterprise application projects are delivered late, 21 per cent run over budget and 16 per cent fail to deliver what end users expect.
Just over half of survey respondents identified faulty requirements gathering at the start of a project as a major cause of failure. Just under half identified poor collaboration during development, and a little over a third cited the lack of a way to validate business needs.
A third of enterprise software development projects require rework, according to those surveyed, and that reworking accounts for around one fifth of the money dedicated to software development.
To cap it off, only one fifth of projects receive functional usability testing, thanks to lack of time and/or resources – not to mention the outright absence of a testing process.
The cure starts with addressing business alignment. “IT’s alignment with the business is the challenge that is top of mind for today’s CIOs. Everything starts with communication and proper alignment with the business. Without it, software project specifications are not communicated effectively, leading to failure in terms of schedule, budget, and end-user expectations. In fact, it is the reason why half of software projects fail.”
Business alignment is undercut by the complexity of the applications themselves, the inability of the IT function to assert itself as a project partner, and the difficulty of managing multiple stakeholders.
But the biggest problem is unclear and changing requirements during the software development life cycle. Fixing application requirements gets way more expensive the later it occurs during development. One solution is to adopt a “fail-fast” model so that errors and problems are identified and remedied as soon as possible.
The second major challenge is project prioritization. It is not uncommon for a CIO of a large enterprise to prioritize hundreds of projects—internal and customer facing, mobile, and more traditional software projects,” the white paper says.
“Deciding which of those to prioritize is a challenge, at best. To further complicate matters, CIOs have no way to vet bad ideas early or make educated decisions in terms of scoping and planning.”
The answer here is better communication between the IT and business functions. This enables the software development process to accommodate requirements faster and more accurately, and will support CIO efforts to minimize risk, react quickly to market changes and get projects done faster.
Thirdly, mobile application development is becoming a bigger and bigger challenge for CIOs. “Forty-two percent of survey respondents say mobile application development is a high or critical priority,” the report says. “But while 60% say usability is a key priority in execution, 40% say they have no process in place for functional usability testing.”
The solution is a three-parter: Business and IT must communicate clearly from the start, and development teams have to keep user experience in mind throughout development. Also, CIOs need to build a software development process that fosters better communication and offers realistic simulations in order to increase efficiency and adoption.
Static documents and wireframes aren’t good enough to communicate functionality and user experience with modern applications. In fact they make failures even worse, according to the report.
“Organizations need an enterprise platform designed to support nearly every aspect of the application development process to transform the way teams define and build software,” the report concludes.
Seven steps to software security
After a decade of news detailing countless successful cyber-attacks, it's hard to imagine a corporation not understanding they need a software security solution. Unlike implementing software quality assurance, the processes that go into making applications more secure are still relatively immature. As well, ownership for the security of software in an organization is not always consistent or clear.