Models and documents don't need to be perfect, they just need to be barely good enough.
Modeling and documentation are an important part of any software developer's job. Developers may choose to create a wide range of requirements models, architectural models, and design models for their systems. Agile DBAs may choose to create both logical and physical data models in the course of their work. Enterprise architects will also create a wide variety of models to describe an organization's environments and so will enterprise administrators. Modeling and documentation are critical aspects of the jobs of all agile software developers; therefore, it makes sense to ask how you can be effective creating them. Luckily there is an answer: Agile Modeling (AM).
This chapter provides a brief discussion of agile modeling; for more in-depth coverage of AM, see my companion book Agile Modeling: Effective Practices for Extreme Programming and the Unified Process (Ambler 2002a).
In this chapter, we will explore:
The role of the agile DBA
What is Agile Modeling?
When is a model agile?
What is Agile Model-Driven Development (AMDD)?
Agile DBAs apply the values, principles, and practices of AM to evolve their understanding of both the problem domain and of the solution space. They work closely with their teammates, creating models with them and learning new modeling techniques from them. They will create agile models ...