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.


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!


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


Be the first to comment on this article.

Add a comment

(never displayed)

Is it true or false that twenty is a number?
Notify me of new comments via email.
Remember my form inputs on this computer.

Tracking a Risk

Dial showing three levels of risk management

Risk management is a vital part of project management. Learn four key steps to help you evaluate and mitigate any risks on your project.

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.

How to Avoid Project Burnout

Exhausted businessman resting on a pile of paperwork with tongue hanging out from overwork

Resources on projects can be susceptible to burning out before the project finishes. Here are a few ideas to prevent burnout in project teams.

Project Cost Management

Pile of British one pound coins

How do we know what a project will cost? We really don't until the project is complete because we can't accurately predict the future. What we can do is create an estimate.

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

Kelsey commented on…
How to Create a Gantt Chart Using Microsoft Excel
- Wed 9 May 3:41pm

Tor Christensen commented on…
Understanding the Project Management Triple Constraint
- Sat 21 April 7:17pm

Bukky commented on…
Project Management Success with the Top 7 Best Practices
- Tue 17 April 8:55pm

Latest tweets

General Project Management • Project Management Software/Program about 3 days ago

General Project Management • Re: Identification System for Project Management Methodology about 4 days ago

General Project Management • Re: Project Management Interview With Presentation about 4 days ago