User Requirements vs. System Requirements

I’ve often run into debates over whether it’s worth distinguishing between user requirements and system requirements. I would argue that having precision around the...

Agile Architecture Method

The Agile Architecture Method is a way to bake quality into the life cycle. It's also an iterative and incremental approach for architecture and design. In its simplest form, it's a way to help you identify potential hot spots against your prioritized scenarios. The hot spots are key engineering decision. The main hot spots are cross-cutting concerns, such as data access, exception management, logging ... etc. and quality attributes, such as security, performance, reliability ... etc.

Customer Connected Engineering

Customer Connected Engineering (CCE) is a practices we use across our patterns & practices teams for engaging customers throughout the life cycle. We involved customers during the planning, development, and release of our deliverables. This is a draft slide set that shares how we do Customer Connected Engineering inside patterns & practices, including our key practices and guiding principles.

Quality Attributes Frame

I found an organizing frame for quality attributes (security, performance, ... etc.) on SoftwareArchitectures.com and I think it's helpful.  They organize quality attributes by...

Requirements Types

I was trying to find a way to express requirements from multiple perspectives, but keep it simple enough not to lose big ideas that...