The Agile Data Method: A Philosophy-Based Methodology for Effective Data-Oriented IT Activities
AgileData.org: Techniques for Disciplined Agile Database Development
|The goal of the Agile Data method is to describe a philosophical foundation on which an effective approach to the data-oriented activities on software development projects, and within IT departments, can be based. First and foremost, the Agile Data Method subscribes to the values and principles of the Agile Alliance. Although this advice is a very good start, I believe that it needs to be extended with philosophies that address the issues pertinent to the data community.||
The Agile Data method is defined by its six philosophies:
Data. Data is one of several important aspects of software-based systems.
Enterprise issues. Development teams must consider, and then act appropriately, regarding enterprise issues. They need to take the bigger picture into account if they're to avoid building yet another silo application.
Enterprise groups. Enterprise groups (such as enterprise architects, data management, ...) exist to nurture enterprise assets and to support other groups, such as development teams, within your organization. These enterprise groups should act in an agile manner that reflects the expectations of their customers and the ways in which their customers work.
Uniqueness. Each development project is unique, as is each organization, requiring a flexible approach tailored to its needs. One software process does not fit all and therefore the relative importance of data varies based on the nature of the problem being addressed.
Teamwork. IT professionals must work together effectively, actively striving to overcome the challenges that make it difficult to do so.
Sweet spot. You should actively strive to find the “sweet spot” for any issue, avoiding the black and white extremes to find the gray that works best for your overall situation.
An interesting observation is that most of these philosophies aren’t specific to data, instead they are applicable to information technology efforts in general. As the first principle implies you need to look at the overall picture and not just data, therefore data-specific principles very likely won’t serve you very well. Heresy? No, just common sense.
|This book describes the philosophies and skills required for
developers and database administrators to work together effectively on
project teams following evolutionary software processes such as Extreme
Programming (XP), the
Rational Unified Process (RUP), the
Process (AUP), Feature Driven
Development (FDD), Dynamic System Development
Method (DSDM), or The Enterprise Unified Process (EUP). In March 2004
it won a Jolt Productivity award.
This book describes, in detail, how to refactor a database schema to improve its design. The first section of the book overviews the fundamentals evolutionary database techniques in general and of database refactoring in detail. More importantly it presents strategies for implementing and deploying database refactorings, in the context of both "simple" single application databases and in "complex" multi-application databases. The second section, the majority of the book, is a database refactoring reference catalog. It describes over 60 database refactorings, presenting data models overviewing each refactoring and the code to implement it.
|This book presents a full-lifecycle, agile model driven development (AMDD) approach to software development. It is one of the few books which covers both object-oriented and data-oriented development in a comprehensive and coherent manner. Techniques the book covers include Agile Modeling (AM), Full Lifecycle Object-Oriented Testing (FLOOT), over 30 modeling techniques, agile database techniques, refactoring, and test driven development (TDD). If you want to gain the skills required to build mission-critical applications in an agile manner, this is the book for you.|
We actively work with clients around the world to improve their information technology (IT) practices, typically in the role of mentor/coach, team lead, or trainer. A full description of what we do, and how to contact us, can be found at Scott W. Ambler + Associates.