The world does not stay still. After the successes of Agile Methods at the end of 90th and start of 2000 their application has grown dramatically. Also their areas of applicability have extended far beyond initial sweet spots.
One of additions is the usage of agile practices to working with databases. This concerns work on automating DB schemas changes and on testing and refactoring databases.
FDD Approach to building domain models has found its further expression in Domain Driven Design (a.k.a. DDD). Although one cannot state that DDD is a direct successor of FDD Color Modeling/Streamlined object modeling approach, but Streamlined Object Modeling is widely recognized and highly regarded in DDD community.
Unit and Acceptance Testing
“The only thing that is constant is change.”
Bonfire of the Vanities
Over the last few months, there have been quite a few clamorous controversies in the global programming community, driven by diametrically opposing views on fundamental principles, often becoming very emotional, even aggressive over time. Here’s a couple:
In all these cases, both sides of the discussion accuse the other of being wrong, having no tolerance for different opinions, causing harm to the community, etc. etc. Both have the best intentions, obviously, and both are eager to point out that it’s all about cost and benefits.
Agile Engineering Practices serve as actual backbone for developing software in an agile way.
Currently, Scrum is the most popular agile method.
At the same time Scrum does not specify any engineering practices. Scrum Primer recommends, instead, putting good engineering practices in place over time.
Origins of Agile Engineering Practices
In difference to Scrum there are two agile methods with well-defined engineering practices systems. They are Extreme Programming and Feature Driven Development. These methods are coming from different backgrounds and thus, put a stress on different aspects.