Why we do agile

Agile processes give you an ability to do something faster. Often agile approaches give you an ability to deliver smaller chunks of software faster than legacy processes. But why does your team or organization feels the need to do "agile"? Why do you need faster or at a quicker iteration cycle?

Answering the "why" questions is critical. If there is not a defensible answer, substantiated by some mesurable business need, then either seek the answer or don't change a thing.

Examples of good reasons:

Get feedback from the product owner before releasing to the customersReduce the risk associated with monolithic deployment In some cases releasing something early doesn't make sense. For example, the software that drops the ball on Times Square at midnight at the start of a year doesn't need to be released in increments to the customer. It may be developed using agile processes, but it doesn't need to be released to the customer in chunks.

Quality Attribute Refinement

From the SEI podcast series:
"We know from existing SEI work on attribute-driven design, Quality Attribute Workshops, and the Architecture Tradeoff Analysis Method that a focus on quality attributes prevents costly rework. Such a long-term perspective, however, can be hard to maintain in a high-tempo, agile delivery model, which is why the SEI continues to recommend an architecture-centric engineering approach, regardless of the software methodology chosen. As part of our work in value-driven incremental delivery, we conducted exploratory interviews with teams in these high-tempo environments to characterize how they managed architectural quality attribute requirements (QARs). These requirements—such as performance, security, and availability—have a profound impact on system architecture and design, yet are often hard to divide, or slice, into the iteration-sized user stories common to iterative and incremental development. This difficulty typically exists because some attributes…

Re-post: "Importance of Well Designed Software"

Great blog post by Agile Journeyman about Martin Fowler's  Design Stamina Hypothesis & the Technical Debt Quadrant.

Constantin Kostenko
Firebrand Architect®

Microsoft Application Architecture Guide, 2nd Edition

This book, Microsoft Application Architecture Guide, 2nd Edition, has a few sharp edges, but it's a good place to start with the intention to continue learning about the discipline from other sources.

Teaching is learning

Seeing people learn is exciting. I really enjoy my part-time gig working as a Distance Education Instructor supporting the Software Architecture eLearning course at the Carnegie Mellon University. It’s exciting to see students, who are many years into their professional careers, learning about a disciplined way of thinking about software architecture. These students are not there because they have to be there, they are there because they (and their employers) see value in learning and applying a disciplined approach to building software intensive systems.
During the semester long three phase project it’s interesting to see students get to the “Aha!” moment when they try to reason about system decomposition and fail because the quality attributes they specified were not defined in a precise manner. Since quality attributes define the behavioral properties of the system they (along with business and technical constraints) impact the selection of architectural patterns and tactics. It’s t…

CASCON 20th Anniversary - First Decade High Impact Papers

From the CASCON site: "Conference of the Center for Advanced Studies on Collaborative Research [published] First Decade High Impact Papers as part of the 20th anniversary past papers presented at CASCON which had delivered high industrial and academic impact are being recognized. Headed by Hausi Müller, the specially created CASCON First Decade High Impact Papers (FD-HIP) Selection Committee selected 14 papers from the 425 papers published during the first decade as winners. The selected papers are featured in a special CASCON proceedings volume. As well, the authors celebrated through the First Decade High Impact Papers will be recognized during the Monday, November 1st keynote at 1:00 p.m, and will also be on hand to attendees during the Technology Showcase Reception on Monday, November 1st to discuss their influential works."
Link to the listing of papers.
Constantin Kostenko
Firebrand Architect®

2011 Outstanding Research Award from ACM SIGSOFT

David Garlan and Mary Shaw win the 2011 Outstanding Research Award from ACM SIGSOFT.
"This award is presented to an individual who has made significant and lasting research contributions to the theory or practice of software engineering."
Constantin Kostenko
Firebrand Architect®