Software Projects – Is Happy Ever After Just a Fairy Tale?

Although my New Year brought a resolution to be more active in all things online and digital, including this blog, a surge of work has seen off my first attempts at regular blogging. The cause of my late working nights was hitting an immovable deadline on a large project for a large client.

Despite the best of intentions and any amount of detailed planning – and there was a very large amount of planning on the project in question – the corporate culture of the company and the specific chemistry of the people involved are the key determinant in what gets done and how it is organised. Whether you wish to label what we ended up doing as Agile, the reality is that the requirements drawn up in advanced of the project did not reflect the real business needs, nor the working practices of the client – and this is very common, of course, in organisations where business units operate in silos, separated from everyone else.

Thinking on the combination of forces that have lately made my wife a work-widow, not to mention my children, I am moved to reflect on the inherent conundrum of a complex technical project, particularly the gap between the perception of how projects work, and the reality of how they need to work:

Misconception #1 – a technical project is technical and therefore controllable – the parameters are known and it is simply a matter of realising requirements.

Reality check #1 – a technical project is a creative project – creating a good system means flushing out as yet unknown information about how people do their everyday tasks, and how best to engage them. It is entirely possible to satisfy all requirements and yet produce a system that noone wants to use.

Misconception #2 – the key to a technical project is detailed planning – if you get the plan right, then you get the project right.

Reality check #2 – detailed planning works well in projects where both client and agency are familiar with the development process and can be assured of no nasty surprises. However, if end users have not been involved in drawing up plans, then there will inevitably be a large number of questions that have not been properly addressed. If your end users aren’t on board and involved, the system can never be a success.They key to success here is for both parties to remain flexible. Where flexibility is most required – massive amounts of paperwork means massive amounts of paperwork to be constantly re-written.

Misconception #3 – the success of the project rides on the product – if the technical implementation is good then the project will be successful.

Reality check #3 – the success of the project rides on the cooperation of those involved – particularly the project managers for the client and the agency. The system created is simply a vehicle to allow people to interact in certain ways – ignoring those interactions means failure.

Fortunately, on the project in question, the chemistry of the project teams has been good, and the outcome has exceeded expectations on all sides. This is particularly satisfying in such a complex project where so many paramaters have changed throughout – I have certainly had occasional experience in my career of projects running on the other side of the rails. From these experiences, I would say that the following are the most important issues to address in order to run a successful technical project:

  1. Get the right project manager in place. They need to command authority, be organised and efficient, and, most importantly, work sympathetically with all parties involved. Ideally, they should be given the ability to make tactical decisions to keep the project running even when the associated stakeholders are not available.
  2. Focus on the end users and the end user experience. Whilst business drivers must be kept in mind, the ultimate success of the system will be dictated by how it is used, which is in turn dictated by how easy it is to use. This consideration must be included in the plan – end-user workshops and so on.
  3. Plan ahead but build in lots of flexibility and contingency for the unknown. A good project is a learning process for all concerned – and the ability to change direction, at least in terms of the specifics of implementation, is crucial.
  4. Put lots of effort into building trust between the various parties involved. Agencies should be in a position to satisfy the client’s real needs, not just the needs identified in advance in the requirements. At the same time, clients must recognise where that involves extra work that may impact budget and timescale, given sufficient warning by the agency.
  5. Recognise that during the course of a new project it is only possible to keep control of any two of the following three: specification, timescale, budget.

Technical software projects often have a bad reputation for financial and time overrun, fuelled in no small part by the high-profile failures of systems in the public sector, and in particular in defense procurement – this is not the whole story, however. With the right processes, and most importantly, people in place, it is entirely possible to reach the end of a technical project with the nice warm glow and feeling of a job well done, have created something new and useful. This requires trust and understanding between client and agency more than anything else – and where these are present, there should be little fear of failure. You don’t need a fairy godmother to get a happy ending to a software project – but a good project manager helps.

Advertisements

About jonallenby
I'm the co-founder and Technical Director of a new media agency - Lime Media. I would describe myself as having a healthy scepticism about technology - new ways of doing things are always new, but they are not necessarily better. Best to cut through the hype and think about how technology will physically change people's lives, for better or worse. I am also struggling to finish a part-time PhD in language, metaphor and philosophy at Goldsmith's College, University of London. Apart from thinking and reading, I like playing with my children, cross-country running and White Crane Kung-Fu - though usually not all at once.

2 Responses to Software Projects – Is Happy Ever After Just a Fairy Tale?

  1. Adam says:

    Jon – these are very wise words! I have tried to emphasise some similar points on my project management page: http://www.formdigital.co.uk/work/project-management

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: