Charlie Alfred’s Weblog

September 6, 2009

SCRUM and Architecture – Do they mix?

Filed under: Uncategorized — charliealfred @ 9:08 pm

SCRUM is a popular agile development methodology that was first popularized in the early 1990’s by Ken Schwaber and others.  It features short (2-3 week) development sprints, development team accountability, and separation of the chickens (management stakeholders) from the pigs (developers).

Software architecture is a high-level approach to the conception of a system.  It was initialy popularized in the mid 1980’s by the writings of David Garlan and Mary Shaw.  The Software Engineering Institute (SEI), affiliated with  Carnegie Mellon University has been a major force in spreading the software architecture mantra.  Today, virtually every software development group of 12 people or larger has a software architect on staff.

However, during the past 20 years, SCRUM and Software Architecture have lived a somewhat tenuous existence.  Like other agile methods (such as XP), SCRUM is not a believer in big design efforts up front.  Planning mainly consists of choosing a team, and capturing and prioritizing a number of user stories.  From that point, the development team and product manager select the set of stories to work on during each sprint, and the developers figure out how to design the solution.

The SCRUM methodology is intended to have fast reaction times to changes in  requirements or priorities.  During a sprint, no course changes are permitted, but between sprints, anything goes.  If the changes are significant, the development team relies on refactoring existing software and leveraging automated unit tests to ensure no regressions.

This article (located at explores the relationship between SCRUM  and Software Architecture, primarily from the perspective of a recent project that tried to blend both.

Blog at