Project Smart ~ Exploring trends and developments in project management today

Calendar icon
Adobe PDF icon

Successful Software Development: It's Not Rocket Science

~ By Duncan Haughey

Bearded man with a laptop thinking about space

Sometimes I wonder: after years of software development, has the way we work developed apace? Sure, technology has evolved, but has our approach to running software development projects?

Users remain baffled by techno-speak. Developers prefer to invent rather than reuse, and think they know what is best for you before you tell them what you want. Projects often miss deadlines and exceed budgets.

Just look at the Ministry of Defence, who wasted nearly £30m on two IT projects alone. The first project, a communications system for the RAF, was abandoned because of problems integrating it with other systems; £21m was already spent, and thus was simply written off. The second project, a pay system for the Navy, was closed when it became apparent the project would cost three times the budgeted amount of £18.9m. By then, £8.7m had been spent, and this too was written off. ¹

Avoiding the common pitfalls of software development is not rocket science; it's simply a case of taking a few sensible measures. Identified here are five killer mistakes made by software project managers:

1. Getting the Requirements

The Mistake

One of the cardinal sins in software development is rushing into a project without taking the time to understand what the customer wants. This is one of the most common mistakes and is responsible for more failed software development projects and unnecessary rework than anything else.

The Solution

Get the customer requirements first and then fit the solution to those requirements. Avoid the "we know what you need" syndrome that still exists among some developers.

It's a good idea to use a business analyst to gather the requirements, as they take an objective, non-technical view of what the customer wants.

It's all too easy to get railroaded into coding before fully understanding the requirements, but time spent up front with the customer will prevent much pain and rework later.

2. Understanding the Lingo

The Mistake

Have you ever stood next to a group of software developers and wondered what on earth they were talking about? It sounds like a foreign language, and to non-IT people it often is. The pitfall comes when the customer and IT think they are speaking the same language when, in fact, they are not. This confusion leads to a problem when the IT department delivers what they understood the customer wanted but not what the customer actually wanted.

The Solution

Communication problems are the hardest to resolve, as you often only see the problem after looking back. Regular communication and a close working relationship with the customer will help. What you need is a person with a foot in both camps; someone who understands the business and IT equally well. If you can identify this person, make sure you keep hold of them; they are hugely valuable. If you are unable to find this person, the next-best alternative is to have two people, one from the business and one from IT. By working closely together and sharing information, they can mitigate any potential communication problems.

3. Managing Expectations

The Mistake

Often there is the expectation that IT is like a magic wand: you wave it, and suddenly a miracle occurs. During a software project, expectations can inflate to a ridiculous degree. It is the role of the project manager to manage expectations.

The Solution

One way to avoid inflated expectations is to break a project into smaller pieces or phases. I equate this to a sausage machine, where you feed in the raw material at one end and it emerges at the other end as small, perfectly formed packages or sausages. The same can happen with software projects: you take small packages of requirements and push them through the machine, producing several deliverables over the life of a project. This way you manage expectations by making frequent deliveries that demonstrate what the technology can accomplish. This approach ensures the project meets the customers' expectations by giving them early visibility of what you are building.

4. Prototyping

The Mistake

Customers often find it hard to articulate their requirements; many people are only able to clearly state what they want once they see something to kick start their thought processes. Building a system when you are not clear on the requirements is a grave mistake. If the developer does not understand the requirements, it is likely that this discrepancy will not become evident until late in the development cycle.

The Solution

When there is a lack of clarity about the requirements, prototyping is an effective technique. A non-functional prototype can be produced quickly and cheaply in order to help you elicit more detailed requirements from the customer. This allows the developer to test their understanding of the requirements and avoids waste and rework later.

5. Testing Comes First

The Mistake

If the customer tests the software and finds a high number of bugs, however minor, you will lose their confidence, and it is always harder to rebuild customer confidence once they have had a bad experience. It is easier and more cost-effective to test the software thoroughly for bugs before giving it to the customer.

The Solution

Use professional testers to test the software, as these testers will look at the software from a user's perspective. Never ask the person who developed the software to do the testing; they already know how the software is intended to work, and they will not be objective. You need someone that comes to it fresh and asks: is this logical, is it intuitive, does it work, and does it meet the customer's requirements?

You can demonstrate the software to the customer before testing it, but do not give them unfettered access before you have completed the testing.

Finally

Research in April 2003 for Unilog, the independent pan-European IT consultancy and services company, found that 100 percent of IT managers had experienced a project that failed to meet all of its objectives. The three primary reasons for these failures were:

  1. Lack of proper ties between IT and the business
  2. Expectations not properly set
  3. Inadequate project scoping

If nothing else, concentrating on these three aspects alone will give you a good chance of success.

Don't become the victim of a failed software project; put measures in place that will ensure your success. After all, it's not rocket science!


References

¹ MoD Wastes £30m on Failed IT Projects, Jane Wakefield, ZDNet UK.


Comments

Be the first to comment on this article.

Add a comment



(never displayed)



 
2000
Enter the word five backwards.
Notify me of new comments via email.
Remember my form inputs on this computer.

Extreme Project Management

The running back dives for the first down with the defender on his back

Three war room strategies to try when you need to bring life back to a dead project, or save an engagement that is on the brink of disaster.

The Art of Project Scheduling

Project plan and schedule

The art of project scheduling is based on experience and the more experience you have, the more accurate your schedule will be.

Resolving Project Team Conflicts

Two women having an argument in an office

Conflicts on project teams are a fact of life! Only on rare occasions do conflicts not arise. As project manager you must manage these conflicts.

But What is Best for the Customer?

Four business people's hands holding puzzle pieces

Ideally our project management methodology in a box process works perfectly for everyone. But clients come in all types and sizes and one size doesn't fit all.

PROJECT SMART is the project management resource that helps managers at all levels improve their performance. We provide an important knowledge base for those involved in managing projects of all kinds. With weekly exclusive updates, we keep you in touch with the latest project management thinking.

WE ARE CONNECTED ~ Follow us on social media to get regular updates and opinion on what's happening in the world of project management.


Latest Comments

Tery A TENNANT commented on…
A Brief History of SMART Goals
- Tue 14 August 4:21pm

Guru Kalle commented on…
10 Golden Rules of Project Risk Management
- Mon 13 August 11:09am

Andrew commented on…
A Brief History of Project Management | Project Smart
- Tue 31 July 4:08pm

Latest tweets

10 Golden Rules for New Project Managers https://t.co/SDOKJ52rWy The job of project manager is a challenging one. H… https://t.co/1yL58KL9qb about 15 hours ago

General Project Management • Project Manager: A Professional Who Wear Many Hats https://t.co/gBKCbSCRVM about 1 day ago

Project Manager: A Professional Who Wear Many Hats https://t.co/FzgksIqNiX #pmot #projectsmart about 1 day ago