The Nimble Elephant: Agile Delivery of Data Models using a Pattern-based Approach, by John Giles
Leverage data model patterns during agile development to save time and build more robust applications.
The speed versus quality war isn’t new
Demands for agile data modeling
Modeling ain’t enough
Can patterns really help?
Notation: Yet another civil war?
Consolidating the chapter for you
The “patterns” movement
Levels of aggregation in data model patterns
Fine-grained “Elementary patterns”
Medium-grained “Assembly patterns”
Coarse-grained “Integration patterns”
Consolidating the chapter for you
The detail behind the facade
Variation via custom extension
Variation via inheritance
Variation when linking patterns
Variations in the real world
Consolidating the chapter for you
Different types of models
The way forward
Consolidating the chapter for you
A little bit more on generalization
Whetting your appetite
Too much of a good thing?
Trying to get the balance right
Consolidating the chapter for you
Thinking outside the box
A multi-faceted challenge
Some suggestions
Consolidating the chapter for you
The YAGNI view
The enterprise view
Making peace
Consolidating the chapter for you
Setting the scene
A pattern starts to appear
A variation on the theme
Complexity or simplicity?
An integration pattern emerges
Where to next?
Consolidating the chapter for you
Standards for integration patterns
Standards for assembly patterns
Join the community
Consolidating the chapter for you
Physical models are not the only reality
What details might I find in a conceptual model?
Can conceptual models make a difference?
Linking high level models and implementation models
Name the patterns
It’s not arrogance to question
Consolidating the chapter for you
Iterate along the model’s breadth and depth
Iterate on concepts via the implementation feedback loop
Iterate to improve
Consolidating the chapter for you
It’s not an 80/20 silver bullet
Letting “agile” teach us a trick or two
Consolidating the chapter for you
An honorable way to make life harder for yourself
Fixed-structure decision tables
Adaptive decision tables
Consolidating the chapter for you
Derivation of computed values
Hybrid solutions
A case study in business rule agility
A few comments
Consolidating the chapter for you
We’re needed (aren’t we?)
Contributing to the agile world
Style and timing of engagement
If we want to feel loved …
Consolidating the chapter for you
Getting ready to start
Scoping the project, or “How big is the enterprise?”
Starting a context model with the first assembly pattern
Some choices appear
Another assembly pattern
A wrong assumption by me: Rules instead of Process
An agile iteration begins
Integration Patterns
Back to reality?
Consolidating the chapter for you
Encapsulation, or “They’ve hidden my data”
Object IDs, or “Who stole my keys?”
Attributes and Data types on steroids
A bit more on associations
Inheritance of data and code
Persistence, or “What do you mean the data isn’t stored?”
Summary of OO concepts and terms
“Get it done well and get it done fast” are twin, apparently opposing, demands. Data architects are increasingly expected to deliver quality data models in challenging timeframes, and agile developers are increasingly expected to ensure that their solutions can be easily integrated with the data assets of the overall organization. If you need to deliver quality solutions despite exacting schedules, “The Nimble Elephant” will help by describing proven techniques that leverage the libraries of published data model patterns to rapidly assemble extensible and robust designs. The three sections in the book provide guidelines for applying the lessons to your own situation, so that you can apply the techniques and patterns immediately to your current assignments.
The first section, Foundations for Data Agility, addresses some perceived aspects of friction between “data” and “agile” practitioners. As a starting point for resolving the differences, pattern levels of granularity are classified, and their interdependencies exposed. A context of various types of models is established (e.g. conceptual / logical / physical, and industry / enterprise / project), and you will learn how to customize patterns within specific model types.
The second section, Steps Towards Data Agility, shares guidelines on generalizing and specializing, with cautions on the dangers of going too far. Creativity in using patterns beyond their intended purpose is encouraged. The short-term
“You Ain’t Gonna Need It” (YAGNI) philosophy of agile practitioners, and the longer-term strategic perspectives of architects, are compared and evaluated. Consideration is given to the potential of enterprise views contributing to project-specific models. Other topics include industry models, iterative modeling, creation of patterns when none exist, and patterns for rules-in-data. The section ends with a perspective on the modeler’s possible role in agile projects, followed by a case study.
The final section, A Bridge to the Land of Object Orientation, provides a pathway for re-skilling traditional data modelers who want to expand their options by actively engaging with the ranks of object-oriented developers.
I’m delighted to see that John has put his extensive experience and broad knowledge of data modeling into print! John’s ability to simplify the complex, and to share his knowledge and enthusiasm
– and humor – with colleagues, comes through in this very useful and readable book. I recommend it to anyone working with data.
– Monika Remenyi, Senior Data Architect, Telstra
John Giles has written a compelling and engaging book about the importance of data modeling patterns in the world of agile computing. His book is clearly and simply written, and it is full of excellent examples drawn from his extensive experience as a practitioner. You will see the enthusiasm and passion that John clearly has for his work in data modeling. And you will see in his book that any interchange with John will always have its fair share of good humor and wisdom!
-Professor Ron Weber, Dean, Faculty of IT, Monash University
John Giles is an independent consultant, with a passion for seeing ideas taken to fruition. For two decades his focus has been on enterprise information modeling, enterprise information integration, and enterprise information architecture. Over the last few years he has also gained international recognition in Data Vault modeling. John is primarily a practitioner, having been responsible for leading teams to successful delivery of IT solutions across a wide diversity of industries. However, his pragmatic focus is backed up by a solid appreciation of the underlying theory, having presented internationally, and published widely, including in his book, The Nimble Elephant: Agile delivery of data models using a pattern-based approach.
Please complete all fields.