<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx</link><description>Some methodologies of software architecture, including EWITA , attempt to describe architectural processes in a manner that is quite separate from the development of software.&amp;#160; Is that valid? To whit, the first step in the EWITA process is described</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9806634</link><pubDate>Sat, 27 Jun 2009 18:11:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9806634</guid><dc:creator>Arnon Rotem-Gal-Oz</dc:creator><description>&lt;p&gt;I think requirements that affect a system or subsystem as a whole can be considered architectural. These are better described as quality attributes of the system.&lt;/p&gt;
&lt;p&gt;The reason this can be useful is to do some tradeoff analysis up front (without actually trying to encompass, gather and understand all the requirements up front)&lt;/p&gt;
&lt;p&gt;You can read a post I wrote about that a few years ago &lt;a rel="nofollow" target="_new" href="http://www.rgoarchitects.com/nblog/2005/09/04/UtilityTreesHatchingQualityAttributes.aspx"&gt;http://www.rgoarchitects.com/nblog/2005/09/04/UtilityTreesHatchingQualityAttributes.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9806696</link><pubDate>Sat, 27 Jun 2009 21:10:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9806696</guid><dc:creator>Jason Lee</dc:creator><description>&lt;p&gt;I think this is a common classification, more so in enterprise development and product development though. These requirements come from EA generally and EA is typically stuck justifying them. They most often blur the line of requirement and design, but I view a 'requirement' as the ultimate answer to 'why am I doing this' in a project. Quick example - let's say I'm standing up a Warehouse Management System. It needs to source purchase orders from both a merchandising system on the mainframe and an e-commerce system running on a WAS cluster (functional requirement). Additionally, EA has defined that as part of the project, a common pub/sub gateway for purchase orders should be developed to facilitate faster and more-decoupled integration going forward (architectural requirement). So, rather than designing two P2P interfaces, I design 2 P2C (canonical) publishing interfaces and one canonical to target subscription interface. Standard pub/sub type of stuff. What happens when development is already a month behind when they get to this interface or data mapping of the canonical gets mired down and takes three times as long as the estimate? The project leadership start thinking - &amp;quot;what's the value of this again?&amp;quot; and your stuck justifying your 'architectural requirement' that this additional work be done. That requirement can be (and often is) removed due to cost/time constraints, which all functional requirements of the project are met. &lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9807691</link><pubDate>Mon, 29 Jun 2009 01:46:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9807691</guid><dc:creator>Caprica</dc:creator><description>&lt;p&gt;I don't mind the odd architectural requirement (or principle in TOGAF speak), what really irritates me is &amp;nbsp;most requirements I read are statements about a specific solution in the mind of the &amp;quot;business analyst&amp;quot; and not statements about what a business requires.&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9809066</link><pubDate>Tue, 30 Jun 2009 03:41:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809066</guid><dc:creator>Max</dc:creator><description>&lt;p&gt;One of the classifications is functional vs. non-functional requirements. &lt;/p&gt;
&lt;p&gt;Mostly architecture of a system is concerned with non-functional requirements. The best example of a non-functional requirement is maintainability, which is definitely an architectural concern/requirement since it affects the way the system is broken down into parts (architecture).&lt;/p&gt;
&lt;p&gt;Max.&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9809633</link><pubDate>Tue, 30 Jun 2009 16:33:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809633</guid><dc:creator>NickMalik</dc:creator><description>&lt;p&gt;Hi Max,&lt;/p&gt;
&lt;p&gt;I disagree. &amp;nbsp;Architecture is not constrained by the goofy way that requirements are separated into functional vs. non-functional. &amp;nbsp;Architecture includes awareness and consideration of business process and business process variability, which is nearly all functional.&lt;/p&gt;
&lt;p&gt;Personally, the notion of a non-functional requirement is something I attacked in a prior blog post. &amp;nbsp;There are quality attributes, for sure, but the name &amp;quot;non-functional&amp;quot; requirements, and their traceability to business as currently understood in literature, is all wrong.&lt;/p&gt;
&lt;p&gt;--- Nick&lt;/p&gt;
</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9809637</link><pubDate>Tue, 30 Jun 2009 16:35:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809637</guid><dc:creator>NickMalik</dc:creator><description>&lt;p&gt;Hi Jason Lee,&lt;/p&gt;
&lt;p&gt;I get you point, but what you are saying is that architectural requirements are optional, and functional requirements are required. &amp;nbsp;Did I read that correctly?&lt;/p&gt;
&lt;p&gt;Do you agree with that statement or are you sharing your concerns about current perceptions and practices?&lt;/p&gt;
&lt;p&gt;--- N&lt;/p&gt;
</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9809640</link><pubDate>Tue, 30 Jun 2009 16:37:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809640</guid><dc:creator>NickMalik</dc:creator><description>&lt;p&gt;Hi Arnon,&lt;/p&gt;
&lt;p&gt;I really enjoy your posts. &amp;nbsp;Thanks for sharing the link.&lt;/p&gt;
&lt;p&gt;I agree with tradeoff analysis. &amp;nbsp;The challenge is that the labeling of a requirement as &amp;quot;architectural&amp;quot; is nonsense. &amp;nbsp;When doing tradeoff analysis, you must consider functional as well as quality tradeoffs. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;--- N&lt;/p&gt;
</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9809794</link><pubDate>Tue, 30 Jun 2009 19:39:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809794</guid><dc:creator>Max</dc:creator><description>&lt;p&gt;Nick,&lt;/p&gt;
&lt;p&gt;I know that functional vs. non-functional classification is quite vague and often can be misleading. For example is performance a functional requirements or non-functional. While many people would say it is non-functional some people can argue it's functional as it affects externally visible behavior of a running system. &lt;/p&gt;
&lt;p&gt;A more useful distinction (introduced by Paul Clements) is between what can be described as “behavioral requirements” and “developmental quality attributes” with the following definitions &lt;/p&gt;
&lt;p&gt;Behavioral requirements - Behavioral&lt;/p&gt;
&lt;p&gt;requirements include any and all information&lt;/p&gt;
&lt;p&gt;necessary to determine if the run–time behavior&lt;/p&gt;
&lt;p&gt;of a given implementation is acceptable. The&lt;/p&gt;
&lt;p&gt;behavioral requirements define all constraints&lt;/p&gt;
&lt;p&gt;on the system outputs (e.g., value, accuracy,&lt;/p&gt;
&lt;p&gt;timing) and resulting system state for all&lt;/p&gt;
&lt;p&gt;possible inputs and current system state. By&lt;/p&gt;
&lt;p&gt;this definition, security, safety, performance,&lt;/p&gt;
&lt;p&gt;timing, and fault–tolerance are all behavioral&lt;/p&gt;
&lt;p&gt;requirements.&lt;/p&gt;
&lt;p&gt;Developmental quality attributes -&lt;/p&gt;
&lt;p&gt;Developmental quality attributes include any&lt;/p&gt;
&lt;p&gt;constraints on the attributes of the system’s&lt;/p&gt;
&lt;p&gt;static construction. These include properties&lt;/p&gt;
&lt;p&gt;like testability, changeability, maintainability,&lt;/p&gt;
&lt;p&gt;and reusability.&lt;/p&gt;
&lt;p&gt;Do you like this one better?&lt;/p&gt;
&lt;p&gt;Max&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9810011</link><pubDate>Tue, 30 Jun 2009 23:32:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9810011</guid><dc:creator>Patrick Blok</dc:creator><description>&lt;p&gt;Agreed, no reason to classify requirements as 'architectural' and 'non-architectural'. Requirement might be more or less detailed, or are valid to the whole or only a part of the IT solutions but I find it hard to give a firm classification for this.&lt;/p&gt;
&lt;p&gt;If one would follow the TOGAF ADM, then the requirements that are gathered by the architecture team during phases A till E, could be considered as &amp;quot;architectural requirements&amp;quot;. But that's if we really want to justify the use of this term (which I don't).&lt;/p&gt;
&lt;p&gt;PB&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9813535</link><pubDate>Thu, 02 Jul 2009 12:05:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9813535</guid><dc:creator>Craig</dc:creator><description>&lt;p&gt;My thinking goes less to systems and more to people and context. (I think (I am developing the idea as I type...))&lt;/p&gt;
&lt;p&gt;If EA or IT is considerred a project stakeholder then requirements may flow in that are architectural, becasue they are (usually) about sustainability.&lt;/p&gt;
&lt;p&gt;If EA/IT are considerred part of the 'performing organsiation' (aka the project team), then these enterprise requirements/needs are more likely to seen as be development constraints. &amp;nbsp;That is, they are rules you have to play by to be alowwed to deploy into our environment.&lt;/p&gt;
&lt;p&gt;The consideration about whether IT is a stakeholder will come from things like organisational structure, culture and maturity. &amp;nbsp;It will also flow out of who is 'running the project.'&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9837872</link><pubDate>Sat, 18 Jul 2009 00:10:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9837872</guid><dc:creator>Ramesh Kunhiraman</dc:creator><description>&lt;p&gt;I think an Architecture is about providing support to functional requirements. Those can be considered as architecture requirements.&lt;/p&gt;
&lt;p&gt;Take a case of building or house. There is an architecture requirements for every functions like plumbing structure itself, electricals, elevator placement and ...&lt;/p&gt;
&lt;p&gt;The right architecture will deliver the functionality effectively. If not we can say the Architecture is not wrong.&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9847682</link><pubDate>Fri, 24 Jul 2009 19:06:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9847682</guid><dc:creator>frens</dc:creator><description>&lt;p&gt;Interesting discussion; my two cents here:&lt;/p&gt;
&lt;p&gt;The discussion has a lot of similarities to the discussion on the differences between architecture and design. In these discussions the level of detail is often the thing on which they are distinguished, but I find that the line is often a bit arbitrary.&lt;/p&gt;
&lt;p&gt;IEEE standard 1471 defines architecture as: the fundamental organization of a system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution. The issue of course is in what you define as fundamental...&lt;/p&gt;
&lt;p&gt;As for architectural requirements one could form a (quite simple) definition such as:&lt;/p&gt;
&lt;p&gt;The functional and qualitative requirements which are required to be known in order to make the appropriate decisions in creating an architecture. &amp;nbsp;Following this definition, non-architectural requirements are those which are not addressed by architecture but by design and / or implementation.&lt;/p&gt;
&lt;p&gt;However the problem in my opinion is that (in a simple waterfall environment) in the requirements gathering phase one cannot yet make a definitive decision on whether a certain requirement is required knowledge in order to create an architecture.&lt;/p&gt;
&lt;p&gt;So bottom line: I would say that there is no such classification as architectural versus non-architectural which helps us in our work of developing software intensive systems.&lt;/p&gt;</description></item><item><title>re: Should some requirements be called out as “architectural” requirements?</title><link>http://blogs.msdn.com/nickmalik/archive/2009/06/26/should-some-requirements-be-called-out-as-architectural-requirements.aspx#9848057</link><pubDate>Sat, 25 Jul 2009 06:20:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9848057</guid><dc:creator>NickMalik</dc:creator><description>&lt;p&gt;Hi Frens,&lt;/p&gt;
&lt;p&gt;we agree.&lt;/p&gt;
&lt;p&gt;--- N&lt;/p&gt;
</description></item></channel></rss>