LOG IN OR SIGN UP
Log in to your account
Sign up

Create A Comprehensive Software Dev Spec

18 November 2016 | 0 comments | Posted by Che Kohler in nichemarket Advice

Create A Comprehensive Software Dev Spec

So you've identified a bug, want a new feature or want something changed on your site and it's above your skill set. It has to go to a developer or through the development process. From my years of experience, talking to developers, site architects, product managers and scrum masters can be a painful ordeal. Conveying the business requirements and what is required in terms of delivery can be a slow process of insanity by means of constant repetition and iteration that could and should be avoided. Completing a dev spec or software requirements specification has many methodologies and creating one isn't a set science. Many times the business owner or department manager isn't aware of the methodology resulting in things left unsaid or lost in translation.

Dev Spec For Startups

Hence the need for a product or project manager to bridge the gap. If you don't have the luxury of one as in a start-up, creating a clear concise dev spec will really help speed things up and save you a lot of stress. In the start-up environment, whether you're being bootstrapped or have received investment, you're going to have non-technical people in close proximity to developers. This can cause friction that leads to something bigger and let me tell you that's a fire you want to put out immediately. It will cost you time, money and arbitration. So in the interest of start-ups everywhere we thought we would put together a simple dev spec process that you can follow to help speed up production.

The start up dev spec list

1. Purpose

Start by telling them who the task or product is meant for and clearly set out who will be the end user of the product. Will it be used by a site user, signed-in user or an account holder. It could be for internal use by one of the businesses departments, like marketing. Will it be externally used by a supplier, a third party like an affiliate or will it have multiple touch points. Set out all the users who would be affected by this task feature. Then dive into what is the reason you need this task done, what would the benefit be to the user or the business.

2. User Cases

Define the task into a stream, is it a new feature, bug or improvement on an existing feature. Begin by describing the current use case, how each user mentioned above interacts with the product and where their issues lie. If there isn't already a process in place you can directly describe what your ideal situation would be, how you want the task to be and the action you want it to perform. If it's a bug give the step by step process on how to reach the bug. Answer the question what do I have to do, for the site to "break" in a sense.

3. System Requirements

Explain what systems you have in place needs or lacks to execute the task. Is this system being upgraded, replaced or removed altogether. If so will it affect the connections with other systems in your environment. Then explain which modules it will be affecting, like the tasks that system normally executes. Is it your tracking, your booking engine, your conversion funnel, you're login flow etc.

4. System Interfaces

Here you will explain to the developer which systems need to talk to one another if any. Which systems may be affected, removed or put on hold for this task. Which systems would require new integration for this new task to make sure there isn't a knock on effect and ensure harmony in the environment as far as possible.

5. User Interfaces

Here you will indicate if there will there be changes to the user interface and what they would be. Will it be a button change, a colour change, adding a text field and what requirements UX would need to make sure the front end can be defined accordingly, additional libraries, new scripts, or CSS.

6. Data Capturing/Database Requirement

Specify what data needs to be captured by this task and does it get captured and sent to an existing database or is there a need for a separate database to be set up. What are the requirements for the data to be captured. From which systems does the data need to be captured. Which other systems need to have access to the data or which systems current data streams may be affected.

7. Constraints and Dependencies

Illustrate if there are any prerequisites that need to be fulfilled first for the task to execute. An example would be a user interaction needs to take place, like logging in, or an earlier cronjob like a data dump needs to happen first.

8. Security

Set our rules and restrictions if you're capturing any sensitive data, please make ensure this is covered by your task. Specify to whom the data is made available too if anyone at all. If the data should be encrypted and what safety measures you may want to put in place to access the data.

Remember!

This structure is not set in stone and some steps can be left out or others added to suit your business model and set up. Now that you have a clear path on how to brief in your next task or feature we hope you use it to create some awesome websites.

Contact us

If you want to know more about development specifications don’t be shy we’re happy to assist. Simply contact us here

Tags: How to

Previous: {{ previousBlog.sTitle }}

Posted {{ previousBlog.dtDatePosting }}

Next: {{ nextBlog.sTitle }}

Posted {{ nextBlog.dtDatePosting }}

You might also like

How NGOs can take advantage of digital

How NPO’s can Kick-start their Digital Efforts

06 July 2017

Posted by Liyaqat Mugjenkar in Industry Experts


Liyaqat Mugjenkar, gives us some practical advice on how NPO’s can kickstart their digital efforts and start moving into the modern era

Read more
Earn Cryptocurrency by posting photos

How To Earn Cryptocurrency With Your Photographs

22 May 2018

Posted by Che Kohler in Money Talks


Step aside Instagram, blockchain-based photo sharing applications are now paying users in cryptocurrency to share their photos.

Read more

Leave us a comment


{{comment.sUserName}}

{{comment.iDayLastEdit}} day ago

{{comment.iDayLastEdit}} days ago

{{comment.sComment}}

Sign up for our newsletter