Is your company’s Enterprise Architecture (EA) Group comfortable working with Agile/Lean teams? Many EA groups typically employ a big up-front design (BFUD) approach where design is documented in the context of four types of architectures: Business architecture; Data architecture; Applications architecture and Technology architecture.
The Business architecture view is used to design competitive processes that may leverage existing strengths and identify possible investment requirements to advance innovation. This view assists in aligning business strategy with tactical efforts. The Data architecture view documents how content is organized and managed. Stakeholders of this view include database designers, database administrators and systems engineers developing database components. The Applications architecture view describes how application software components should integrate into the larger system, and the Technology Architecture view provides guidance on how commercial software would potentially fit into the overall enterprise.
These four architecture views help align technology investment with the strategic goals of the corporation. Often these design views are composed into EA Roadmaps that are realized over time, usually continuing beyond individual project development efforts. While there is definite value in these EA views and associated models, it is hard to see how this level of documentation will fit into an Agile/Lean methodology given the principles of the Agile Manifesto.
One of the Agile Manifesto principles states, “The best architectures, requirements, and designs emerge from self-organizing teams.” Does this mean an Agile team doesn’t have any constraints when it comes to developing solutions architecture? I don’t believe anyone who has built enterprise class systems would think so. Agile teams in larger enterprises will often have a Systems/Solutions Architect who is well-versed in the EA roadmap. The Solutions Architect is a hands-on member of the Agile team who will collaborate with the team to design and build the solution. This team member will actively work with the product owner to sequence the product backlog in such a way that a runway is provided for intentional architecture to emerge with the project. This intentional architecture is designed as a collaborative effort by the project team while understanding the constraints of the enterprise. Including a Solutions Architect who is cognizant of your enterprise architecture roadmap in each Agile team is one way to facilitate inclusion of enterprise architecture into your Agile process while ensuring that Systems architecture concerns are considered from the start of each project.