Since I didn't do a good job writing the last question, and most of the answers were good, but not at all in the direction I intended for the question to go in, I deleted it and remade it as this question.
I'm a solo developer on my own projects, generally very small things, but I have a few ideas that might turn into FOSS projects. I believe in documentation (to varying degrees, depending on the specific project and the end user), source control, and project management (including bug tracking, time management, and so on). However, I'm not sure how much of a formal process I should be following.
Perhaps just keeping a README, associated design/requirements documents, and in-code comments under source control is sufficient. Or maybe there's an agile process that is suitable for a single developer to follow. Or maybe I should take an old-school waterfall model for each project.
What kinds of processes exist for or can be adopted to a solo developer, if I even need a formal process?
EDIT: I realize that there are tasks that I'm doing to be doing like documentation and source control. However, I'm not sure about the how part of the question. As a solo developer, should I adopt a more agile approach (if so, which "branch" of Agile - XP? Scrum? RAD?) or a more conventional approach (waterfall or spiral?)?
Even if you don't need process to promote good communication between team members, process can help you compensate for the fact that you aren't as superhuman as you thought you were when you were 18 :) The type and amount of 'paperwork' you decide to do depends on your own strengths and weaknesses. Bad memory? Write down your designs and thoughts daily. Good seeing trees but not forests? Make sure you are extra careful with your requirements and designs. Good seeing forests but not trees? Detailed task lists, time estimates, and frequent deliverables are your friend.
It boils down to: what are you likely to mess up, and which processes help with your particular way of working.
You definitely need a process, there's a lot of non-code data that goes into managing and supporting a project. Without a process you'll be suffering quickly, re-hashing design ideas because you forgot all those good reasons for not doing something or re-learning how to branch svn b/c you only do it once a month.
Documentation about design, design decisions, operations, etc is all vital for any significant project.
And testing, source control, etc are all good development practices and should be done regardless of the project size.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With