Software development is a lot like swimming; it is very dangerous to do it alone.
My personal philosophy is that every IT professional should have a basic understanding of data modeling. They don't need to be experts at data modeling, but they should be prepared to be involved in the creation of such a model, be able to read an existing data model, understand when and when not to create a data model, and appreciate fundamental data design techniques. At the same time, data modeling skills alone are not enough to be successful in this day and age — as I argued in Chapter 1, you need to be a generalizing specialist with a wide range of skills.
This chapter presents an overview of fundamental data modeling skills that all developers should have, skills that can be applied to both traditional projects that take a serial approach and on agile projects that take an evolutionary approach. The primary audience for this chapter is application developers who need to gain an understanding of some of the critical activities performed by an agile DBA. This understanding should lead to an appreciation of what agile DBAs do and why they do them, and it should help to bridge the communication gap between these two roles. To achieve these goals, this chapter covers the following topics:
The role of the agile DBA
What is data modeling?
How to model data
How to become better at data modeling
Although you wouldn't think it, data modeling can be one of ...