![]() |
Data and the RUPAgileData.org: Techniques for Disciplined Agile Database Development |
![]() |
![]() |
The Rational Unified Process (RUP), OpenUP, Agile Unified Process (AUP), and the Enterprise Unified Process (EUP), are instantiations of the Unified Process (UP). A fairly common question that many organizations face is "how do data professionals fit into a RUP project?" Very well, actually, when the data professionals choose to modify their approach to meet the realities of the RUP. The RUP takes an evolutionary (iterative and incremental) approach to development. Unfortunately many data professionals prefer a more traditional, serial approach to development where comprehensive data models are typically developed very early in a project, reviewed and accepted, and then baselines and put under change control. Although this is very convenient for the data professionals it puts projects at risk because it hampers their ability to react to change. Luckily, as this site amply shows, data professionals can in fact work in an evolutionary manner if they choose to do so. |
|
To understand why there is an issue, you need to understand the way that the RUP works. The RUP lifecycle is based on four consecutive phases (the EUP adds two more so as to cover the entire system lifecycle, not just development). The fact that there are four serial phases can often motivate traditional developers to believe that the RUP is similar to the serial processes that they are familiar to. This isn't the case. Instead, I like to say that the RUP is iterative in the small, serial in the large, delivering incremental releases over time. Let's look at each phase in order, discussing the potential role for data professionals:
So how can data professionals involved with their their first RUP project learn to work in an evolutionary manner via the philosophies and agile database techniques of the Agile Data method? My advice is to do the following:
Note that there is an assumption in the writings at this site that project teams are taking an agile approach to software development. This may not be completely true of a RUP project team, although hopefully should be, but what is true is that the team will be taking at least an evolutionary approach. Therefore the techniques described at this site are still applicable although may be a little harder to accomplish in environments where the RUP has been instantiated in a non-agile manner.
![]() |
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 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 Agile Unified 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 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.
Copyright ©
2003-2012 Scott W. Ambler This site owned by Ambysoft Inc.