A development project, just like all other types of projects, can not arise from nowhere. A piece of software, a website, a mobile app, an extranet or any other sort of IT dev is meant to deal with a need.

A client rises the will to change their work method or to improve the way to process a task :

  • Find leads quicker with a website
  • Convey in real time with partners via an extranet
  • Organize work in a different manner using paperless office strategy

Before getting started with developing, it’s necessary to formalize the needs of the client, draft specifications and sometime study the feasibility of the project. The size of the project will determine the type of study that is necessary.

Recap of the steps prior to a project.

The feasibility study

It’s about making sure that a project can be made, in development, it will all be about technical feasibility. If we however regard computer science as a discipline in which everything is possible, we can fall back to the fact that technical challenges will lead to financial feasibility.

Example :  can I integrate this new software in my existing system ?

  1. Yes, an API or a SDK is available, the project is technically feasible, and most likely financially too.
  2. No, there’s neither API nor SDK, they can’t be connecter – OR – Yes, there might not be API or SDK, but it’s possible to do it considering a hgher budget

The feasibility study is an additional cost for a project. It might be justified by the financial stake or the odd of the project to fail. That’s why small projects rarely need one.

Detailed study and Specifications Drafting

If the feasibility study proved the project viable, of that latter was not necessary, we can move forward to the detailed study. The goal of this step is to design the solution, detail what has to be done in order to achieve the development of the project. The document issued from this step is named “Specifications”.

The detailed study is often compelling for various reasons :

  • The specifications are necessary to assess the workload, hence the costs and the schedule.
  • The specifications is a contractual element. Once your project is achieved, you can check it against the specifications and make sure of the conformity.
  • It helps to understand your project and the technical stuff.

Prototyping

A prototype in computer development allows to assess the final rendering of the product. It’s different from a beta version, which is more an middle step.

There are two types of prototypes :

  • Horizontal prototyping, it’s the product interface, with no functionality. It’s used to assess the visuals and the ergonomics.
  • Vertical prototyping, only a part of the interface is implemented, and it offers a full given functionality, mostly to test a user case or prove a functionality was feasible.

Prototyping is justified in a big project, but not for smaller ones like for instance a showcase website.

After the study

When the study is done, it’s time to get development started.

At that time, your service provided must have sent you an estimate and a realistic schedule.

If your project happens to be costly, the study can be used to convince investors about the possibilities. You will be more credible meeting a banker if you already conducted preliminary studies that proved your project feasibile and how it has to be done than with a single couple of slides.

When your project is delivered, don’t forget to check it against the specifications.

Conclusion

Preliminary study, and especially the specifications, is the assurance to get a product of quality. If it might sometime look costly, it often avoids unexpected costs or misunderstandings which finally appear more expensive as of the time you will spare (time is money). Other unmentioned point, in the case you might want to entrust a new provider, having specifications will ensure a smooth transition, a faster one, and once more, a less expensive one.