Beginning of the article read here.
Programmers look at the same project from the different position (in comparison with managers) and they focus their attention on other issues: architectural design, database, UML-diagrams and all these stuff. In theory it means “to spend the whole day in order to fly in 5 minutes”.
If you take these steps as number “0” in software development process, in practice the project will begin with the step number “1” – with the development. It is not quite correct approach, but it’s the only possible approach when developers can’t give the exact answers to the questions put at the very beginning of software development. (Tell us about the other possible way out, if you know it :)
Agile methodologies are known as attempt to solve these problems (and we like this approach, we even used it in our corporate brand – Oxagile). But agile methodologies work mainly on organizational level. Programming level is connected with other issues.
Let’s consider the essence of flexible methodologies to software development from programmers’ position. Here are some commonly used approaches:
- Version control
- Build management
- Static source code analysis
- Code based document generation (javaDoc, phpDoc, Doxygen, etc.)
- Continuous integration