Make sure you have a well documented schedule and time table for any project if you are an independent developer.
Although it was not of recent that I discovered the need for a written design document, schedule and plans. But it was until recently that I realized that I do need one. You know I pride myself with having a retentive memory, you know typically all those stuff that classic nerds are known for. So I guessed I kind of dismissed the idea that having a well written design document is not for me. But damn I was wrong.
Ways in which not having a well thought out design document can undermine your effort.
1. Lack of prioritization: This is one of the greatest disadvantage of not having a design document. This is because without any structure to all your work and effort, you will be implementing features on the spur of the moment basis and not on their importance basis. Without structure, your project will be haphazardly developed, without flow and unorganized. Also and most importantly, you will be consistently missing your schedules.
2. Lack of focus: Without a well written design document, I discovered in my experience that I usually lack focus. This is because most times even when you want to work on the project, you will be at loss at what feature set you will implement. And the result of these is lost productivity times and thereby leading to delayed project.
3. Improper implementation of your project feature set: Without a written document, most features in your project will be improperly implemented as it is not well thought out. One good thing about having a well written project document, is that it will help you think about the project that you are developing and on how its features will function under different conditions.
4. Lack of schedule and timeline for further project development and enhancement: Not having any design document often leads to incomplete feature set and can hamper further project development even after the project is completed and shipped and this often leads to having a software that does advance and grow as the requirements of its users changes.
5. Buggy Software: In the absence of any design document, the end product is usually buggy as there is no form or shape taken to develop the project and this goes on to affect the testing of the project and also it tends to lead to software that is often hard to extend and maintain.
Not having a well written document can undermine your efforts in various ways as a independent developer. Before embarking on any project of any considerable size, it is important that one must do his due diligence and create a well written design document and not the usual vague on the memory on the go type that many people are usually okay with.