Eltjo Poort, CGI
Poort’s job is to review bids and projects and contribute to standardizing and improving architecture practice, based on what he finds in those reviews. In this experience report, he described experiences implementing a solution-architecting approach developed at CGI at a client’s organization.
Risk- and Cost-Driven Architecture (RCDA) is a set of solution-architecting principles and practices based on a view of architecture as a risk and cost management discipline. They can defend expensive architects spending time on a project because of the benefits that result from reducing risk and cost. RCDA was originally developed for their bid process, for which an architecture must be developed very quickly. This made the approach suitable for application to agile projects as well as traditional engagements.
CGI has trained over 400 architects in RCDA, who report increased effectiveness in shaping solutions, more focus on economic realities, and better communication with business stakeholders, who speak the language of money. RCDA has five principles: (1) Decisions are the main deliverable. (2) Keep a backlog of architectural concerns. (3) Let economic impact determine your focus. (4) Keep it small – no BUFD. (5) Use just enough anticipation. This latter involves a set of tools that determine how far ahead the architect should look, which includes length of the iteration, among other concerns.
ProRail was the customer. They own all the train rails in the Netherlands and, although they don’t own the trains, ensure that they run smoothly. ProRail is very technologically dependent, but they have a legacy monolith that needed to be subdivided as some of the rail services were privatized. The client had a “traditional” architecture department, who supplied architecture guidance at the beginning of the project, a team developed the solution, and at several points the architects had some check points to ensure that the solution complied with their decisions. The solution delivery teams wanted to start working in a more agile way, but the BUFD process wasn’t compatible with this need.
CGI trained ProRail’s 50 architects in the principles of RCDA in a three-day course and coached them to apply the RCDA practices on three running projects over a three-month period. The architecting microcycle fits into an agile team nicely as long as you realize that your backlog is (invisible) architectural decisions and your daily sprint is architectural concerns. The architecture decisions need to flow out ahead of the development, and timing this was one of the bigger challenges. What is the right amount of anticipation? Consider dependency analysis, technical debt control, and economic tradeoffs in working this out.
Poort provided two charts showing cost, value, and time for the architecture-first and agile development system lifecycles. The former may cost less, but the customer waits longer to receive any value. As a result of refactoring, the latter may cost more, but the customer begins receiving value sooner.