Software developer — plan before coding
Common mistake
Software developers love to code, this is great.
However, many developers are given a task and rush to code without a plan — this is a mistake that might cause the project to fail or take way too much time to finish
Common tools for planning
- POC — Proof of concept
- Specification document
- Design document
POC — Proof of concept
POC is a quick and dirty code sample that proves an idea that is crucial for your project\task
For example, suppose you need to build a website that suggests flight tickets. You need here an external API, but without an external API, you don't have a website.
So you need to search the internet, look for an API and check it in a small code sample to see that it is working. However, if you do not find an API you can not build your website!
Specification document
The specification document is all about what to do.
For example, suppose you need to build a website. In this case, the specification document will minimally include:
- web site functionality e.g. login, logout, send an email, …
- wireframe for each screen
- actors: anonymous user, registered user, admin
Design document
The design document is all about how to do
For example, suppose you need to build a react client. In this case, you should plan your: components name, props, states and write them in the design document
Another example, suppose you need to build also a server with MongoDB. In this case, you need to plan: the rest API endpoints, collections, documents and write them in the design document
Quality of documents
I consider a specification\design document that I write to be of good quality if I can give them to another developer and he can implement the task\project without asking a single question