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)



 
1500
Type the word for the number 5.
Notify me of new comments via email.
Remember my form inputs on this computer.

Building a Business Case for Your Project

Ball of business documents

To get stakeholders or management to approve your project, you will need to build a solid business case. Here are the basic steps for creating a business case.

Managing The Project Time

Man pointing at an alarm clock

Project managers should know the iron triangle of project management, sometimes called the triple constraints of project management, because all projects are constrained by these elements.

Resourcing Project Managers

Project manager jobs advert in a newspaper

Ironically, although resourcing production team members is a significant part of a Project Manager's role, very little focus is placed on resourcing the Project Managers themselves.

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

Samara Grantham commented on…
12 Tips for Being a Good Manager
- Thu 1 December 2:46pm

Adolfina commented on…
Introduction to Project Management
- Mon 21 November 9:52am

Edward Brown commented on…
Project Status Reports Everyone Can Understand
- Wed 16 November 3:38pm

Latest tweets

General Project Management • Re: Suggestions for Entering a PM Role Midway Through a Project… https://t.co/fqpFaMW8Ho #projectsmart #pmot about 1 day ago

General Project Management • Re: Looking for Project Management Software That Includes Database… https://t.co/9If2UMXf2n #projectsmart #pmot about 1 day ago

General Project Management • Re: Project Resource Capacity Planning https://t.co/BdYncqyeww #projectsmart #pmot about 2 days ago