We are working on a small project in also a small team. But, if there is a more than one person, there is a need for cross-checking everything. From basic plan to final code. And a big need for the best development methodology. I must note, that our project is focused on users, that we can contact everyday. We also have very good and instant response from them, so our workflow is not stuck in bureaucracy. So the most common project management problems are avoided (like in 7 Common Project Management Problems most of the problems are connected with user-programmer communication).
Evolution of our development methodology was frankly usually. It was a huge theme during the summer. We have written the most important documentation and help for users. We have also set discussion, that are used as code review. We have also set periodical meeting and set dates for releases. But where is the software development methodology? Do we follow just one specific dogma? No, we just used some parts from each to fit us.
Keep development methodology evolving
Everybody knows that there will be changes. Your perfect plan will be damaged, even if you are prepared for it. So you can’t use development methodologies like Waterfall and you know it. The best choose is a spiral development methodology, where is each stage multiple times so you can evolve.
Change pipeline, not actual working topic
Yes, don’t ever force developers to switch from one issue to other. When you start with it, effectiveness will extremely drop. Developers need to think about problems. They can be programming for a long time or think a little bit and solve it really fast.
Make everything automatic
Are you writing tons of development documentation? Are you surprised, that documentation is not keeping up with the code? Main part of documentation must be generated from code. It is the only way. You have set recurring release events, but nightly builds are not set? You cannot be effective enought to follow any methodology. It is sad, but usually true.
What about you? Are you using some the most common development methodologies from list Asshole driven development? The most common is ADHOC, a nice name for unoroganized mess.