How to Gather Better Requirements for Custom Software Development

Deciding the business requirements when going bespoke can be quite difficult this is because software and business systems can become very complex and as a result there are lots of places where miscommunication and assumptions can occur.

So why is “going bespoke” any different, there are many other industries where a contracted individual creates something for a customer, building construction for instance; for example when you buy a home from a builder.

Usually the builder has various show homes that you can visit and look around, usually they have examples of all of the different options that you could purchase for your new home, and in any case people are generally familiar with houses, they know what to expect and they know what not to expect, so in reality when you purchase a home from a builder there are relatively few choices that you make and the choices that you do make as a customer are things that you are very familiar with.

In software development this would be similar to purchasing a software product that is already built and then modifying it. It’s a fairly low risk undertaking and you usually get the chance to try out a version of the actual software you are going to purchase.

However, custom software development is a whole different “kettle of fish”, It is much more like designing your own house.

When designing your own house there isn’t an example you can go visit, whilst a builder could point out certain features of other similar buildings that you could see, often you are left only with a set of plans or drawings of what the final structure will look like.

It can be hard for the customer to visualize what the finished structure is going to look like, ok you can look at the plans and see that a bedroom is going to be 10′ x 15′ but it is a little more difficult to really get a sense for what that room is going to feel like when you walk in or how the furniture will fit, how quiet it will be etc.

The same is true for bespoke software development. It can be quite difficult for non-technical customers to really be able to visualize the finished system and how it is going to work, and because they can’t really see the completed system in their mind, it can be very difficult for them to explain to the developer how it is supposed to work.

So what should you do? Here are some best practices that can be followed when developing a requirements document for bespoke software applications.

Draw a “model” on paper whenever you can, create examples of how you want your software to work give examples of major functional features so that you and your staff can “walk through” different screens and functions, get a better feel for how things might look and work.

Map out prototypes that walk through complex functionality and “use cases”

Create mock ups of key screens that show as much functionality as possible use something like Visio tm (Microsoft) or Pencil (http://pencil.evolus.vn/en-US/Home.aspx) which is a free open source tool but there are many more

Create annotated visual functional requirements documents. I have written a few functional requirements documents over the years and have found that if your requirements document is entirely text that describes every piece of the system, people will generally just nod their head and say yes to everything.

The truth is that no matter how eloquently you write and how painstakingly you describe your requirements, people by their very nature prefer things to be visual, they need to see it to really understand how it is going to work, where possible you should always add a diagram or flowchart.

Remember you are striving to improve the transfer of knowledge between yourself and the developer. The more the developer knows about your business the better they will understand the problems, the better they will be at describing the solution.

Bespoke software development can be quite challenging, however, with a little work you can make the knowledge transfer between you and developer much more efficient.

Alternatively, leave it to the professionals, get them to do the hard work whilst leaving you to “sanity-check” and simply approve the final requirements.

At CodeSpinner we have over 25 years experience of producing specifications and requirements.

If you would like to get more tips, or would like to receive a free 90 page eBook on Search Engine Optimisation (SEO) please visit http://www.codespinner.co.uk/free-ebook.html

Alternatively if you would like us to discuss your software requirements contact me at:

Tel: 07850 009750
Email: info@codespinner.co.uk
Website: http://www.codespinner.co.uk

Advertisements
Leave a comment

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: