|
Rational Unified process (RUP), XP (extreme programming), Scrum, and Dynamic System Development Method (DSDM) are all evolutionary (iterative and incremental) modern software development processes that are used by programmers, especially generalizing specialists. However, most data-centered techniques are serial, and depend on specialists whose tasks are of a narrower scope, including physical or logical data modeling. The two groups, which have to work together, want different ways of working. Data professionals, however, should adopt evolutionary techniques similar to those of developers--not the other way around. Craig Larman, author of Agile and Iterative Development: A Manager's Guide, provides the research evidence and notes that three is strong support among IT thought leaders, who favor evolutionary approach. Topics covered are evolutionary data modeling, database refactoring, and becoming agile. A highlighted model is the Karate School Initial Domain Model (a slim conceptual domain model for a karate school that uses UML notation and only shows the main business entities and relationships among them), and a more detailed physical data model (PDM), for the same system (using UML and after three development iterations). With an AMDD (Agile Model Development) approach, a conceptual model is used to guide physical class and data modeling during development iterations or just-in-time. Advantages of AMDD are waste minimization, avoidance of large amounts of rework, a smaller overall modeling effort, and simplification of object/relational mapping.
|