Agile Software Development III
Lightweight vs. Heavyweight
This is my third post in the “Agile Software Development” Series and it’s the one where we put Lightweight and Heavyweight Software Development head to head for a clear and conclusive comparison. Before going into this one I strongly recommend you to read my first post and second post in order to gain a clear idea and basis for this comparison.
The main difference between Lightweight and Heavyweight Software Development is project size. The rule of thumb is that the lightweight methodology best fits smaller projects while more complex ones should be approached from a heavyweight perspective. Heavyweight supporters actually claim that the lack of thorough prior planning in agile software development render it completely unprofessional. However, the truth is that there is planning involved in agile development also, but not as much and not as stiff. The beauty of lightweight software development is that even planning becomes flexible.
Now, about project sizes. While it is true that on paper heavyweight software development is the best approach for larger projects, this doesn’t mean that companies can’t take on a lightweight approach also. They key is combining these two effectively when it comes to larger projects.
Here is a list with all the characteristics of the two software development methodologies with the first one always being the lightweight one:
- Approach: Adaptive vs. Pre-planned
- Size of Team: Small/Medium vs. Large
- Project Management: Collaboration vs. Command Controlled
- Project Size: Small/Medium vs. Large
- Documentation: Low vs. Large
- Goal: Market Value vs. Plan Conformation
- Development Stages: Many vs. Few
- Prior Planning: Limited vs.Thorough
As you can see, the agile methodology is clearly a modern take on software development and a much more flexible one. However, some problems may arise when handling larger projects. They can be easily avoided by combining these two software development methods together. What we like to do here at Developers Global is take on a “Heavy-Agile” Software development approach when it comes to lengthier projects.
This can be easily defined and here is how. Think of separate mobile programming or software development teams. Through excellent leadership these can act as one single unit. With excellent communication, what you get in the end are multiple units acting as a single team. This is what agile software development is all about. The “heavy” part is the thorough planning needed for each individual programming team, so that it can work like a single unit.