I’ve seen hundreds of thousands of pounds wasted during the development and implementation of software projects. It doesn’t matter where you go, people are wasting time & money - which is why so many projects fail.
There are methods that can be employed to reduce the risk of this happening to your next project and increase the chances of you, and your customers getting what they want.
Success criteria
The first question to ask is: What are the objectives that have to be met in order for the system to be a success? With nothing to aim for you will not know whether or not you have been successful.
Set some high level objectives such as ‘A customer will be able to buy products through the store’. Try to keep them brief and have a small list of objectives. This is a good way to know if work completed during the project is fit for purpose and that what you are building actually adds value to the system and meets your objectives.
Scope
You must outline the scope at the start of the project; not only the requirements that the software must meet, but also the requirements that are not going to be included. It won't be possible to list them all, but it’s useful for clarification purposes; especially to prevent wasting time discussing topics that are not relevant to the project.
Requirements
Once you have defined the scope you are ready to capture your requirements. First of all decide on some high level requirements the system should provide. From there you can define the deliverables by going more in depth and defining low level requirements. At this stage you might be thinking about possible technical solutions but it is important to have written down what the system is going to do, not how.
The requirements should be based on facts given by business experts. If you have to make an assumption then state that you are doing so. Assign somebody to take away these assumptions and turn them into facts before you carry out any work on them.

Prioritisation
Not all requirements are equal. It’s unlikely, for example, that requirement 3.2 is of equal importance to requirement 5.2. One may be integral to the functioning of the system, whereas one might be a user experience consideration. Applying MoSCoW to them is one way of prioritising them and working out which requirements should be completed first; it may also help you decide which requirements could be dropped if there are time/budget constraints.
Business contact
It’s unlikely that the people developing the software will have as good knowledge of the business area than the person they are creating it for. The business must lend themselves to the developers throughout the project. Lack of consultation with business stakeholders is a real problem for IT companies as customers expect for a project to just be ‘done’. The project must take a collaborative approach in order to produce the best possible outcome and meet the objectives.
Good Data
Another side to development that people often neglect is testing. Testing is notoriously squeezed in at the end of a project, as an afterthought. One way to avoid this is to provide adequate test data. Providing sets of test data close to real life scenarios will ensure that all scenarios can be catered for. Don’t always think about the positives, think about what the system should do if something goes wrong during a process.
Identifying the risks
Identifying risks is not a negative exercise - because all projects have them. If you find out what the biggest risks are and seek to mitigate them early on then you give your project that little bit more chance of succeeding.

Plan your project
Before your project begins it’s important to estimate the length of time the project is going to take. This means you can plan your availability around it and get an idea of a delivery date. Make sure the plan includes contingency. There are few big projects that are completed to the agreed timescale but knowing you have some time in reserve makes it more achievable to delivery by the agreed date. Once the project in underway you must constantly review your progress and replan. Use milestones to evaluate how well you’re doing compared to your original plan.
How do you achieve the above?
There is clearly a lot to be done before you even start your project but what is recommended is that you call agencies such as Born Digital to setup a workshop.
The workshop will allow you to acheive all of the goals set out above. At the workshop will be 1-2 representatives from your business, a business analyst and a project manager. A business analyst will capture all the requirements and the project manager will plan how the project will be delivered. This information will be shared with other stakeholders and the developers on the project.
Author: Steven Jones: a freelance web developer in Newcastle, specialising in business analysis (through workshops with born digital), project initiation and requirements gathering.



Comments
There are no comments
Post a comment