Rethinking the software development lifecycle
The Performance Technologies Group
- Visual and natural programming for non-programmers - a false hope?
- The pattern perspective
- Designing and building reliable software
- Debunking the myths of IT development
- Rethinking the software development lifecycle
Category: development | Author: Craig Errey | Date: 07/07/2005
The opportunity for IT to finally deliver a strong return on investment
It’s generally accepted that around 50 - 80% of all major IT projects fail - over budget, late, missing requirements or poor user acceptance. Failures are often blamed on insufficient time or money, bad requirements, bad technology, not enough testing, stupid users or management without any vision. The ‘solution’ has been to throw more and more time, money and technology at it — all to no avail.
These issues are merely symptoms, not the real problems. Why? Let’s take a look at the way traditional IT development is handled.
The traditional IT development process
First, the business creates high-level requirements, against which technology or a vendor is chosen. The vendor makes claims about capability and with price pressure from the market, cuts out important requirements, user interface design and testing components to win the job. The revenue shortfall is made up with an endless series of change requests later in the software development lifecycle.
Next, the system architecture is defined and we move straight into build. At some point during the build the user interface is tackled and various static prototypes are shown to the executive team. Now start the endless iterations. Until this time, the business has seen no meaningful output. Even though the only thing people can relate to is the user interface, it is one of the last things done.
Meanwhile, developers wrestle with filling in the requirements gaps because the business has been unable to precisely and unambiguously specify what they want, and no effort has been spent on defining them accurately. The unrealistic timelines and budgets will ultimately mean that numerous critical functions will have to wait until future releases.
Beta testing then shows that end users don’t get it, leading to endless back-peddling as the development team struggle to figure out why and how to fix it.
Time, money and technology have all been thrown at the problem, and things aren’t changing. Techniques like Extreme Programming and Agile development methodologies won’t help either. Without the right blueprint, all these methods do is let you deliver poor technology, quicker than before.
Then IT and the business get caught in a vicious cycle with both contributing because neither knows the way out. Business becomes jaded by IT’s inability to deliver, while IT is frustrated by fickle management changing their minds all the time. As we know, if you keep doing what you’ve always done, you’ll keep getting what you’ve always done.
This vicious cycle has two fundamental causes:
- There is no focus on getting the design of the User Interface right, from the beginning. To the user, the user interface is the application. It governs how the entire application operates functionally and how it supports people work practices.
- Requirements are expressed in ambiguous statements of intent. There is no clear and unambiguous ‘blueprint’ that provides a clear line of sight between strategy and application behaviour.
In this traditional model the process means the executive and end users don’t see anything tangible for a long time — i.e. the user interface. After all, you don’t take the executive down to the server room to stare at the hypnotic qualities of the flashing lights, or let them ogle in wonder over the coder’s shoulder. The only thing they can make sense of is the user interface.
But even if you get all of the steps right, and capture the best business requirements, and have the best system architects and coders money can buy, the project will still fail because the user interface is done so late in the development lifecycle.
There is an entirely new approach to software development — one that directly addresses these flaws, yet works within established software development lifecycles.
A development lifecycle that works — creating the blueprint
Our new approach to the software development lifecycle, PTG’s Integrated Modelling and Design™ (IMD™) produces a blueprint for the application, up front and in totality. It takes the existing steps we all know and re-organises them to provide clarity of the end goal we’re all trying to achieve.
In the same time taken to document business requirements and select a vendor, in the new process the user interface has been fully defined. The blueprint enables executives and users to see and test the user interface in a prototype within weeks, not months or years. Testing then confirms the design and buy-in for the project is achieved — before either a line of code is written or a software vendor spoken to. This process creates a clear end goal that everyone can relate to.
However, this process only works if you couple it with a structured, systematic and scientific design process, namely PTG’s XPD™ High performance user interface design process. Without such a methodology, user interface design is iterative and takes time to figure out what works and what doesn’t.
With most technology solutions to business challenges, the problem is not with the technology itself or the underlying application logic, the major failure is with the user interface. As far as the end user is concerned, the user interface is the application — if they can’t use it, they’ll go back to their old ways, including their Excel spreadsheets.
IMD™ provides clarity and understanding to IT projects. Seeing the goal in its entirety enables appropriate decisions to be made about the actions required to get there. Used with XPD™ high performance user interface design, we make technology work by getting the design right the first time.
Our process ensures:
- Clear communication of functional and non-functional requirements
- Choice of the right technology solution
- Vendor accountability to the blueprint
- Delivery in 50% of the time
- On budget
- It works properly, the first time
In this environment, IT is able to provide business a significant return on investment. There is no need to wait years and multiple releases to get the application you need now to capitalise on business and market opportunities. If you’re sick of the vicious cycle between IT and business — then it’s time to do something different - get it right the first time with PTG Global’s revolutionary new software development process — IMD™.