Rapid Software Architecture Exploration
Michael KeelingWorkshop: 90 minutes
Summary
For agile teams who desire effective yet lean software engineering practices, Rapid Software Architecture Exploration is a set of structured, lightweight architecture design, discovery, and description practices designed to efficiently explore the design space and articulate a working solution.
Unlike prevailing architecture-centric practices such as the Quality Attributes Workshop (QAW), Rapid Software Architecture Exploration practices allow your team to maximize design discovery speed, reduce costs, and increase agility without sacrificing engineering effectiveness. This is accomplished by focusing on essential architectural information, encouraging team and customer collaboration, and emphasizing systemic thinking throughout the team.
In this session I will summarize the theory behind enabling rapid software architecture exploration and describe several methods regularly used by my team at IBM as a part of our rapid exploration practice. These methods include, lean versions of common architecture-centric workshops (such as QAW), methods adapted from other disciplines such as Stakeholder Maps from UX, novel workshops such as the Prioritized Properties Web, and lightweight representations such as the Architecture Haiku.
By the end of this session you will have learned several architecture-centric practices that can be applied directly with your team back home.
Short Bio
Michael Keeling is a professional software engineer with over eight years of development experience. As an applications engineer at IBM, he helps optimize organizations’ access to information by designing and configuring enterprise search solutions. Prior to this, he filled a few software development roles including a systems analyst for Black Knight Technology for five years and has experience with analysis tools, real-time systems, and web applications. He has a BS in computer science from the College of William and Mary and a Master’s in Software Engineering from Carnegie Mellon University. Michaels’ interests include the pragmatic application of software engineering methods, software architecture and design, and the human aspects of software engineering.