<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dennis Stevens &#187; Capability Analysis</title>
	<atom:link href="http://www.dennisstevens.com/category/capability-analysis/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dennisstevens.com</link>
	<description>Enabling the Agile Enterprise</description>
	<lastBuildDate>Wed, 08 Sep 2010 00:55:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Agile Bargains</title>
		<link>http://www.dennisstevens.com/2009/12/02/the-agile-bargains/</link>
		<comments>http://www.dennisstevens.com/2009/12/02/the-agile-bargains/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 14:50:00 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Change Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.dennisstevens.com/2009/12/02/agile-business-value-equation/</guid>
		<description><![CDATA[There is a nice summary of Kanban at http://www.kanbandistilled.com/. It shows Feature Requests going into the Software Development Pipeline and Improved Software coming out.The article does a great job of showing how Kanban helps improve the flow of software development. Getting better at software development is important and Agile methods have been helping teams achive [...]]]></description>
			<content:encoded><![CDATA[<p>There is a nice summary of Kanban at <a href="http://www.kanbandistilled.com/">http://www.kanbandistilled.com/</a>. It shows Feature Requests going into the Software Development Pipeline and Improved Software coming out.The article does a great job of showing how Kanban helps improve the flow of software development. Getting better at software development is important and Agile methods have been helping teams achive this goal. This is the first bargain of Agile-delivering software faster and with much higher quality then ever before. In most organizations however, this is only a small part of the business equation. Even when development is successful, a narrow focus on software  development narrows the value an organization will achieve. We also need to align of development with the most important needs of the business, balance development with adoption, and ensure improved business performance is achieved.</p>
<p><a href="http://www.dennisstevens.com/wp-content/uploads/2009/11/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" src="http://www.dennisstevens.com/wp-content/uploads/2009/11/image_thumb2.png" border="0" alt="image" width="617" height="377" /></a></p>
<p><strong><em>Feeding the Software Development Pipeline</em></strong></p>
<p>Unless a company is a software development service provider, its business is not about software development. Software likely enhances the businesses ability to create value for it’s customers. So, while Agile development helps teams get better at software development – the goal is to get better at creating value for it’s customers. The focus of Agile software development is upside down. The focus should be on the capabilities of the business. Aligning development with the needs of the business requires understanding  which business capabilities will benefit from improvement and prioritizing these needs based on business value.</p>
<p>After using a business capability approach to need identification and prioritization, the business needs must be appropriately scoped and communicated to development. Over the last month I have been writing about Making Agile Requirements Work. need to make sure the requests that go into the Software Development Pipeline are clear and appropriately defined. Following the six principles of Agile Requirements That Work help with this feeding of the Software Development Pipeline.</p>
<ol>
<li><a href="http://www.dennisstevens.com/2009/10/26/making-agile-requirements-work-no-1/">Articulate Purpose and Outcome</a></li>
<li><a href="http://www.dennisstevens.com/2009/10/27/making-agile-requirements-work-no-2/">Establish a Shared Language</a></li>
<li><a href="http://www.dennisstevens.com/2009/10/29/making-agile-requirements-work-no-3/">Provide a Stable View of the Business</a></li>
<li><a href="http://www.dennisstevens.com/2009/11/03/making-agile-requirements-work-no-4/">Support Progressive Elaboration</a></li>
<li><a href="http://www.dennisstevens.com/2009/11/30/making-agile-requirements-work-no-5/">Testable</a></li>
<li><a href="http://www.dennisstevens.com/2009/12/01/making-agile-requirements-work-no-6/">Prioritized and Reflect Business Value and Risk</a></li>
</ol>
<p><strong><em>Gaining Business Benefit</em></strong></p>
<p>The other part of the equation is to ensure the organization adopts and supports the improved software. Once the Software Development Pipeline has produced Improved Software, it still isn’t valuable until the Business Capability has achieved the intended performance improvement. Just as the elicitation and analysis of requirements has to match the cadence and needs of Software Development. Software Development has to match the cadence and needs of the organizations ability to adopt and support Improved Software. Part of the overall feedback to the organization includes ensuring the capability improvement is achieved.</p>
<p><strong><em>Risk</em></strong></p>
<p>At every step in this equation different risks may exist. identifying, prioritizing, and scoping feature requests have risk associated with a lack of understanding. Software Development has risk associated with the Ability to Execute and Verify the delivered software. Benefit realization has risks associated with achieving adoption and being able to sustain and support change in the organization. These risks should be explicitly managed and feedback mechanisms should be in place to recognize the realization of risks. Failing to understand and manage risks in an integrated fashion will also diminish the organization’s ability to maximize benefit from it’s investment.</p>
<p><strong>The Real Agile Bargain</strong></p>
<p>The real agile bargain is the maximizing of economic outcomes by increasing the speed and focus an organization can improve and respond to the market. The Agile Business Value Equation is solved at the Business Capability Level. The ability to rapidly develop high quality software moves Technology from a change obstacle to become an change enabler. This happens at the intersection of Feeding the Software Development Pipeline, Developing the Software, and Gaining Business Benefit. Solving any of these parts independent of each other does not result in optimizing business agility.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F12%2F02%2Fthe-agile-bargains%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/12/02/the-agile-bargains/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Agile Requirements Work-No 3</title>
		<link>http://www.dennisstevens.com/2009/10/29/making-agile-requirements-work-no-3/</link>
		<comments>http://www.dennisstevens.com/2009/10/29/making-agile-requirements-work-no-3/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 13:05:54 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Big Agile]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Requirements]]></category>

		<guid isPermaLink="false">476512743</guid>
		<description><![CDATA[ Dictionary.com defines a requirement as “that which is required; a thing demanded or obligatory”.
BABOK® is consistent with this. It defines a requirement as:

A condition or capability needed by a stakeholder to solve a problem or achieve an objective 
A condition or capability that must be met or possessed by a solution or solution component [...]]]></description>
			<content:encoded><![CDATA[<p><img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://z.about.com/d/birding/1/0/L/Y/0600turkey2.jpg" width="159" height="139" /> Dictionary.com defines a requirement as “that which is required; a thing demanded or obligatory”.</p>
<p>BABOK® is consistent with this. It defines a requirement as:</p>
<ol>
<li>A condition or capability needed by a stakeholder to solve a problem or achieve an objective </li>
<li>A condition or capability that must be met or possessed by a solution or solution component to satisfy a contract, standard, specification, or other formally imposed documents. </li>
<li>A documented representation of a condition or capability as in (1) or (2).</li>
</ol>
<p>The purpose of documenting requirements is not to document detailed steps that someone performs – it is to communicate the outcome needed to achieve an objective. One problem that arises is when requirements are expressed as a document of the existing process – typically through a review of existing process documentation or through observation of people doing the job. As I have discussed in previous posts, just documenting process can lead you into the <a href="http://www.dennisstevens.com/2009/10/26/making-agile-requirements-work-no-1/">How Trap</a> and it can fail to generate a useful <a href="http://www.dennisstevens.com/2009/10/27/making-agile-requirements-work-no-2/">shared understanding</a>. These problems arise when the focus is on <strong>how </strong>stakeholders are currently doing the work and not on understanding the challenges, problem or objective.&#160; But, focusing on process is a problem in another way. It is an unstable lens.</p>
<p><b><i>Unstable</i></b></p>
<p>Modeling processes early in the elicitation process is not helpful to creating an appropriate understanding of the effort. Process reflects how people say they ought to do a task in perfect circumstances. The work is almost never consistently performed based on process documentation – or even how you observe the process being performed. Exceptions, reorganizations, changes in personnel within or adjacent to process, new tools and technologies, and innovation will change the process view. Even just asking five different people what the process is will likely produce five different results. </p>
<p>The process view can also propagate flawed understanding on the part of the people doing the work. You have likely heard the story about the recently married young women who was cooking her first Thanksgiving dinner in her own home. She had invited her family over the beautiful house she shared with her husband to show her parents how successful she had become and to demonstrate her gratitude to her parents. As she brought out the turkey for dinner her mother noticed the young women had cut the tail off of the turkey. The mother asked her daughter why she had cut the tail off the turkey. “Because that’s they way you always did it, Mom.” The mother smiled and replied, “That’s because the only pan we owned was too small for the turkey.”</p>
<p>A process based view hides assumption, complexity and is an unstable representation. The real requirement doesn’t change based on who you ask, who is doing the job, or the most recent reorganization. Basing requirements on unstable views doesn’t reflect the intent of the solution. This may result in an expression of the solution that doesn’t meet the needs of the business. As you observe a process or review process documentation ask why each step is important and what the intent of each step is. Consider what would happen if the steps were done in a different order or something was left out. Creating a stable, purpose driven view of the objective will provide valuable input to the development organization that will result in an improved solution.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F10%2F29%2Fmaking-agile-requirements-work-no-3%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/10/29/making-agile-requirements-work-no-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Requirements Analysis</title>
		<link>http://www.dennisstevens.com/2009/10/20/agile-requirements-analysis/</link>
		<comments>http://www.dennisstevens.com/2009/10/20/agile-requirements-analysis/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 12:30:18 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.dennisstevens.com/?p=311</guid>
		<description><![CDATA[Today I am discussing the tasks from the BABOK® associated with Requirements Analysis. These are the tasks to organize, prioritize, and model requirements and risks. There are six tasks associated with Requirements Analysis. I show the BABOK purpose. Then I discuss the impact on who and how in projects leveraging progressive elaboration, incremental delivery, close customer engagement, [...]]]></description>
			<content:encoded><![CDATA[<p>Today I am discussing the tasks from the BABOK® associated with Requirements Analysis. These are the tasks to organize, prioritize, and model requirements and risks. There are six tasks associated with Requirements Analysis. I show the BABOK purpose. Then I discuss the impact on <em><span style="text-decoration: underline;">who</span></em> and <em><span style="text-decoration: underline;">how</span></em> in projects leveraging progressive elaboration, incremental delivery, close customer engagement, ongoing learning, and self organization.</p>
<p><strong><em>Prioritize Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">Prioritization of requirements ensures that analysis and   implementation efforts focus on the most critical requirements.</td>
<td valign="top">In Agile, requirements are progressively elaborated.   Throughout the Elicitation Task, Elicitation results are progressively broken   down and elaborated. At each point of elaboration the constituent parts need   to be evaluated and prioritized based on business value contribution and risk   burn-down.  In Agile, this is not a   one-time up front activity. This happens throughout the life of the project   on all remaining work and new work brought in from learning about the   product.</td>
</tr>
</tbody>
</table>
<p><strong><em>Organize Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">The purpose of organizing requirements is to create a set of   views of the requirements for the new business solution that are   comprehensive, complete, consistent, and understood from all stakeholder   perspectives.</td>
<td valign="top">In Agile, it is important to organize requirements to   minimize dependencies between feature sets. This reduces complexity and risk   and improves testability at the business value level. Since requirements are   progressively elaborated, this can be shown as the Solution Architecture from   a business standpoint. Expect this Solution Architecture to evolve based on   feedback from the customer once they start to experience the product. Requirements   should be organized around business value – and not technical   implementations. Only within component teams – where the business value   arises from delivering enabling technology – is it appropriate to depict   technical requirements. Even then, these requirements need to be prioritized   and filtered based on risk burn down and business value contribution.</td>
</tr>
</tbody>
</table>
<p><strong><em>Specify and Model Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">To analyze expressed   stakeholder desires and/or the current state of the organization using a   combination of textual statements, matrices, diagrams and formal models.</td>
<td valign="top">At different   levels of elaboration there are different methods for specifying and modeling   requirements. The approach should support progressive elaboration, is   adaptable to change based on learning, and doesn’t box in the team to   solutions too early.  It should also   ensure that intent and intended business value is communicated consistently   through the elaboration.  Agile teams   tend to use Stories and Tasks at the lowest level of decomposition. These   Stories and Tasks can be supported by detailed documentation and use cases.   It is becoming increasingly common for acceptance tests to be produced as   part of specifying and modeling the requirements.</td>
</tr>
</tbody>
</table>
<p><strong><em>Define Assumptions and Constraints</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">Identify factors other   than requirements that may affect which solutions are viable.</td>
<td valign="top">On Agile   projects this is handled through a risk management approach that treats risks   as stories within themes. Risk mitigation activities are prioritized along   with stories and burned down and re prioritized as they stories are   performed. This is typically produced by the business analyst and project   manager along with the team, prioritized by the product owner, and performed   by the team.</td>
</tr>
</tbody>
</table>
<p><strong><em>Verify Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">Requirements verification   ensures that requirements specifications and models meet the necessary   standard of quality to allow them to be used effectively to guide further   work.</td>
<td valign="top">Requirements   are verified by the team during the project. Through retrospectives and   operations reviews the team may decide to modify the level of detail to or   the method of specifying and modeling requirements to improve the performance   of the team.</td>
</tr>
</tbody>
</table>
<p><strong><em>Validate Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">The purpose of   requirements validation is to ensure that all requirements support the   delivery of value to the business, fulfill its goals and objectives, and meet   a stakeholder need.</td>
<td valign="top">Requirements   are verified throughout the development and delivery of the solution through   continual involvement of the product owner and customer. This happens at   release planning, iteration planning, during development, and at customer   acceptance.</td>
</tr>
</tbody>
</table>
<p><strong>Agile Requirements Analysis</strong><br />
All of the tasks in Requirements Analysis are important on Agile projects. The primary distinction in this Knowledge area is the support for the emergence of the solution over time. Particularly interesting is Define Assumptions and Constraints. While many Agile teams focus on the impediments to delivering code, they fail to manage the bigger risks and constraints associated with getting to business value.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F10%2F20%2Fagile-requirements-analysis%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/10/20/agile-requirements-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Requirements Management and Communication</title>
		<link>http://www.dennisstevens.com/2009/10/19/requirements-management-and-communication/</link>
		<comments>http://www.dennisstevens.com/2009/10/19/requirements-management-and-communication/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 10:00:01 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Big Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Business Capability]]></category>

		<guid isPermaLink="false">550710395</guid>
		<description><![CDATA[Today I am discussing the tasks from the BABOK associated with Requirements Management and Communication. These are the tasks Ensure knowledge gained through business analysis activities throughout the effort is shared among the team. There are six tasks associated with Requirements Management and Communication. I show the BABOK® purpose. Then I discuss the impact on who [...]]]></description>
			<content:encoded><![CDATA[<p>Today I am discussing the tasks from the BABOK associated with Requirements Management and Communication. These are the tasks Ensure knowledge gained through business analysis activities throughout the effort is shared among the team. There are six tasks associated with Requirements Management and Communication. I show the BABOK® purpose. Then I discuss the impact on <em><span style="text-decoration: underline;">who</span></em> and <em><span style="text-decoration: underline;">how</span></em> in projects leveraging progressive elaboration, incremental delivery, close customer engagement, ongoing learning, and self organization.</p>
<p><strong>Requirements Management and Communication</strong><strong>: </strong><strong>BABOK® Tasks</strong></p>
<p><strong><em>Prioritize Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">Prioritization of   requirements ensures that analysis and implementation efforts focus on the   most critical requirements.</td>
<td valign="top">In Agile,   requirements are progressively elaborated. Throughout the Elicitation Task,   Elicitation results are progressively broken down and elaborated. At each   point of elaboration the constituent parts need to be evaluated and   prioritized based on business value contribution and risk burn-down.  In Agile, this is not a one-time up front   activity. This happens throughout the life of the project on all remaining   work and new work brought in from learning about the product.</td>
</tr>
</tbody>
</table>
<p><strong><em><br />
Organize Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">The purpose of   organizing requirements is to create a set of views of the requirements for   the new business solution that are comprehensive, complete, consistent, and   understood from all stakeholder perspectives.</td>
<td valign="top">In Agile, it is   important to organize requirements to minimize dependencies between feature   sets. This reduces complexity and risk and improves testability at the   business level value. Since requirements are progressively elaborated, this   big block architecture results in the Solution Architecture from a business   standpoint. Requirements should be organized around business value – and not   technical implementations. Only within component teams – where the business   value arises from delivering enabling technology – is it appropriate to   depict technical requirements. Even then, these requirements need to be   prioritized and filtered based on risk burn down and business value contribution.   Story Maps within Epics are a method of implementing Organize Requirements.</td>
</tr>
</tbody>
</table>
<p><strong><em><br />
Specify and Model Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">To analyze expressed   stakeholder desires and/or the current state of the organization using a   combination of textual statements, matrices, diagrams and formal models.</td>
<td valign="top">At different   levels of elaboration there are different methods for specifying and modeling   requirements. The approach should support progressive elaboration, is   adaptable to change based on learning, and doesn’t box in the team to   solutions too early.  It should also   ensure that intent and intended business value is communicated consistently   through the elaboration.  Agile teams tend   to use Stories and Tasks at the lowest level of decomposition. These Stories   and Tasks can be supported by detailed documentation and use cases. It is   becoming increasingly common for acceptance tests to be produced as part of   specifying and modeling the requirements.</td>
</tr>
</tbody>
</table>
<p><strong><em><br />
Define Assumptions and Constraints</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">Identify factors other   than requirements that may affect which solutions are viable.</td>
<td valign="top">On Agile   projects this is handled through a risk management approach that treats risks   as stories within themes. Risk mitigation activities are prioritized along   with stories and burned down and re prioritized as they stories are   performed. This is typically produced by the business analyst and project   manager along with the team, prioritized by the product owner, and performed   by the team.</td>
</tr>
</tbody>
</table>
<p><strong><em><br />
Verify Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">Requirements   verification ensures that requirements specifications and models meet the   necessary standard of quality to allow them to be used effectively to guide   further work.</td>
<td valign="top">Requirements   are verified by the team during the project. Through retrospectives and   operations reviews the team may decide to modify the level of detail to or   the method of specifying and modeling requirements to improve the performance   of the team.</td>
</tr>
</tbody>
</table>
<p><strong><em><br />
Validate Requirements</em></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="50%" valign="top">Purpose</td>
<td width="50%" valign="top">Agile Impact</td>
</tr>
<tr>
<td valign="top">The purpose of   requirements validation is to ensure that all requirements support the   delivery of value to the business, fulfill its goals and objectives, and meet   a stakeholder need.</td>
<td valign="top">Requirements   are verified throughout the development and delivery of the solution through   continual involvement of the product owner and customer. This happens at   release planning, iteration planning, during development, and at customer   acceptance.</td>
</tr>
</tbody>
</table>
<p><strong>Agile Requirements Management and Communication</strong><strong> </strong></p>
<p>All of the tasks in Solution Verification and Validation are important on Agile projects. The primary distinctions in this Knowledge area are the support for the emergence of the solution over time. Particularly interesting are Assess Organizational Readiness and Transition Requirements as these are often overlooked in Agile projects (many software development projects). Remember, the product isn’t done-done until the customer is using it and achieving the benefits expected by the product owner.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F10%2F19%2Frequirements-management-and-communication%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/10/19/requirements-management-and-communication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Business Analysis</title>
		<link>http://www.dennisstevens.com/2009/10/12/agile-business-analysis/</link>
		<comments>http://www.dennisstevens.com/2009/10/12/agile-business-analysis/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 10:02:40 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Big Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.dennisstevens.com/?p=284</guid>
		<description><![CDATA[Agile methods are helping teams deliver software faster and with much higher quality than ever before. In response, Agile has emerged as a driving force in software development. Businesses want to achieve the benefits of improved quality and rapid delivery.   But getting faster at development is just part of the equation.  As I discussed in [...]]]></description>
			<content:encoded><![CDATA[<p>Agile methods are helping teams deliver software faster and with much higher quality than ever before. In response, Agile has emerged as a driving force in software development. Businesses want to achieve the benefits of improved quality and rapid delivery.   But getting faster at development is just part of the equation.  As I discussed in my presentation “<a href="http://www.dennisstevens.com/2009/09/02/feeding-the-agile-beast/">Feeding The Agile Beast</a>”, you have to identify, prioritize, and scope what you are going to build so that risk is managed and ROI is maximized.</p>
<p><strong>So, What’s New?</strong></p>
<p>Agile methods have emerged from a few simple concepts. Change happens and people trump process (Thanks to Ken Schwaber via Steve Adolph). In response to this, substantially all of the Agile methods describe a way of delivering software that support the following attributes:</p>
<ul>
<li>Progressive elaboration a little ahead of demand (for planning,  requirements,  architecture, testing,  etc)</li>
<li>Incremental and iterative delivery (though not time-boxed in Kanban/Lean continuous flow)</li>
<li>Ongoing learning through close customer engagement regarding product fit/business value that informs requirements and prioritization</li>
<li>Ongoing learning regarding development/delivery approach and interactions that informs ongoing improvement efforts</li>
<li>Self organization around the work (where the people performing the work decides how best to do their jobs within organizationally appropriate constraints)</li>
</ul>
<p>In traditional software development, this identification and prioritization of what you are going to build falls in the role of the Business Analyst. However, traditional business analysis methods do not operate in harmony with the iterative and incremental cadence of Agile methods. For the most part, this is different than traditional plan driven projects.  Over the next week or so, I am going through the capabilities associated with Business Analysis and discuss the how Agile impacts how business analysis is performed.</p>
<p><strong>The Guide to the Business Analysis Body Of Knowledge</strong></p>
<p>I am going to build this discussion on work from <a href="http://www.theiiba.org/AM/Template.cfm?Section=Body_of_Knowledge">The Business Analysis Body of Knowledge</a>® (BABOK®) from the International Institute of Business Analysis. The IIBA® is the independent non-profit professional association serving the growing field of Business Analysis.  The IIBA has collected the current generally accepted practices within Business Analysis in The Business Analysis Body of Knowledge® (BABOK®).The BABOK® Guide describes Business Analysis areas of knowledge, their associated activities and the tasks and skills necessary to be effective in their execution.</p>
<p>The BABOK has six Knowledge Areas.</p>
<ul>
<li>Business Analysis Planning and Monitoring: Determine which business analysis activities are necessary to support an effort.</li>
<li>Elicitation: Understand the underlying needs rather than stated or superficial desires.</li>
<li>Enterprise Analysis: Understand what the enterprise is capable of performing.</li>
<li>Solution Verification and Validation: Determine which solution best fits the business need – includes assessing the performance and effectiveness of the solution.</li>
<li>Requirements Analysis: Organize, prioritize, and model requirements and risks.</li>
<li>Requirements Management and Communication: Ensure knowledge gained through business analysis activities throughout the effort is shared among the team.</li>
</ul>
<p>Within each Knowledge Area are several tasks. I will focus on how progressive elaboration, incremental delivery, close customer engagement, ongoing learning, and self organization impact <em><span style="text-decoration: underline;">who</span></em> performs business analysis tasks and <em><span style="text-decoration: underline;">how</span></em> business analysis tasks are performed.</p>
<p><strong>Agile Business Analysis</strong></p>
<p>Just to set my context. All of the Capabilities that are reflected in the BABOK happen on all projects – traditional or Agile. They may or may not be done by a specific role. They may or may not happen in a specific phase. They may or may not be done with any ceremony or intention. They do occur. Since the identification, prioritization, and scoping of requirements is so important to success, they need to be done well. And on an Agile project they need to be done so they enable – not constrain or impede – the delivery of value in projects leveraging progressive elaboration, incremental delivery, close customer engagement, ongoing learning, and self organization.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F10%2F12%2Fagile-business-analysis%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/10/12/agile-business-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big Agile Adoption Approach</title>
		<link>http://www.dennisstevens.com/2009/10/05/big-agile-adoption-approach/</link>
		<comments>http://www.dennisstevens.com/2009/10/05/big-agile-adoption-approach/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 10:23:37 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Big Agile]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Change Management]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Systems Thinking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Business Capability]]></category>
		<category><![CDATA[Fifth Discipline]]></category>
		<category><![CDATA[Theory of Constraints]]></category>

		<guid isPermaLink="false">http://www.dennisstevens.com/?p=279</guid>
		<description><![CDATA[This post is going to go back over the past month’s posts and bring them together into a model I can use to discuss Big Agile. I took me a while to noodle this out so I haven’t posted in over a week. This approach is based on over two decades of improving performance in [...]]]></description>
			<content:encoded><![CDATA[<p>This post is going to go back over the past month’s posts and bring them together into a model I can use to discuss Big Agile. I took me a while to noodle this out so I haven’t posted in over a week. This approach is based on over two decades of improving performance in development organizations. The last decade has been spent working to explicitly articulate what I&#8217;ve done to consistently deliver results. It is amazing how much you learn when you take concepts practiced unconsciously and write them in a (relatively) concise format.</p>
<p><strong>Enterprise Agility</strong></p>
<p>Many companies are dependent on technology to be competitive. Either because they deliver technology as their product or because technology enables the processes they depend on. For those companies it is important to be able to operate faster than their competition.  This requires not only the ability to rapidly deliver technology – but the ability to adapt their organization.  This is the concept of operating within your competitors decision cycle. The model I use to demonstrate this concept is <a href="http://www.dennisstevens.com/2009/09/14/a-model-for-the-agile-enterprise/">John Boyd’s O-O-D-A</a> model.</p>
<p>This is <a href="http://www.dennisstevens.com/2009/09/23/what-does-scaling-agile-to-the-enterprise-mean-part-2/">Enterprise Agility</a>, when the enterprise has learned to leverage technology and change management to develop an energized workforce frequently delivering value that meets the emerging needs of the customer.</p>
<p><strong>Three Concepts for Achieving the Agile Enterprise</strong></p>
<p>I am going to build on three concepts in showing how to build Enterprise Agility.</p>
<p><em>1. Theory of Constraints.</em> You can’t get there all at once. It is necessary to decide where to focus. You have to develop the underlying capabilities from the <a href="http://www.dennisstevens.com/2009/09/21/what-does-scaling-agile-to-the-enterprise-mean/">bottom up</a>. If you can&#8217;t produce quality product, the best ideas in the world will run into problems. The way of thinking about problems covered in the management system the <a href="http://www.dennisstevens.com/2009/09/17/theory-of-constraints-and-big-agile/">Theory of Constraints</a> provides the method for deciding where to focus. Identify the current constraint, get the most out of the capability that is the constraint, subordinate the system to the constraint, elevate the constraint, and then continue to pursue this cycle. This “Process of On-Going Improvement” is applied to the flow of value to the customer.</p>
<p><em>2. Creative Solution Finding</em>. Once we understand where to change we need to understand what to change to. We have to apply a method to lead the overall adoption effort that supports aligning the capabilities with the overall goals of the organization. The stages of <a href="http://www.dennisstevens.com/2009/09/16/creative-solution-finding-and-big-agile/">Creative Solution Finding</a> are useful for identifying the situation specific approach to developing this road-map. There is no magic sauce for developing this road-map. By applying the seven principles, along with a knowledge of applicable best practices, a useful road-map that fits both the process and social context of the Enterprise can be developed.</p>
<p><em>3. The Learning Organization.</em> Technology development efforts are knowledge based efforts. As such, they are performed through a social construct. To improve the performance of software development we have to not only improve the methods of development, we have to improve the performance of the social construct. First the individuals on the team must be willing to change. While the People Design principle in Creative Solution Finding will help prepare individuals for change, their <a href="http://www.dennisstevens.com/2009/09/10/an-irrational-approach-to-change-management/">personal fears and concerns</a> must also be addressed. Once the constraint is identified and a road-map for improvement is developed, the learning organization concepts in the <a href="http://www.dennisstevens.com/2009/09/15/the-fifth-discipline-and-the-agile-enterprise/">Fifth Discipline</a> are relevant. The right individual competencies must be developed on the team to do the job (Personal Mastery and Mental Models).  The team has to be functioning well together (Shared Vision and Team Learning).  And the Team has to be functioning in a way that is aligned with the goal of the overall system (Systems Thinking).  The primary tool used to influence a social construct to create change and to improve performance is the <a href="http://www.synaptus.com/resources-articles/68-project-conversations.html?start=1">conversation</a>.</p>
<p><strong>Discussing Big Agile</strong></p>
<p>So the approach is to take the <a href="http://www.dennisstevens.com/2009/09/08/decomposing-agile/">Big Agile capabilities</a>, (1) provide insight to identify when a specific set of capabilities at a level of scaling are the current constraint, (2) leverage the solution finding model and best practices to define/refine the roadmap to move toward,  (3) and then identify the competencies to develop and conversations that are necessary to execute the change.  Then continue the cycle continuously.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-280" title="capabilitymodel" src="http://www.dennisstevens.com/wp-content/uploads/2009/10/capabilitymodel.jpg" alt="capabilitymodel" width="616" height="399" /></p>
<p>This is the Big Agile improvement approach. It takes a model that I have been applying for two decades implicitly and evolving explicitly for the last decade. Clear direction combined with appropriate best practices and an effective adoption approach. All that’s left now is to build out the details of the capabilities, when they are a constraint, how to select appropriate best practices, and the conversations and change approach at each level of scaling for the model.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F10%2F05%2Fbig-agile-adoption-approach%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/10/05/big-agile-adoption-approach/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What Does Scaling Agile to the Enterprise Mean, part 2?</title>
		<link>http://www.dennisstevens.com/2009/09/23/what-does-scaling-agile-to-the-enterprise-mean-part-2/</link>
		<comments>http://www.dennisstevens.com/2009/09/23/what-does-scaling-agile-to-the-enterprise-mean-part-2/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 13:02:08 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Big Agile]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Change Management]]></category>
		<category><![CDATA[Business Capability]]></category>

		<guid isPermaLink="false">http://www.dennisstevens.com/?p=276</guid>
		<description><![CDATA[You’ve heard people say, “That’s great, but does it scale?” , we think we all agree on what that means. But, as with many words we use in this space, the word scale is potentially overloaded – everyone has a different idea of what the term means. This led to some interesting comments on my [...]]]></description>
			<content:encoded><![CDATA[<p>You’ve heard people say, “That’s great, but does it scale?” , we think we all agree on what that means. But, as with many words we use in this space, the word scale is potentially overloaded – everyone has a different idea of what the term means. This led to some interesting comments on my post Monday, <a href="http://www.dennisstevens.com/2009/09/21/what-does-scaling-agile-to-the-enterprise-mean/">What Does Scaling Agile to the Enterprise Mean</a>?. Even though I explained the five orders of scaling, and that the practices were different at each order of scale, there is confusion about what I mean by scaling and what we are scaling.</p>
<p>I have gone to dictionary.com to gain clarity on what it means to scale.  I pulled eight definitions to determine which one we intend.</p>
<p>Scale (skeyl)</p>
<ol>
<li>one of the thin, flat, horny plates forming the covering of certain animals, as snakes, lizards, and pangolins</li>
<li>a balance or any of various other instruments or devices for weighing</li>
<li>a succession or progression of steps or degrees; graduated series:</li>
<li>a succession of tones ascending or descending according to fixed intervals</li>
<li>the proportion that a representation of an object bears to the object itself</li>
<li><em>Australian Informal</em>. to ride on (public transportation) without paying the fare</li>
<li><em>Dentristy</em> scal•ing. The removal of calculus and other deposits on the teeth by means of instruments</li>
<li>a certain relative or proportionate size or extent</li>
</ol>
<p>We don’t mean what comes off fish, what we weigh things with, a way of measuring temperature, a musical construct, making a model of something, riding without paying the fare, or cleaning teeth.</p>
<p>So we must mean taking Agile to a proportionate size. That&#8217;s to point of the different orders of scaling. That Agile will be expressed differently at each order. But what are we actually taking to a proportionate size? Do we want to have an Enterprise wide stand-up with thousands of people? Do we want to have every job done by two people? What are we scaling?</p>
<p>Small team agile, as guided by the Agile Manifesto for Software Development, is a set of values and principles. Agile, as practiced in many development teams, is a set of management, leadership, and engineering practices resulting in an energized workforce frequently delivering software that meets the emerging needs of the customer. For other definitions of Agile, I went back to dictionary.com.</p>
<p>Agile (aj-ahyl)</p>
<ol>
<li>quick and well-coordinated in movement</li>
<li>marked by an ability to think quickly</li>
</ol>
<p>Well, we aren’t hoping that every person in the Enterprise learns to write code. It isn’t the specific practices that we want to see scale. It is quick and well coordinated movement we see in small team agile. It is the ability to think quickly and respond to emerging customer needs.</p>
<p>What do we mean by scaling agile to the enterprise? We are scaling the benefits of agile – the benefits of an energized workforce frequently delivering value that meets the emerging needs of the customer. We want to take this up from small development teams  so that the entire organization can be more adaptive and responsive.</p>
<p>It turns out that the capabilities (not the specific practices) that make the benefits of small team agile possible can be expressed at each order of scaling. And when layered together, the benefits of agile can be scaled to the enterprise level. Over the next few weeks, I am going to go through the management, leadership, and engineering capabilities of small team agile and discuss how the capabilities scale to deliver benefits at the different orders of scaling.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F09%2F23%2Fwhat-does-scaling-agile-to-the-enterprise-mean-part-2%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/09/23/what-does-scaling-agile-to-the-enterprise-mean-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What does Scaling Agile to the Enterprise Mean?</title>
		<link>http://www.dennisstevens.com/2009/09/21/what-does-scaling-agile-to-the-enterprise-mean/</link>
		<comments>http://www.dennisstevens.com/2009/09/21/what-does-scaling-agile-to-the-enterprise-mean/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 10:18:15 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.dennisstevens.com/?p=271</guid>
		<description><![CDATA[One of the hot topics at Agile 2009 was scaling agile and the Agile Enterprise. As we work toward a book on Big Agile:  Incremental strategies for Enterprise Agile adoption I want to establish a clear definition on what I mean by enterprise Agile adoption and what the Agile Enterprise is.
First off, The Agile Manifesto really [...]]]></description>
			<content:encoded><![CDATA[<p>One of the hot topics at Agile 2009 was scaling agile and the Agile Enterprise. As we work toward a book on Big Agile:  Incremental strategies for Enterprise Agile adoption I want to establish a clear definition on what I mean by enterprise Agile adoption and what the Agile Enterprise is.</p>
<p>First off, The Agile Manifesto really applies to software development. Small Team Agile is about getting teams together to develop software in a way that meets certain criteria. Agile teams operate as a healthy team and they reliably deliver a continual stream of high-quality valuable software. Valuable means that it serves some purpose for the customer. There are engineering practices, management practices, and leadership practices that combine together to enable Agile teams to be successful. A key benefit of Agile teams is that you can produce the most valuable features first, and continue to invest until the economic value of the code has been realized. Agile teams are different then most traditional software development teams because of the focus on small incremental delivery of always releasable code and the focus on pushing decision rights down to (empowering) the team.</p>
<p><strong>Scaling Agile</strong></p>
<p>I believe there are four distinct levels of Agile adoption. This is not four maturity levels. It is distinct levels where the engineering, management, and leadership capabilities express themselves differently to support the expanding context. In most organizations the scaling will not be linear – it will be implemented across these levels of scaling based on the needs of the business.</p>
<p><strong><em>Horizontal Scaling</em></strong> is the first level of scaling. This is the ability to get multiple teams to deliver a continual stream of high-quality valuable software. What happens when you begin to have the ability to spread Agile across teams is you begin to have the ability to strike a new bargain with the business. You can help product management interface with the business and customers in a new way where you can be responsive to individual customer requirements and changes in preferences in the market.</p>
<p><strong><em>First Order Scaling</em></strong> is where multiple teams are coordinated across a common project or product. Once you have teams reliably performing, a new level of coordination arises. Your constraint is no longer in the pace of development. New opportunities to exploit speed and responsiveness arise across product development are possible. Taking advantage of these new opportunities requires the engineering, management, and leadership practices to be expressed in new ways. For example, Architecture becomes more important from a common perspective. Agile, this raises the ability to strike new bargains with the customer. Complex projects can be developed in a more responsive fashion.</p>
<p><strong><em>Second Order Scaling</em></strong> is where multiple teams are coordinated across multiple projects and products. This is where you may begin to see economic benefits from reuse across products. The new bargain you strike with the business is now at the portfolio level. The business can be more flexible in investment into products and projects and then shift to other efforts when the economic benefit has been maximized.</p>
<p><strong><em>Third Order Scaling (the Agile Enteprise) </em></strong> is where the Agile Enterprise exists. This is where the business leverages the ability to continually deliver high quality valuable products beyond the product development effort. New bargains can be struck in Customer Service, Sales and Marketing, Invoicing, and every customer facing part of the business. Faster learning from the market, customer preferences, and other environmental inputs is leveraged to rapidly produce products that profitably adapt to what we learn.  Other internal functions are also impacted. In fact, third order scaling often comes into play in even Small Team Agile. Once you can benefit from (or have to take into account) making changes to the way value is delivered to your customer beyond the product development organization, you need to think about Third Order Scaling.</p>
<p><strong>Big Agile and Orders of Scaling</strong></p>
<p>Scaling Agile has different meanings depending on the respective scale. From effective small teams, to reliable small team adoption, through products, portfolio&#8217;s to the organization -the focus is on achieving scale appropriate outcomes and purposes while maintaining focused value creation at the Agile team level. You can’t execute an Agile strategy from the top if you can&#8217;t first operate in a reliable agile fashion at the small team level.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F09%2F21%2Fwhat-does-scaling-agile-to-the-enterprise-mean%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/09/21/what-does-scaling-agile-to-the-enterprise-mean/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Big Agile Learning Framework</title>
		<link>http://www.dennisstevens.com/2009/09/09/the-big-agile-learning-framework/</link>
		<comments>http://www.dennisstevens.com/2009/09/09/the-big-agile-learning-framework/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 18:52:52 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Big Agile]]></category>
		<category><![CDATA[Business Capability]]></category>
		<category><![CDATA[Requirements]]></category>

		<guid isPermaLink="false">http://www.dennisstevens.com/?p=244</guid>
		<description><![CDATA[If we accomplish one thing in Big Agile, we hope it will be to provide a way for people to think about what they are doing and create a learning framework for being able to do it well and take it to scale.
We don’t want to try to present the one right path you have to [...]]]></description>
			<content:encoded><![CDATA[<p>If we accomplish one thing in Big Agile, we hope it will be to provide a way for people to think about what they are doing and create a learning framework for being able to do it well and take it to scale.</p>
<p>We don’t want to try to present the one right path you have to follow &#8211; because we think each situation will require distinct strategies.  But we also want to get beyond the intuitive approach. Just saying, &#8220;Eliminate waste, identify and remove impediments, and write code better&#8221; is not enough guidance to create a reliable and sustainable approach that can be scaled .  So, what is a structured way to think about being good at Agile that supports getting big? Part of the answer is to focus on outcomes and purposes using capabilities. But how do we apply these and where do we start?</p>
<p>First off, teams are the organizational units that actually produce value.  So  getting small teams highly productive is the right place to start.  Then, as we scale, the principles that make the small team function well scale into different instances of the same principles. The objective is to add the least amount of overhead possible at each order while maintaining the productivity of the small teams.</p>
<p>Today, I present the (draft) Big Agile Learning Framework. This reflects the approach  I have intuitively used when approaching this problem. The three dimensions are Value, Velocity, and Context.  The capabilities of the organization operate together in an interdependent way.  Understanding how each one plays in this model, and how they impact each other, is a key to developing situation specific strategies for taking Agile to the Enterprise.</p>
<div id="attachment_242" class="wp-caption aligncenter" style="width: 354px"><img class="size-full wp-image-242      " title="ThinkingFramework" src="http://www.dennisstevens.com/wp-content/uploads/2009/09/ThinkingFramework-344x310-custom.jpg" alt="The Big Agile Thinking Framework" width="344" height="310" /><p class="wp-caption-text">The Big Agile Learning Framework</p></div>
<p style="text-align: center; ">
<p><strong>Value, Velocity, and Context</strong></p>
<p>Value: What the product development team provides back to the business that the business might sell to an actual customer.</p>
<p>When we look at value, we want to identify what Jack Welch called the value nub – the intersection where low-cost and just-the-right-features intersect. Moving up on the value axis means moving towards the nub. In Agile, we leverage the ability to get a working product to the customer frequently to continue to narrow in on the value hub. This helps us reduce the costs and risks associated with a granular up  front requirements effort.</p>
<p>Velocity: The rate that work is moving toward its objective.</p>
<p>Confusion over the distinction between speed, utilization and velocity is a common problem. Velocity is speed in one direction. The car driving 60 mph on a straight road has much higher velocity than the one going 60 mpg on a winding road.In Agile we increase velocity through finishing what we start, coordinating hand-offs to remove delay, improving quality, and continually removing waste from our processes.</p>
<p>Context: The environment that the team operates it. It is shaped by the team, the organization, the goal of the effort, and the sphere of influence of leadership.</p>
<p>Software development is a knowledge-based endeavor.  People need room to think and innovate.  Difficulties in the context can compromise efforts to improve Value and Velocity. In Agile we improve context through commitment to a productive environment, empowered teams, disciplined compliance with the team standards, working toward individual mastery, bringing in external knowledge, and managing expectations.</p>
<p>Each of the dimensions in the learning  framework are interdependent. Let’s take the capabilities around requirements as an example. In once case, we put in an up front focus on detailed requirements. We think they are perfect and they take a long time. So the capability is high on value but low velocity. As we move along on the project, errors in the original assumptions and evolving customer preference degrades the actual value, moving the capability down on the value axis. If we take an Agile approach, Agile recommends a lightweight, progressive elaboration approach to requirements. This would be farther right on the Velocity axis but potentially not as high on the Value axis. Over time, as we uncover specifics and move towards the value nub, the capability raises on the value axis. We also know when to stop adding things not valued by the customer &#8211; so we don&#8217;t begin to slide down the value axis again. Experience in software development shows this is effective, but the organizational context has to allow for this approach.</p>
<p>The Thinking Framework is a way to frame the development of strategies as we scale. As we develop situation specific strategies to scale Agile the way that we can impact Value and Velocity become more complex But keep in mind that we must not sub-optimize small team productivity. Top down approaches have not been consistently successful in scaling agile up into the enterprise. Just replicating the same practices up through the organization hasn’t worked either. Basing our work on capabilities and leveraging the thinking framework, we are able to develop appropriate strategies.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F09%2F09%2Fthe-big-agile-learning-framework%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/09/09/the-big-agile-learning-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Toward a Next Generation Capability Maturity Model</title>
		<link>http://www.dennisstevens.com/2009/09/07/toward-a-next-generation-capability-maturity-model/</link>
		<comments>http://www.dennisstevens.com/2009/09/07/toward-a-next-generation-capability-maturity-model/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 10:31:06 +0000</pubDate>
		<dc:creator>Dennis Stevens</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Capability Analysis]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[Big Agile]]></category>
		<category><![CDATA[Capability Model]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">1801935484</guid>
		<description><![CDATA[You may already know that Mike Cottmeyer and I signed a contract to produce a book that describes situation specific approaches to scaling Agile in the Enterprise. This book is based on the work Mike and I have done over the last 10 years or so in helping organizations improve their ability to deliver value [...]]]></description>
			<content:encoded><![CDATA[<p>You may already know that Mike Cottmeyer and I signed a contract to produce a book that describes situation specific approaches to scaling Agile in the Enterprise. This book is based on the work Mike and I have done over the last 10 years or so in helping organizations improve their ability to deliver value to their customers. While we have done the customer engagements separately, we think about this in a similar way and have been able to consistently deliver results to our clients.</p>
<p>Mike and I need to write about 157,000 words over the next 9 months to produce the content for the book. We will be blogging most of the ideas as we write the book and really look forward to your comments and feedback on our approach. Learning to tell the story so it resonates is really important to achieving our goal of writing a book that is very valuable to managers in organizations who are facing the Scaling Agile challenge.</p>
<p><strong>Common Capability Model</strong></p>
<p><strong> </strong></p>
<p>A Capability is “an ability or capacity the organization relies on for a specific purpose or outcome”. We focus on capabilities because we are initially interested in What and Why, not on How. Getting caught up in How without clarity on What and Why is common in methodology debates. We Call this the “How Trap”. Using a capability analysis approach we have been able to get people out of what we call the “How Trap” and get them thinking about purposes and outcomes.</p>
<p>As a core part of communicating how managers can develop situation specific strategies for scaling Agile, we are building out a common capability model. Why not use an existing model? Well, we are working from the understanding that there is no single model that is outcome/purpose focused that can be used to build out the scaling. We need to build that base &#8211; not by recreating it from scratch but by building on top of traditional models that have worked at the enterprise level, like CMMI and PMI, as well as Agile approaches that have worked at the team level like Open RUP, Scrum, and XP.</p>
<p>As I introduce this capability model, I will start from a Scrum/XP perspective even though those methods are based on practices and not Capabilities. For example, iterations in Scrum and short releases in XP are about Limiting Work in Progress. So is incremental development in Open RUP. I will introduce the Big Agile Capability Model in terms of  Agile practices. I will show how they are complementary to the traditional models and how this outcome-based understanding helps us develop a situation specific approach to scale. Finally, I will talk about common dysfunctions in organizations that limit effectiveness.</p>
<p><strong>Capability Analysis</strong></p>
<p>I have been working on this consolidated capability model for a few years. At a number of clients, I have used an approach based on a consolidation of CMMI, OPM3, XP, and Scrum. More recently I have included Kanban and the Open RUP in the model. At higher levels of scaling I rely on some other capability models like the Process Classification Framework, ITIL, Pragmatic Product Management, and the Business Architecture work I did at Microsoft. The goal is always to find a way to talk about outcomes and purposes before we talk about implementation.</p>
<p>The trick is in translating these jargon specific detailed models into something straight-forward that facilitates the development of situation specific strategies for scaling Agile. This is a challenge that Mike and I are working through now. Before everyone pukes on the idea of basing our approach on a capability based model, I want to cover a couple of important things.</p>
<p>First, I am not a big fan of staged models. I get the concept of CMMI’s levels of maturity &#8211; it is important to establish maturity in the lower level processes to gain benefit from the higher level processes. But I believe an organization can make progress on higher-level processes while they don’t have all the lower level processes in place. The capabilities are interdependent and so can’t be addressed in a linear manner.</p>
<p>In OPM3, the model is not staged. You pick an area of focus, such as project cost or program risk, and the model will walk your though capabilities related to that strategic area. Like OPM3, our model is not staged or prescriptive in nature. We talk about these in an order, but in reality, the team needs to be focused on improving capabilities based what makes the most sense for a specific situation.</p>
<p>Second, I don’t like the idea that Product Development, Project Management, and Software Engineering (<a href="http://www.dennisstevens.com/2009/03/12/project-management-product-management-and-agile/">http://www.dennisstevens.com/2009/03/12/project-management-product-management-and-agile/</a>) are evaluated separately and independently of other the rest of the organization. They are too tightly integrated in real life once you get past the small team to be treated separately. At the end of the day, there is no point in getting better at any of these areas if it doesn’t result in an improvement in delivery of value to the customer.</p>
<p>Finally, one problem I have with formal capability models in adoption is that these models come off as overly complicated, prescriptive, and aren’t typically treated as situation specific. Typical models drive the conversation, “What do I have to do to pass an audit”. We want to change the conversations in the business to, “What is the next most important thing we can focus on to improve our ability to deliver value to my customers”.</p>
<p><strong>The Big Agile Capability Model</strong></p>
<p>The model that Mike and I are working on starts with Small Team Agile. We build this out to Horizontal Scaling, where you have multiple teams doing Agile development on distinct outputs. Then we build out to First Order Scaling, where multiple Agile teams are working together on a single product. At Second Order Scaling, multiple Agile teams are working on multiple products. At Third Order Scaling, we are working to leverage the ability to rapidly deliver working software across the Enterprise. Wrapped around this is a set of common capabilities that apply to every level of scaling. Over the next several days I am going to describe the capability model we have derived from our experience and research. As with everything else in the book, this model is subject to change.</p>
<p>I am going to describe the Small Team agile capabilities over the next few days. Over the next few weeks, I will go into the capabilities associated with Horizontal scaling, then First Order, Second Order, and Third Order scaling.</p>
<p>As we go through our approach, please share your thoughts – good and bad – with the approach and how it is being communicated. We need to make sure this is valuable contribution to the body of works hoping to improve our ability to deliver high quality products that meet the needs of customer.</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.dennisstevens.com%2F2009%2F09%2F07%2Ftoward-a-next-generation-capability-maturity-model%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:auto;"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://www.dennisstevens.com/2009/09/07/toward-a-next-generation-capability-maturity-model/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
