2024 Public Training Schedule
December 9 – 12, 2024 – Agile Analysis and Design Patterns – Half-Day Sessions
2025 Public Training Schedule
January 14 – 17, 2025 – Agile Analysis and Design Patterns – Half-Day Sessions
(c) 2024 To Be Agile
Software development has undergone many revolutions over the last few decades. The way we build software today is fundamentally different than the way we did just a few years ago. Our industry is maturing and we are beginning to pay attention to the quality of our work.
No longer is just fulfilling the specification enough in software. Today, we must also write code that is easy to maintain and extend so that we can reduce the cost of ownership. To do this requires thinking about building software in some fundamentally different ways.
When I asked developers what they can do to make their code more maintainable or conversely what other people do that makes code difficult to maintain, I often don’t get clear answers because it’s something that most of us really haven’t thought about but there are things that we can do to make our code more maintainable and there are definitely things that we must avoid when building software as well.
Many of the most important and valuable technical practices have been embraced in Agile software development. Extreme Programming and before that Smalltalk and the development communities Smalltalk has proven time and time again that big complex software problems can be broken down into simpler elements and can be made more manageable by a handful of very straightforward techniques.
At its core, Scrum simply says to take complex problems and build them incrementally. This has the effect of taking a difficult task and breaking it down into several much more easily manageable tasks. The idea works in all fields and they work especially well in software development.
Scrum went on to discover that with an active product owner, the ambiguity in software development, especially in requirements goes away, and again the process of building the right software is simplified because we stay focus on the most important issues and get lots of feedback from our customers.
These two things in Scrum software development are largely responsible for the enormous success of Scrum development. However, there are other things that can also help the development process, specifically the technical practices from Extreme Programming which goes very nicely with Scrum development. Again, these are very simple practices that helped guide us in doing the right things at the right times.
Previous Post: « Summary of Seven Strategies Series
Next Post: The Importance of Continuous Integration »