Hey all. I would like to get some insight on a question that I have been trying to find some information about. If you are the solo developer that is building a project from ground up, how do you manage the project? In the past, I have worked on a few personal projects that have grown into fairly large projects. In almost all of those projects, I have tried to wear the hats of all the roles that would normally be in place during a normal software development project (i.e. Product Owner, developer, architect, tester, etc.). It seems that when I leave the project for some time and come back, it is extremely hard to get back into the rhythm of what I was doing. So with that, I have some questions:
- If I know the requirements (at this current time), do I record them anyways? If so, how do I go about doing this, and how do I manage these requirements? Product backlog, features list, etc?
- If this is the case, are full blown product backlogs or use cases a little overkill?
- How does one efficiently appropriate his/her time to each respective role?
- What would be a normal flow of events that one would follow? Start coding immediately, write down user stories/use cases, then go into OOA/D?
- What diagramming/modeling would be sufficient for this level? Domain model, class diagram, etc?
Basically, I was curious how everyone out there in the SO community would go about developing a project from inception to deployment when you are the lone, solo developer. What steps, documentation, and other project related activities are needed to help bring this project from an impractical, hobby project to something more professional? Any help, references, or suggestions would be greatly appreciated. Thanks in advance.