Data Modelling In An Agile World
In traditional processes data models form the basic foundations on which any new applications are built. Any changes in the model therefore require the corresponding updates to be applied to the applications, creating a knock-on effect influencing applications directly related. One would think then, why would applications and data models ever be developed separately?
The agile method
This is where agile methodologies come in, using shared skills and planned update cycles to provide a smoother development process. Rather than using a single model produced during the initial stages of a project, in an agile project the model is continually evaluated and updated, keeping the model and application in sync through their continued evolution. Being successful however requires both panning and communication.
Data modelers and development teams can very easily be seen as two completely different teams. Yet while working in an agile environment, rather than these distinct teams, the development group is much more intertwined, sharing skills and knowledge.
Members focusing on code development need to understand where the data they are using comes from to understand how it will be used. Likewise, modelers need to be aware of the developers’ requirements so that changes can be anticipated. And these are the sorts of conversations that need to be held, not just passing emails and the occasional call.
Everyone knows the saying, but it is true that with planning the complications of working to an agile methodology can be lessened significantly. With agile, the fundamental process is based around quick turnarounds of short sprints, separated by periods dedicated for evaluation. An agile team can effectively plan for future sprints, with ideas ready for upcoming cycles without starting from scratch, while still maintaining flexibility. The key is to achieve balance: being prepared, yet not so prepared that it will only cause complications due to being too rigid.
While at first agile development may not be typically associated with data modelling, with clear goals and the right mindset your data modelling process can become truly evolutionary.