Agile Enterprise Architecture, TOGAF and Kanban Boards
When adopting an Agile approach to enterprise architecture, kanbans provide a great way to move work forward at ease to achieve an end goal or objective. Kanban boards provide a “work in progress” view of our enterprise architecture concepts. They provide an ideal way to track the visibility and status of our work in progress and provide a visual set of stages. Each stage contains a set of ‘cards’ that represent concepts. We’ve seen many organizations using post-it notes and putting them on walls and white boards to represent cards.
A Kanban board in Agile Enterprise Architecture (EA) could look like this:
For example; a card could be a business capability or an application component. Each stage is identified by a name and a description of the stage. There are many different ways of defining a kanban board. A typical board, has the stages – Parked, To Do, Doing and Done. However, most companies tailor the kanban to suit their own environment and projects.
TOGAF Architecture Development Method (ADM)
Ideally, work moves from left to right on a kanban board. We can use the TOGAF Architecture Development Method (ADM) to provide a set of stages for an initial kanban board displayed in a left to right sequence. The ADM provides an enterprise architecture lifecycle for developing concepts.
Each phase in the ADM that contains concepts and deliverables could be represented as a stage.
For each phase in the ADM, we can move concepts around to show where they are in the overall lifecycle to give them overall context. For example, we may be defining a new business capability as part of our Architecture Vision and then move this into our Business Architecture phase for further refinement. In this case, we can put the new business capability into the first stage when we are defining it and move it to the second stage at a later date.
Hierarchical Kanban boards
We can also make our kanban boards hierarchical by having different concepts represented on multiple kanban boards.
Our Agile EA kanban – TOGAF ADM board is showing the overall phases in the TOGAF ADM. We have individual kanban boards that show the ‘work in progress’ for each concept type. Typically, these stages are parked in either: To do, Doing and Done.
For example, we can see the work in progress for an application component is ‘done’ on the information systems architecture board, and sits in the stage ‘information systems architecture’ on the Agile EA – TOGAF ADM board.
In order to accurately collaborate with users; owners and collaborators can be assigned to stages and concepts. They are notified automatically when concepts move from one stage to another. Each stage can have a limit as to the number of concepts that can be held on that stage at any particular time, thereby forcing work to be done and not allowing it to build up over time.
Sibling kanban boards
Where multiple teams are involved in a set of concepts and the work needs to be tracked across different domains or stakeholders, it’s often useful to create sibling boards for different communities each with their own specific requirements and language.
In Figure 5, an application component may pass through two sets of stakeholders. Initially, a portfolio manager may assess the application component with financial planning information and suitability for the business. The end result of this exercise is a high value portfolio score and the concept is then placed in the ‘Done’ stage. Following this exercise the IT team may assess the application for IT relevance, risk and complexity with the end result being an IT alignment score. In this case the set of stages for each community are entirely different.
Again, we can see the overall visibility of the concept to see its progress in the work chain and we can force work along the process using stage limits and notifications.
Kanban boards are an ideal way to manage work in progress and to track these within a method such as TOGAF. Without such a mechanism, it’s extremely difficult to be agile. A kanban board should be created with a goal in mind and the stages, concepts, owners and limits should reflect the goal that is being sought. The kanban provides a daily progress input into agile approaches such as scrum and/or daily stand up meetings.