1. Introduction
- Agile Overview
- Benefits of Evolutionary Design
2. Agile Modeling Mindset
- The Challenge
- Purpose of Modeling
- Agile Modeling Goals
- Modeling in the Agile Project Management Lifecycle
- Agile Modeling Guiding Principles
3. Agile Documentation
- Why, When and What to Document
- Creating Self-Evident Implementations
- Documenting with a clear purpose for the right audience
- Minimally sufficient documentation
- Negative Value Documentation and Document End of Life
4. Domain Modeling
- Why, When and Who
- Story-Gathering Process
- Defining and Refining user roles
- User Personas
- Domain Modeling Exercise
5. Use Cases and User Stories
- Why, When and Who
- Use Cases
- User Stories
- Use Case Exercise
6. Sufficient Design Up Front
- How Buildings Learn
- Iteration Zero
- Conceptual Data Modeling
- Establishing Test Automation
- Continuous Integration Infrastructure
- Sufficient Design Guiding Principles
7. Data Model Patterns
- What is a Pattern?
- Pattern References
- Why Use Patterns?
- Drawbacks of Patterns
- Patterns, Seed Models, and Archetypes
8. Technical Debt
- Overview
- Design and Technical Debt
- Indicators of Technical Debt
- Prioritizing Debt
- Technical Debt exercise
9. Database Refactoring
- What is Refactoring?
- Refactoring Categories
- How Refactoring Works
- Preparing to Refactor
- How to Refactor
10. Agile Modeling with Data Vault
- Complexity of Changeb
- Introduction to Data Vault
- Hubs, Satellites and Links
- Data Vault example
- Data Vault Strength: Adapting to Change
- Data Vault Principles
- Why is Data Vault agile?
- Data Vault Exercise