Enterprise Architecture Quality Improvements Using KanbanMarch 28, 2014 No Comments
Featured article by Jason Tice, Asynchrony, Vice President
Kanban is a visual system for process control. It was developed in the 1950s for use in manufacturing. More recently it has been applied to reduce cycle time and improve quality in software development and other types of Knowledge Work. Asynchrony has realized similar benefits by using Kanban to facilitate Department of Defense (DoD) Enterprise Architecture (EA) development. Within our EA teams, Kanban has served to reduce architecture development cycle time by limiting work in progress, and more notably has improved quality, relevance and precision of architecture products developed.
Prior to our application of Kanban to EA, the development of customer requested architecture work was managed in an ad-hoc fashion. This meant that our EA team leads received requests for architectural analysis and then assigned tasks to members of the EA team that the leads thought had relevant Knowledge, Skills, and Abilities (KSAs) to support the task at hand. As requested, architecture products were developed, and reviews and quality checks to integrate the expertise of other team members were ad-hoc. Some team members actively sought out inputs and ideas from their colleagues, but others preferred to work individually. While requested architecture products were consistently delivered on time, some products had errors and follow-on revisions were needed. Other products were only based upon a single viewpoint from one team member, rather than integrating multiple viewpoints, as artifacts within Enterprise Architecture should. Furthermore, silos of knowledge developed within the EA team, for example, one team member was strong with SOA, another was strong with Cyber Security, another with data, etc. On several occasions, the customer had to wait for architecture support until the single team member with the relevant KSAs for the requested task was available. While such an EA team was successful, there was certainly room for improvement.
Our team introduced Kanban to improve the quality of architecture work developed and promote adoption of the “Whole-Team-Approach.” The architecture team began using a simple Kanban workflow featuring Backlog, In-Development, QA, Review, and Done queues. All requests for architecture support went through this Kanban workflow to ensure quality and to replace ad-hoc review activities with a consistent QA process. EA team leadership still met with the customer to receive requests for architecture support; however, instead of using an ad-hoc tasking process, requests received went into the EA team’s backlog that was visible by all.
The EA team began holding a daily standup allowing team members to pull prioritized tasks from the backlog that aligned to their KSAs. Architecture tasks were developed in small groups of two or three team members vs. having team members work independently. Working in small groups served to integrate multiple viewpoints during development, thereby improving the relevance and precision of architectural analysis. Small group work also facilitated KSA sharing across the team. Once an architecture product was developed, the product’s quality assurance review was performed by team members who did not develop it. This QA activity within the architecture team ensured that the architecture was supportive of the customer’s need, was accurate, and was understandable by all. When the EA team finished QA, the customer would pull architecture products into the review queue, whereby the team would present each architecture product to the customer to confirm it met their expectations. A successful customer review and transfer of the architecture product to the customer served to complete the Kanban workflow.
Use of Kanban provided multiple quality improvements within Enterprise Architecture activities:
- Kanban facilitated a consistent review process to ensure that all architecture work developed aligned to team and customer expectations.
- Kanban provided awareness of architecture work-in-progress so that team members with relevant KSAs could integrate their viewpoints during development.
- Kanban allowed for team collaboration to facilitate KSA sharing whereby the quality of the EA team was improved.
Asynchrony has also found that use of Kanban to facilitate Enterprise Architecture development served to optimize architecture product development time, prevent duplication of efforts, align architecture development to other strategic Enterprise activities, and promote Enterprise-wide awareness of architecture development activities.
ABOUT THE AUTHOR
Jason Tice is Vice President at Asynchrony (www.asynchrony.com), where he leads efforts to facilitate successful Enterprise-level Agile transformations within environments governed by rigorous policy, compliance, and regulatory requirements. Jason holds an MBA from the University of Missouri.
APPLICATION INTEGRATION, CLOUD COMPUTING, DATA and ANALYTICS