Monday, March 16, 2009

Analysis paralysis

Analysis paralysis is a common problem in the software requirements domain. Engineers or requirements analysts become overwhelmed with amount of information and get bogged down in details.

Software architects face a similar problem. If an architects seeks perfection or the best solution for a given problem he or she may get bogged down in the details of various design alternatives. A more effective approach is to invest time in understanding the key architectural drivers - the requirements that have a profound effect on architecture (i.e. critical functional requirements, quality attributes, and constraints). By quantifying your requirements (e.g. by using quality attribute scenarios) an architect will be able guide your decision making process through various design alternatives.

As Fred Brooks said - getting the conceptual integrity right is the most difficult, but the most important part of your job. To help you with this process you should use an iterative approach to developing architecture and participate early and vigorously in the requirements elicitation and analysis phase.

Let the properly stated requirements shape your architecture and let the architecture shape your requirements.

Constantin K.
Firebrand Architect®
SoftwareArchitectures.com

No comments:

Blockchain learning path for Enterprise Software colleagues

I wrote this post to document my learning path of blockchain concepts and Ethereum technologies while keeping my “new to blockchain” collea...