<?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>Bob Lambert &#187; Project Management</title>
	<atom:link href="http://robertlambert.net/tag/project-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://robertlambert.net</link>
	<description>on business-aligned information technology</description>
	<lastBuildDate>Sat, 24 Jul 2010 20:26:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Use conceptual data modeling in requirements definition</title>
		<link>http://robertlambert.net/2010/07/use-conceptual-data-modeling-in-requirements-definition/</link>
		<comments>http://robertlambert.net/2010/07/use-conceptual-data-modeling-in-requirements-definition/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 16:24:50 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Analysis]]></category>
		<category><![CDATA[App Dev]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Data Modeling]]></category>
		<category><![CDATA[Database Design]]></category>
		<category><![CDATA[Requirements]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=979</guid>
		<description><![CDATA[I’ve often thought that conceptual data modeling was an underused tool in the arsenal available to requirements analysts, and in a recent conversation I found that many were surprised that it would be used in the requirements phase at all.  Checking the Business Analysis Body of Knowledge (BABOK) I found data modeling listed among the [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve often thought that conceptual data modeling was an underused tool in the arsenal available to requirements analysts, and in a recent conversation I found that many were surprised that it would be used in the requirements phase at all.  Checking the <a title="The DMBOK" href="http://www.theiiba.org/AM/Template.cfm?Section=Body_of_Knowledge" target="_blank">Business Analysis Body of Knowledge</a> (BABOK) I found data modeling listed among the tools available to requirements analysts to “to describe the concepts relevant to a domain, the relationships between those concepts, and information associated with them.”  There’s also Steve Hoberman’s excellent book on the topic, <em><a title="Data Modeling for the Business" href="http://www.amazon.com/Data-Modeling-Business-Handbook-High-Level/dp/0977140075" target="_blank">Data Modeling for the Business</a></em>, an introduction to data modeling aimed at a business audience<em>.</em></p>
<p>Data modeling has long been one of my requirements analysis tools of choice for custom operational applications.  To me, using data modeling techniques in requirements analysis reduces errors by improving requirements completeness, consistency, and communication, and provides unique continuity between analysis and design.   As David Elliott told me in conversation, “development of a data model uncovers many opportunities for clarification of existing requirements, or uncovering of additional detail.  At the very least, it confirms to one’s business customer that the BSA understands and can graphically demonstrate many business rules and relationships.”</p>
<p>I’ll hasten to add a these caveats.  (1) Perhaps strangely, conceptual data modeling is not useful in the same way in requirements for informational systems like data warehouses and marts (I’ll save that discussion for another post).  (2) Requirements definition for commercial off-the-shelf (COTS) applications follows a different methodology in which data modeling might be less applicable.  (3) This post is <em>not</em> about database design, but rather about use of conceptual data modeling as a tool for organizing and validating requirements.</p>
<p><strong> </strong></p>
<p><strong>Conceptual vs. logical data modeling</strong></p>
<p>It is easy to see why in practice there are varying definitions of the different types of data models.  The Wikipedia entry on <a title="Data Modeling at Wikipedia" href="http://en.wikipedia.org/wiki/Data_modeling" target="_blank">data modeling</a> reflects the standard terminology based on the ANSI four-level database architecture, but features a confusing diagram that to me blurs the distinction between conceptual and logical models. The entries on <a title="Logical data modeling at Wikipedia" href="http://en.wikipedia.org/wiki/Logical_data_model" target="_blank">Logical Data Model</a> and <a title="Conceptual data modeling at Wikipedia" href="http://en.wikipedia.org/wiki/Conceptual_schema" target="_blank">Conceptual Data Model</a> make them sound like the same thing: implementation-independent representations of business data.  Then, the entry on <a title="Database design at Wikipedia" href="http://en.wikipedia.org/wiki/Database_design" target="_blank">Database Design</a> contradicts them by stating that the logical model “contains all the needed logical and physical design choices and physical storage parameters needed to … create a database.”</p>
<p>For this post I’ll follow the definitions offered in Simison and Witt’s <a title="Data Modeling Essentials" href="http://www.google.com/search?q=data+modeling+essentials&amp;rls=com.microsoft:en-us:IE-Address&amp;ie=UTF-8&amp;oe=UTF-8&amp;sourceid=ie7&amp;rlz=1I7HPNN_en" target="_blank"><em>Data Modeling Essentials</em></a>:</p>
<ul>
<li>Conceptual      data modeling identifies a set of data structures that will meet      requirements, focusing on business and not on technical or DBMS-specific      concerns</li>
<li>Subsequent      logical data modeling maps the conceptual model to structures supported by      the particular DBMS, finalizing the design in DBMS-appropriate constructs      but not yet optimizing for performance, which comes next in physical      modeling</li>
</ul>
<p><strong>Use of data modeling in requirements definition</strong></p>
<p>Conceptual data modeling is hardly an outlier technique in requirements definition:</p>
<ul>
<li>Perhaps in reaction to problems experienced by adopters of <a title="Structured techniques at Wikipedia" href="http://en.wikipedia.org/wiki/Structured_analysis" target="_blank">Structured techniques</a> in the 80s, data modeling was the cornerstone analytical technique in Clive Finkelstein’s and James Martin’s widely-adopted <a title="Information engineering at Wikipedia" href="http://en.wikipedia.org/wiki/Information_engineering" target="_blank">Information Engineering</a> methodology.</li>
<li> The BABOK includes class modeling, data modeling’s object-oriented cousin, in its chapter on data modeling.  Class modeling is a core technique of object-oriented analysis.</li>
<li>Scott Ambler’s <a title="Agile Modeling" href="http://www.agilemodeling.com/essays/initialRequirementsModeling.htm" target="_blank">Agile Modeling site</a> offers conceptual (or “slim”) data modeling as an option in the initial envisioning stage.</li>
<li>Informally searching requirements definition templates available on the web, I found that about a third recommend including conceptual data models.</li>
</ul>
<p><strong>Benefits of data modeling in requirements analysis</strong></p>
<p>The BABOK separates requirements gathering from requirements analysis, defining requirements analysis as an essential step to organize, prioritize, and validate elicited requirements. Elicited requirements are the business objectives of the system. The analysis step organizes those objectives in a way that both makes sense to the business and guides subsequent application design.  Conceptual data modeling in this stage helps ensure requirements completeness, consistency, and communications:</p>
<p><strong>Completeness:</strong> In my experience most requirements analysis is process-based, and the most common tool the “swim lane” activity diagram.  While such techniques are essential for understanding complex processes, they can miss requirements that aren’t directly involved in the process itself.  For example, a complex process might reference federal, state, and local tax rates by zip code.  Analysts who are heads-down in defining the process might neglect the need for at least annual refresh of the tax rate tables.  Data modelers thinking in terms of business objects and events and their life cycles would be less likely to miss that one.  This kind of review is formalized in the “CRUD Matrix” a table identifying which business activities create, read, update, or delete which business entities.</p>
<p><strong>Consistency:</strong> Another challenge with process-oriented techniques is, for large systems, the risk of inconsistency in definition of business objects and events.  For example, I worked on requirements definition of a specialized order processing system.  Separate sub-teams defined field and headquarters processes, and as a result there were incompatible definitions of critical concepts like “customer” and “order”.  Time pressures made it difficult for the two sub-teams to work together to make their work consistent.  A separate data modeling sub-team can provide a reference point for object and event definitions and promote consistency between separate process analysis teams (on COTS installations the product database itself serves as the reference data model for separate process definition teams).</p>
<p><strong>Communications: </strong>Data management professional Peter Carr recounted to me his experience as a consultant on a large project: “the Conceptual Diagram helped us think about all the current state situations, and broadly about the relationships between entities in the organization.  It helped us to ask questions of the business when they were looking to enhance or build new systems to solve business requirements.  Paraphrasing executive colleague Rich Hartt, “the enterprise data model is like a piece of art, it provides a picture into the business that offers new insight through its drawing and interpretation&#8217;.  He went on to tell the key business leaders that the enterprise data model will continually be changing, but that it helped them gain understanding of their business in a different way than written business rules”.</p>
<p>For relational database applications, data modeling applies the same conceptual tool throughout the development cycle.  A conceptual data model used to define the problem domain uses the same structure and symbols as a physical database design, although of course it uses fewer.  On the other hand, activity diagrams and data flow diagrams are fundamentally different in nature from the software that they describe.  In effect, process designers need to translate analysis artifacts into a different language.  Logical and physical data modelers use exactly the same language as the business analysts who complete the conceptual data model.</p>
<p>My colleague Grayson Gorman cites “<a title="Key reasons for project failure" href="http://blogs.captechconsulting.com/blog/grayson-gorman/key-reasons-project-failure" target="_blank">Poorly Defined / Missed Requirements</a>” as a key contributor to IT project failure.  In my view making data modeling a more prevalent part of requirements definition could help by improving requirements completeness, consistency, and communication with business participants, and promote a seamless transition from requirements to design.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2010/07/use-conceptual-data-modeling-in-requirements-definition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business requirements up front</title>
		<link>http://robertlambert.net/2010/03/plan-decide-ac/</link>
		<comments>http://robertlambert.net/2010/03/plan-decide-ac/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 20:38:03 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Alignment]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Business Case]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=866</guid>
		<description><![CDATA[&#8220;Our goals can only be reached through a vehicle of a plan, in which we must fervently believe, and upon which we must vigorously act. There is no other route to success.&#8221; &#8211; Pablo Picasso It is an old story: about 30% of IT application projects succeed, 45% are &#8220;challenged,&#8221; and the other quarter fail [...]]]></description>
			<content:encoded><![CDATA[<p style="padding-left: 30px;"><em>&#8220;Our goals can only be reached through a vehicle of a plan, in which we must fervently believe, and upon which we must vigorously act. There is no other route to success.&#8221; &#8211; Pablo Picasso<br />
</em></p>
<p>It is an old story: about 30% of IT application projects succeed, 45% are &#8220;challenged,&#8221; and the other quarter fail altogether.   That&#8217;s the consistent result over the years of the Standish Group Study of Project Outcomes.  Jorge Dominguez, <a title="The Curious Case of the CHAOS Report 2009" href="http://www.projectsmart.co.uk/the-curious-case-of-the-chaos-report-2009.html" target="_blank">here</a>, displays a chart of the remarkably similar results since 1994.  Not a pretty picture, right?  Some question the validity of the Standish studies, but Scott Ambler parallels the Standish story in a recent Dr Dobbs column called &#8220;<a title="Lies, Great Lies, and Software Development Project Plans" href="http://www.drdobbs.com/architecture-and-design/218700176;jsessionid=LGGO4SWIVFMNZQE1GHPSKH4ATMY32JVN" target="_blank">Lies, Great Lies, and Software Development Project Plans</a>,&#8221; which itemizes the strategies commonly used by IT project managers to &#8220;stay out of trouble&#8221; when schedule/budget results don&#8217;t match initial estimates.  For example, &#8220;18% change the original schedule to reflect the actual results&#8221;.</p>
<p>The frequent reaction to stats like these is to scapegoat the IT folks by finding fault with their tools, processes, or skills.  If we just had a more efficient methodology, or a slick development suite, or a more highly skilled team, or a better project process, were more agile, or whatever, then application projects would be on time, resulting systems would be faultless, and we could drive down outrageous IT costs.</p>
<p>Mr. Ambler plays out the IT perspective in <a title="Estimating on Agile Projects" href="http://www.drdobbs.com/architecture-and-design/223100694;jsessionid=YY1DVF1KVSAFVQE1GHPSKH4ATMY32JVN?cid=RSSfeed_DDJ_All" target="_blank">this column</a> about Agile  project estimation.  Here&#8217;s how I paraphrase the gist of his logic: you can&#8217;t accurately estimate early on due to normal uncertainty of high level requirements; you <em>will</em> get new requirements that <em>will</em> expand scope.  If you offer a range of predicted outcomes, management will hold you to the most optimistic, which will turn out to be a gross underestimate. Your best strategy is to use an accurate estimation method (net or average velocity, described in the article), and be straight with management even if they &#8220;don&#8217;t like what they are hearing&#8221;.</p>
<p>Based on my experience that sequence of events can be distressingly true to life.  But I&#8217;ve been on the other kind of IT project as well, the kind that ends on time, stays on budget, and satisfies the business. The scope of Mr. Ambler&#8217;s article doesn&#8217;t include asking <em>why</em> the requirements are changing so drastically, but if it had, maybe he would have asked questions like these:</p>
<ul>
<li>Does the business unit involved have defined objectives and processes?</li>
<li>Are strategic and tactical business objectives of the project defined, and do they support the business unit&#8217;s objectives?</li>
<li>Are the critical business success factors of the project defined?</li>
<li>Does the new project change business processes and if so have the new ones been defined yet?</li>
<li>Are there documented business requirements and a process for evaluating/approving changes?</li>
</ul>
<p>Based on what I&#8217;ve seen requirements shifts that nearly double the cost of an IT project, like the ones Mr. Ambler describes, result from inadequate business definition and business requirements analysis.  Of course it is true that the &#8220;initial high-level requirements and architecture envisioning&#8221; early in a typical project only enables an estimate &#8220;in the +/- 30% range&#8221;.  But effective requirements and architecture definition, when based on effective business definition, can enable a much closer estimate.  Further, it is possible to accurately estimate how long it will take to provide the more accurate estimate.</p>
<p>In some cases the business definition prerequisites clearly don&#8217;t yet exist at the outset of an application development effort.  One thing I&#8217;ve seen work in such cases is to divide the project into two separate projects: one to closely define the effort, and if needed make up for any lacking business definition, and another to build, test, and install the application. In between the two phases management will have the opportunity to review the costs/benefits of the project and evaluate whether to continue or not.  <a title="Big project coming up? Learn to  two-step." href="../2009/03/big-project-two-step/" target="_blank">This post</a> describes one project that successfully used that strategy.</p>
<p>Please don&#8217;t read this as repudiation of Agile methods and advocation of &#8220;big requirements up front&#8221;.  Agile methods work well whether or not business prerequisites are defined, but they <em>seem</em> not to work well when (1) the project&#8217;s goals shift with evolving business definition and (2) the plan and budget aren&#8217;t adjusted accordingly.</p>
<p>Business definition, completed as part of a discrete requirements phase, that leads to a management decision to continue or not, gives the team the opportunity to build on a solid business foundation.  It also gives management a reasonable estimate and a chance to bail if the project isn&#8217;t worth it.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2010/03/plan-decide-ac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Groupthink and the Agile Architect</title>
		<link>http://robertlambert.net/2010/02/groupthink-and-the-agile-architect/</link>
		<comments>http://robertlambert.net/2010/02/groupthink-and-the-agile-architect/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 15:26:47 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[CapTech]]></category>
		<category><![CDATA[Leading & Following]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=734</guid>
		<description><![CDATA[Need uber-guru types who are willing to challenge the existing groupthink on design and architecture, especially on TDD and emergent design and pair programming anti-pattern&#8221; &#8211; job post at Monster.com 2/9/2010 I stumbled upon that quote following links on the role of the architect on an agile project. Maybe one important role of the architect [...]]]></description>
			<content:encoded><![CDATA[<p style="TEXT-ALIGN: center; PADDING-LEFT: 30px"><em>Need uber-guru types who are willing to challenge the existing groupthink on design and architecture, especially on TDD and emergent design and pair programming anti-pattern&#8221; &#8211; </em><a title="job post at Monster.com" href="http://jobview.monster.com/JAVA-J2EE-Developer-HIBERNATE-SPRING-Job-Atlanta-GA-US-85898854.aspx" target="_blank">job post at Monster.com</a> 2/9/2010</p>
<p>I stumbled upon that quote following links on the role of the architect on an agile project. Maybe one important role of the architect is to help the team avoid groupthink.</p>
<p>Groupthink is a situation where a team&#8217;s decision process breaks down and the team reaches decisions that aren&#8217;t fully vetted and evaluated.  Both Watergate and the Bay of Pigs fiasco are cited as examples (<a title="What is Groupthink?" href="http://www.psysr.org/about/pubs_resources/groupthink%20overview.htm" target="_blank">here</a>).  I&#8217;ve seen groupthink operate on IT projects, and to me the agile method&#8217;s effectiveness in enabling groups to work together means agile projects are particularly susceptible.</p>
<p>This post reviews groupthink then discusses how the architect on an agile project might help prevent it.</p>
<h2>Groupthink</p>
<table style="margin-left:1.4em;" border="0" align="right">
<tbody>
<tr>
<td><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="340" height="285" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/z_iGdiYO7gI&amp;hl=en_US&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="340" height="285" src="http://www.youtube-nocookie.com/v/z_iGdiYO7gI&amp;hl=en_US&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></td>
</tr>
</tbody>
</table>
</h2>
<p>From the <a title="Wikipedia article on groupthink" href="http://en.wikipedia.org/wiki/Groupthink">Wikipedia article on groupthink</a>, &#8220;groupthink is a type of thought exhibited by group members who try to minimize conflict and reach consensus without critically testing, analyzing, and evaluating ideas. Individual creativity, uniqueness, and independent thinking are lost in the pursuit of group cohesiveness. During groupthink, members of the group avoid promoting viewpoints outside the comfort zone of consensus thinking&#8230;Highly cohesive groups are much more likely to engage in groupthink, because their cohesiveness often correlates with unspoken understanding and the ability to work together with minimal explanations.&#8221;</p>
<p>In my experience risk of groupthink can manifest in several ways on IT projects:</p>
<ul>
<li><strong>Not Invented Here: </strong>Successful teams that work through conflict can settle into a shared culture that resists new ideas from outside the team.</li>
<li><strong>The Know It All: </strong>Less successfully integrated teams can be dominated by a single strong-willed individual, and can habitually avoid conflict by accepting without question the ideas of that one dominant team member.</li>
<li><strong><a title="The Abilene Paradox: The Management of Agreement" href="http://www.xecu.net/schaller/management/abilene.pdf" target="_blank">The Abilene Paradox</a>: </strong>Team members sometimes collectively decide on a course of action that no one on the team likes, when each member actually disagrees with the decision but mistakenly believes that their own preferences are counter to the group&#8217;s.</li>
</ul>
<h2>The Agile Architect</h2>
<p>According to the Psychologists for Social Responsibility, the <a title="What is Groupthink?" href="http://www.psysr.org/about/pubs_resources/groupthink%20overview.htm" target="_blank">standard remedies for groupthink</a> include this: &#8220;At least one articulate and knowledgeable member should be given the role of devil&#8217;s advocate (to question assumptions and plans)&#8221;. Of course the architect is an integral part of the overall project, but the skilled practitioner participates with the Agile team while maintaining separateness in order to remain a source of ideas from outside the team, and therefore provide a counterweight to groupthink by recognizing it and taking measures to prevent it.  Andrew Johnston&#8217;s site <a title="Agile Architect" href="http://agilearchitect.org" target="_blank">agilearchitect.org </a>describes some of the ways the architect is in but not totally of the team (<a title="The Role of the Agile Architect" href="http://www.agilearchitect.org/agile/role.htm" target="_blank">here</a>). Among the architect&#8217;s responsibilities, he or she:</p>
<ul>
<li>Ensures &#8220;the delivered system is consistent with the agreed architecture, and will meet the requirements&#8221;</li>
<li>&#8220;Is frequently an evangelist for new or different technologies, processes or solutions&#8221;</li>
<li>&#8220;Acts as a bridge between developers, managers and other communities, and spends much of his time translating and mediating between them&#8221;</li>
<li>&#8220;Recognizes the wide range of stakeholders, and their needs and concerns.&#8221;</li>
</ul>
<p>While core agile team members are immersed in the scope and design that defines the current sprint, the architect retains a larger perspective that encompasses alternative designs, emerging technologies, business fit, stakeholder concerns, and more. The architect is therefore uniquely positioned to recognize groupthink effects on the team&#8217;s technical activities. Here are two examples of how that works on agile projects:</p>
<ul>
<li><strong>Estimations and retrospectives: </strong>Mark Needham, <a title="The Wisdom of Crowds and groupthink in Agile Software Development" href="http://www.markhneedham.com/blog/2008/09/03/the-wisdom-of-crowds-and-groupthink-in-agile-software-development/" target="_blank">in this post</a>, cites risk of groupthink in agile estimation sessions and retrospectives.  The architect can address both of these risks. In estimation, the architect brings the diverse perspective that Mr. Needham says is important when team members estimate incorrectly due to incorrect team-shared assumptions. In retrospectives, the architect can be the one to increase the &#8220;safety&#8221; of different perspectives by raising or encouraging others to raise &#8220;things that have gone well, not gone well, and things that are confusing&#8221;.</li>
<li><strong>Work product reviews: </strong>I&#8217;m an advocate of code walkthroughs and design reviews, and making them explicit sprint tasks. The team can set aside an hour or two a week to review one or two representative work products in order to share ideas, ensure quality, and uncover overlooked errors or opportunities. In this forum the architect has the opportunity to reinforce quality work that is aligned with the requriements and architecture, or supportively correct deficiencies.</li>
</ul>
<p>Of course there are risks:</p>
<ul>
<li><strong>The architect shouldn&#8217;t be the know it all: </strong>In some cases the architect can be the strong-willed individual who stifles creativity and causes the team to avoid conflict.  Strong teamwork and interpersonal skills are core to the agile method, and those who staff the project must include those skills in selection and evaluation of the architect.</li>
<li><strong>Keep the architect different: </strong>If the architect is a core member of the team, he or she can become integrated into the group and therefore part of a groupthink dynamic.  For this reason, I advocate architects being assigned part-time to agile efforts. Otherwise, the architect risks becoming the extra developer, as near term sprint tasks expand to fill the available team bandwidth.  Consider sharing the architect among two or three projects, or assigning him or her responsibility for technical strategy and planning.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2010/02/groupthink-and-the-agile-architect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t forget to get it done</title>
		<link>http://robertlambert.net/2009/06/dont-forget-to-get-it-done/</link>
		<comments>http://robertlambert.net/2009/06/dont-forget-to-get-it-done/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 22:35:20 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Data Management]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Alignment]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=556</guid>
		<description><![CDATA[In a recent article at Information Management, Maria Villar and Theresa Kushner offer 4 Steps to Create an Effective IT and Business Partnership, a very useful list of ways to ensure &#8220;strong partnership between IT and business&#8221;.  To the authors this partnership &#8220;is the most important, and often overlooked, component to successfully managing critical business [...]]]></description>
			<content:encoded><![CDATA[<p>In a<a title="4 Steps to Create an Effective IT and Business Partnership" href="http://www.information-management.com/specialreports/2009_145/effective_information_technology_business_partnership_intelligence-10015537-1.html?ET=informationmgmt:e993:1038858a:&amp;st=email" target="_blank"> recent article at Information Management</a>,  Maria Villar and Theresa Kushner offer <em>4 Steps to Create an Effective IT and Business Partnership</em>, a very useful list of ways to ensure &#8220;strong partnership between IT and business&#8221;.  To the authors this partnership &#8220;is the most important, and often overlooked, component to successfully managing critical business data. Undertaking business intelligence, data quality or an enterprise data management [program] without full cooperation and collaboration between IT and the business is a formula for frustration.&#8221;  The authors suggest these four steps: &#8220;know your partner, develop a relationship, define roles and responsibilities, and establish open, regular communication channels.&#8221;  I recommend reading this article because IT folks (like me) seem tempted to neglect the habits that enable building a solid relationship with business people.</p>
<p>That said, it seems to me that there&#8217;s something missing.  Consider one BI manager I know who has fractious relations with his business customers.  I won&#8217;t go into detail, but trust me, relations have been rocky, and reviews from key business players poor.  What this person does extremely well is to build rock-solid, reliable systems, deliver on time, meet business needs, and ensure that the solution meets regulatory and audit concerns.  This BI group is essentially unchanged after many years, enduring even the recent recession in a devastated industry segment, and outlasting many of its critics.</p>
<p>To me, building a good relationships is important, but execution is the <em>sine qua non </em>of IT/business alignment.  Think about it.  Say you hire a really nice contractor to fix a leaky roof.  However personable he is, you won&#8217;t hire him to replace your windows if the roof still leaks after you&#8217;ve paid the bill.</p>
<p>My view: if you want to do it right adopt Villar&#8217;s and Kushner&#8217;s excellent suggestions but the fundamentals remain the same:</p>
<ol>
<li>Either (a) present a robust business case that all accept, or (b) pay attention to what you&#8217;ve been asked to do</li>
<li>Deliver what was requested/promised in 1</li>
<li>When things change go to 1</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2009/06/dont-forget-to-get-it-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Got chaos? Manage to milestones with risks and issues</title>
		<link>http://robertlambert.net/2009/06/forget-the-schedul/</link>
		<comments>http://robertlambert.net/2009/06/forget-the-schedul/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 12:05:13 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Alignment]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=235</guid>
		<description><![CDATA[&#8220;When you are in the middle of a story it isn&#8217;t a story at all, but only a confusion; a dark roaring, a blindness, a wreckage of shattered glass and splintered wood; like a house in a whirlwind, or else a boat crushed by the icebergs or swept over the rapids, and all aboard powerless to [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;<em>When you are in the middle of a story it isn&#8217;t a story at all, but only a confusion; a dark roaring, a blindness, a wreckage of shattered glass and splintered wood; like a house in a whirlwind, or else a boat crushed by the icebergs or swept over the rapids, and all aboard powerless to stop it.  It is only afterwards that it becomes anything like a story at all.  When you are telling it, to yourself or to someone else.</em>&#8221; &#8211; from <a title="Alias Grace by Margaret Atwood" href="http://books.google.com/books?id=kN51uejmHDUC&amp;dq=inauthor:margaret+inauthor:atwood&amp;lr=&amp;as_brr=0&amp;as_pt=ALLTYPES&amp;pgis=1" target="_blank"><em>Alias Grace </em>by Margaret Atwood</a></p>
<p>Whatever project management approach a team uses, sometimes everything falls apart, commonly due to work piling up at the end, but sometimes due to a key individual leaving, or a pivotal assumption no longer holding true, or many other reasons.  When that happens, the project can become like a whack-a-mole game, with leads working from issue to issue as they pop up faster and faster.</p>
<p>I served as one of many workstream PMs on one very large project where this didn&#8217;t happen.  Out of the seeming chaos the multi-million dollar IT project came in on time.  Here&#8217;s my view of what we did to succeed:</p>
<ul>
<li>Had very clear interim milestones that were generally known and served as reference points for discussion.  I&#8217;d characterize them as a milestone per workstream per month.</li>
<li>Held seemingly interminable weekly risk/issue discussions.  These were open, no holds barred reviews of anything at all that could endanger achieving milestones.  Often risk/issue discussions are polite exercises in avoiding the fact that the emperor has no clothes, with team members carefully avoiding forbidden topics.  On this project everything was open for discussion.</li>
<li>The program manager excelled at visibly not sweating the small stuff, directing workstream leadership to handle their localized risks and issues themselves, and focusing program energy only on those he judged to have overall impact.</li>
<li>Each of the many workstreams had its own project schedule; the program insisted on detail where it mattered but not where the detail was irrelevant.  For example, there was a minutely detailed cutover plan for production migration.</li>
</ul>
<p>Many of us were surprised when the chaos all came together on time with surprisingly few glitches. I attribute this program&#8217;s success to the program manager&#8217;s unflappable focus on milestones, encouragement of unfettered group risk/issue analysis, and ability to parse program from project concerns.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2009/06/forget-the-schedul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DQ, he isn&#8217;t so dumb he just needs glasses</title>
		<link>http://robertlambert.net/2009/05/dq-he-isnt-so-dumb-he-just-needs-glasses/</link>
		<comments>http://robertlambert.net/2009/05/dq-he-isnt-so-dumb-he-just-needs-glasses/#comments</comments>
		<pubDate>Sun, 03 May 2009 20:58:48 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Data Management]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Alignment]]></category>
		<category><![CDATA[Business Case]]></category>
		<category><![CDATA[CapTech]]></category>
		<category><![CDATA[Data Modeling]]></category>
		<category><![CDATA[Data Quality]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=418</guid>
		<description><![CDATA[In a recent very thoughtful post on data quality, Paul Erb plays out an analogy comparing data users with Don Quixote and data quality professionals with Sancho Panza, then reverses the analogy to cleverly coin the &#8220;Sancho Panza&#8221; test of data quality professionals.  He encourages data quality professionals promoting the critical role of data quality [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent very thoughtful <a title="I Don't Know Much About Data, but I Know What I Like" href="http://www.typepad.com/services/trackback/6a00d83454da7a69e201156e43e2a4970c" target="_blank">post on data quality</a>, Paul Erb plays out an analogy comparing data users with Don Quixote and data quality professionals with Sancho Panza, then reverses the analogy to cleverly coin the &#8220;Sancho Panza&#8221; test of data quality professionals.  He encourages data quality professionals promoting the critical role of data quality to apply a <em>what would Sancho say </em>test to ensure that they are aligned with the needs and interests of data consumers.</p>
<p>Here&#8217;s Paul&#8217;s description of the Sancho Panza test:</p>
<p style="padding-left: 30px;"><em>Think of Don Quixote [DQ] as the data-quality specialist or even the data management specialist or software vendor, bringing to the world his specialist&#8217;s perspective and vocabulary and enthusiasm, influenced by the books he&#8217;s read, visioning everyday business practices, with his value added, as goldmines for the organization.  Meanwhile Sancho Panza represents the person who does a practical job every day, who knows what works around here and what doesn&#8217;t.</em></p>
<p style="padding-left: 30px;"><em>I advocate to Data Quality (let&#8217;s call it DQ) consultants that they listen to this Sancho Panza, and consider themselves as Don Quixote.  Sancho doesn&#8217;t know much about data, but he knows what he likes&#8230; He&#8217;s open to listening, but slow to change, and he&#8217;ll tell you what he thinks.</em></p>
<p>Paul&#8217;s article reminded me that as a child I thought the problem with Don Quixote was that he tilted at windmills and attempted to ambush acting troupes because of his bad eyesight.  Of course this is not the case, but to me it provides a relevant perspective on data quality in many organizations.</p>
<p>Here&#8217;s the problem I&#8217;ve seen play out on a number of IT application projects:</p>
<ol>
<li>A high level business study recommends replacement or improvement of a current application.</li>
<li>The organization approves the project described in a business case citing benefits named in the business study and costs detailed for infrastructure, package software, and application development, but data-related costs are glossed over or left out entirely.</li>
<li>The project begins with a requirements phase that collects hundreds of imperative statements (&#8220;The system shall&#8230;&#8221;)  from business people who will use the system.</li>
<li>Late in the requirements phase, the team finds that data integration work in system interfaces will be more complex than expected.  A common example: the project requires changes to a feeder application with no documentation and no in-house support expertise.</li>
<li>Project leadership goes back to the sponsor seeking more money.</li>
</ol>
<p>In these situations the business case was incorrect because it did not account for all of the costs of data integration.  I&#8217;ve seen projects weather steps four and five well, but often discovery of previously unseen data complexity starts a disruptive chain of events.  (Sadly for the project manager, such situations are often seen as a failure of project management and corrected accordingly, but that&#8217;s a topic for another post.)</p>
<p>In my view the root cause of unforeseen data complexity on projects is the lack of a data constituency in current IT. It is only recently that success of companies like Google and Amazon have motivated emergence of data as a key business resource in the collective consciousness. Famous success stories notwithstanding (<a title="Show Me the Money: A DM/BI Business Value Primer" href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=4&amp;url=http%3A%2F%2Fwww.information-management.com%2Fspecialreports%2F2009_133%2Fbi_data_management_business_value-10015103-1.html&amp;ei=d_j9SaV_kfgwpJTlxwQ&amp;usg=AFQjCNE695M1rfsa2Ex7jvl4eA-_W9S75A" target="_blank">see this link</a>), there are relatively few senior IT managers with data quality backgrounds.  Conversely, many rose through the ranks of the infrastructure, application development, or business (process) analysis groups.</p>
<p>It will be a while before, for example, a Mobil CIO&#8217;s predecessor jobs include definition of a metadata repository or elimination of multipurpose data, but in the meantime here&#8217;s what we can do:  <a title="Big project coming up? Learn to two-step." href="http://robertlambert.net/2009/03/big-project-two-step/" target="_blank">add a business case to the application lifecycle as the last step in requirements</a>.  Stop the project when the real costs are known, recalculate the cost/benefit, and ask the sponsors if the project should continue.  Give Sancho (in this case the project team) a chance to speak to the reality of the situation, and hand to Don Quixote (project sponsors) the eyeglasses of in-depth visibility into real costs. If the decision is to move ahead with the project, then all share the same vision and the sponsors have endorsed the actual project, not the fuzzy image from earlier on that might have been a windmill.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2009/05/dq-he-isnt-so-dumb-he-just-needs-glasses/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IT should own the misalignment problem</title>
		<link>http://robertlambert.net/2009/04/it-should-own-the-misalignment-problem/</link>
		<comments>http://robertlambert.net/2009/04/it-should-own-the-misalignment-problem/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 12:37:39 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Analysis]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Alignment]]></category>
		<category><![CDATA[CapTech]]></category>
		<category><![CDATA[Requirements]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=401</guid>
		<description><![CDATA[In a new post at Insurance Networking News Ara Trembly provides a balanced perspective on IT/business misalignment (Business/IT Misalignment: Whose Responsibility?).  He describes the problem as cultural, more amenable to relational than management solutions.    His conclusion sums it up: &#8220;Take a geek/suit to lunch today!&#8221; To me (speaking as an IT professional) IT should take [...]]]></description>
			<content:encoded><![CDATA[<p>In a new post at Insurance Networking News Ara Trembly provides a balanced perspective on IT/business misalignment (<a title="Business/IT Misalignment: Whose Responsibility?" href="http://www.insurancenetworking.com/news/insurance_technlogy_business_IT_misalignment_ara_trembly-12149-1.html" target="_blank">Business/IT Misalignment: Whose Responsibility?</a>).  He describes the problem as cultural, more amenable to relational than management solutions.    His conclusion sums it up: &#8220;Take a geek/suit to lunch today!&#8221;</p>
<p>To me (speaking as an IT professional) IT should take the initiative to solve the problem.  Quoting Trembly, &#8220;business executives &#8230; make decisions, but they are for the most part mystified at the magical incantations and actions that produce IT results&#8221; and &#8220;IT people, on the other hand, are jealous of the sheer power wielded over them by business people who just don’t get IT.&#8221;  In other words, business people contend with an emotional and a substantive problem, &#8220;fear and lack of knowledge,&#8221; while IT people have only the emotional problem of jealousy.</p>
<p>If we take the emotions out of the picture (its just a job, right?) then that leaves IT folks with knowledge that business people need in order to maximize the value of IT and efficiency of business processes.  Ever since mainframes roamed the prehistoric rain forests of the &#8217;60s application developers have often been the most knowledgeable about how business processes really work, understanding both the intricacies of the application logic and how business people use the system to get things done.  These individuals can add value to the business discussion by bringing their knowledge to the table in a way that business people can understand.</p>
<p>In many organizations IT manages the forum in which these conversations can occur: the requirements process.  In my experience a good requirements process is long enough for the business and IT teams to get to know each other, offers generous opportunity for both structured and unstructured conversations about business needs, and brings together knowledgeable business and IT participants.  IT is typically able to bring the insights of seasoned application developers to the fore in a well planned requirements effort.</p>
<p>Yes, everyone has responsibility to &#8220;cultivate personal relationships based on mutual need and respect,&#8221; but IT can and should bring substance to the relationship in requirements definition.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2009/04/it-should-own-the-misalignment-problem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Someone&#8217;s integrating your data</title>
		<link>http://robertlambert.net/2009/03/someones-integrating-your-data/</link>
		<comments>http://robertlambert.net/2009/03/someones-integrating-your-data/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 23:16:54 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Data Management]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Database Design]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=223</guid>
		<description><![CDATA[Here&#8217;s a little-recognized fact about data integration: if you run a business or any sizable chunk of one, someone is integrating your data. In my professional life I have on occasion suggested data integration efforts.  Sometimes my suggestions have been accepted and sometimes not.  As an IT professional I understand that different managers have different [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a little-recognized fact about data integration: if you run a business or any sizable chunk of one, someone is integrating your data.</p>
<p>In my professional life I have on occasion suggested data integration efforts.  Sometimes my suggestions have been accepted and sometimes not.  As an IT professional I understand that different managers have different priorities, and in a given business situation sometimes other things are more important for example than having a single, consistent source for all customer records, or making sure production data matches financial data.</p>
<p>But as a customer?  That&#8217;s different.</p>
<p>A couple of years ago I bought a laptop from a company renowned for quality and customer service.  For the first weeks the computer was all it was cracked up to be, but then it cracked up.  The screen developed a mysterious flicker.  After a few diagnostic conversations they replaced the main logic board.  The problem recurred a few months later, and this time the company traded the lemon for a new computer.</p>
<p>All was well, but here we encounter the first data integration problem: they said <em>I</em> needed to call a different number to have my three-year service agreement transferred, which I did.</p>
<p>Months later I called service for a minor problem, and they had no record of the service agreement for the computer.  My warranty was still connected to the lemon.  After about an hour on the phone this company&#8217;s outstanding support staff came up with a more than satisfactory solution.</p>
<p>Even so, this company&#8217;s service records weren&#8217;t integrated with its warranty records.  In this case data integration happened because of my insistence and the service staff&#8217;s creativity.  The cost?  Only considering my last encounter, three service professionals were tied up for about an hour, and I&#8217;ll think twice before I buy again from this company.</p>
<p>It seems the choice is either pay now to integrate so all applications work from consistent data or pay later by having staff, customers, and suppliers do it on a case-by-case basis.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2009/03/someones-integrating-your-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big project coming up?  Learn to two-step.</title>
		<link>http://robertlambert.net/2009/03/big-project-two-step/</link>
		<comments>http://robertlambert.net/2009/03/big-project-two-step/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 23:14:02 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Business Case]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=185</guid>
		<description><![CDATA[History is littered with IT application projects that end late, go way over budget, or abandoned altogether.  I was fortunate enough to see one work out really well (almost &#8211; please read on).  It was no mistake.  It came down to a simple method advocated by a gentleman named named John Carpenter. The project was [...]]]></description>
			<content:encoded><![CDATA[<p>History is littered with IT application projects that end late, go way over budget, or abandoned altogether.  I was fortunate enough to see one work out really well (almost &#8211; please read on).  It was no mistake.  It came down to a simple method advocated by a gentleman named named John Carpenter.</p>
<p>The project was an HR management software conversion from one commercial off-the-shelf software (COTS) package to another.  The company concerned was conservative about spending money.  A previous business case had proposed a similar project.  The problem with that business case was that the benefits were really tough to conceptualize, so the cost/benefit analysis relied on soft benefits like &#8220;improved access to information&#8221; and &#8220;more consistent reporting data&#8221;.  The folklore was that the CFO had physically thrown that business case out of his office.</p>
<p>Mr. Carpenter&#8217;s method was to divide requirements definition and implementation into two distinct projects, with a different business case for each.  Under his direction, we wrote a ~1m business case for requirements definition only.  We proposed that this first project would result in another business case precisely specifying the schedule, method, cost, and benefits of the implementation project.</p>
<p>According to John, &#8220;the approach we used would not be considered a textbook approach for an ERP (enterprise resource planning) implementation.  What we did was more of a strategy to address the the CFO&#8217;s concerns.  The company was very risk-averse so we needed a way to take out as much risk as we could.  This was a large project because it involved four major modules affecting the three main areas of HR, and the company wanted to know costs and benefits at each step.  Complicating matters, HR business processes and therefore requirements were not clearly understood – the HR department seemed to rely on on the job training rather than documented procedures.  So we presented the first phase as an investment into understanding HR processes, as well a precise roadmap for implementation.&#8221;</p>
<p>This first business case was accepted by that same CFO and we got started on the 7-month effort. We brought in a consulting team experienced in the proposed COTS package, and followed their lead in requirements definition and prototyping.  During the prototyping step they walked HR staff through each relevant function in the software package, detailing how to configure the package for their specific needs and where we&#8217;d need to customize it.   The result was a definitive, detailed document that showed how the package fit HR process and how it would need to be customized.  Then, we used those results to build a business case that included specific configuration, customization, hardware, and software costs, as well as the process and organizational changes that would be required, not to mention the benefits that would accrue.  The business case showed substantial improvement, predicting real financial benefits within 4 years.  Even better, on a <a title="Depreciation" href="http://en.wikipedia.org/wiki/Depreciation" target="_blank">depreciated</a> basis the project literally was almost free, costing only $1,800 in the first year and returning benefits thereafter.</p>
<p>The business case was accepted by the company&#8217;s executive committee and the project started.  It ran exactly as outlined by the results of the requirements effort, with very few of the nasty surprises often typical of large projects, and it tracked to forecast schedule and budget.</p>
<p>Proving that no good deed goes unpunished, the company, whose core business was real estate, in effect folded in the financial crash of last autumn &#8217;09 , one month from implementation.</p>
<p>At any rate, the lesson I took away from the effort was that dividing requirements and development into separate projects gives business visibility into a project, helps manage financial risk, and enables the project to ground predictions rather than guessing at costs and benefits before they can be known.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2009/03/big-project-two-step/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A pretty good requirements analysis checklist</title>
		<link>http://robertlambert.net/2009/02/requirements-analysis-plan/</link>
		<comments>http://robertlambert.net/2009/02/requirements-analysis-plan/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 10:16:31 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Analysis]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Requirements]]></category>

		<guid isPermaLink="false">http://robertlambert.net/?p=58</guid>
		<description><![CDATA[Recently I was asked for a high level requirements plan for a large IT conversion.  I googled around a little for something standard.  I found some good references (see links at the bottom of this post), but not exactly what I was looking for: a simple, method-agnostic layout of the high level steps and checkpoints [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was asked for a high level requirements plan for a large IT conversion.  I googled around a little for something standard.  I found some good references (see links at the bottom of this post), but not exactly what I was looking for: a simple, method-agnostic layout of the high level steps and checkpoints in requirements for a big project, emphasizing interactions with business people.   I then rifled my files to find the example below.</p>
<p>This summary plan frames up interactions with business subject matter experts and their review of results.  The table lays out the steps, &#8220;granularity&#8221; (meaning how often each step is carried out), what comes out of each step, who does the work, and offers a few notes.</p>
<p>Before the table, here are two important definitions:</p>
<ul>
<li><strong>Sponsor: </strong>Very early on in your project you should identify the one person who you need to make happy in order to succeed.   The bigger the project, the higher up the sponsor.  Keep in touch to make sure they know what&#8217;s going on, keep them happy, and if something happens that will make them not happy don&#8217;t keep it secret.  Maintain a vibrant risk/issue process so that you can give them early warning of bad possibilities and they can help early.</li>
<li><strong>Stakeholder: </strong>A stakeholder is anyone who will benefit from <em>or be harmed by</em> your project.  Requirements come from stakeholders.  Be sure to build support even with the latter group if at all possible, and at least make the adjustments that will keep them from working to prevent you from succeeding.</li>
</ul>
<p>Careful, this is just an empty vessel.  Within this high level framework a team can apply whatever requirements techniques they want.  (In fact, I highly recommend structured analysis techniques like use cases or process models, but that&#8217;s for the requirements team and this framework is for the PM).  Of course a smaller effort suitable for agile techniques wouldn&#8217;t need something like this.  This is for big transitions like conversion to a new COTS package, for example, where it is easy to get lost in the detail.</p>
<p>Hopefully if you&#8217;re a PM on a big project you&#8217;ll find this framework as useful as I did.</p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;">
<table class="MsoTableGrid" style="margin: auto auto auto 5.4pt; width: 488.8pt; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0" width="652">
<thead>
<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 62.2pt; padding-top: 0in; background-color: transparent; border: windowtext 1pt solid;" width="83" valign="bottom">
<p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: 10pt; font-family: Calibri;">Step</span></strong></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 72.9pt; padding-top: 0in; background-color: transparent;" width="97" valign="bottom">
<p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: 10pt; font-family: Calibri;">Granularity</span></strong></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 97.75pt; padding-top: 0in; background-color: transparent;" width="130" valign="bottom">
<p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: 10pt; font-family: Calibri;">Work Products</span></strong></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 111.95pt; padding-top: 0in; background-color: transparent;" width="149" valign="bottom">
<p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: 10pt; font-family: Calibri;">Responsible Group</span></strong></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 2in; padding-top: 0in; background-color: transparent;" width="192" valign="bottom">
<p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: 10pt; font-family: Calibri;">Notes</span></strong></p>
</td>
</tr>
</thead>
<tbody>
<tr style="mso-yfti-irow: 1; page-break-inside: avoid;">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 62.2pt; padding-top: 0in; background-color: transparent;" width="83" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Prerequisite</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 72.9pt; padding-top: 0in; background-color: transparent;" width="97" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">n/a</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 97.75pt; padding-top: 0in; background-color: transparent;" width="130" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Scope definition</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 111.95pt; padding-top: 0in; background-color: transparent;" width="149" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Project manager</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 2in; padding-top: 0in; background-color: transparent;" width="192" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Defines context for requirements gathering by defining project objectives, constraints, stakeholders, and schedule</span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 2; page-break-inside: avoid;">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 62.2pt; padding-top: 0in; background-color: transparent;" width="83" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Preparation</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 72.9pt; padding-top: 0in; background-color: transparent;" width="97" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">n/a</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 97.75pt; padding-top: 0in; background-color: transparent;" width="130" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Interview checklist</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Stakeholder overview</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Requirements Standards</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 111.95pt; padding-top: 0in; background-color: transparent;" width="149" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Requirements team</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Project manager</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Requirements team with PM</span></p>
<p> </td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 2in; padding-top: 0in; background-color: transparent;" width="192" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Interview<span style="mso-spacerun: yes;"> </span>checklist should include date range, meeting participants, meeting objectives in terms of expected objects specified</span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 3; page-break-inside: avoid;">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 62.2pt; padding-top: 0in; background-color: transparent;" width="83" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Interview</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 72.9pt; padding-top: 0in; background-color: transparent;" width="97" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">At least once per stakeholder group</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 97.75pt; padding-top: 0in; background-color: transparent;" width="130" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Meeting notes</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Risks / Issues / Actions</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in; mso-list: l0 level1 lfo1;"><span style="font-size: 10pt; font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;">-<span style="font: 7pt &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 10pt; font-family: Calibri;">Draft Stakeholder Group requirements</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 111.95pt; padding-top: 0in; background-color: transparent;" width="149" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Requirements team </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 2in; padding-top: 0in; background-color: transparent;" width="192" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Stakeholder group requirements are from the point of view of a single stakeholder group only</span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 4; page-break-inside: avoid;">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 62.2pt; padding-top: 0in; background-color: transparent;" width="83" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Stakeholder Validation</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 72.9pt; padding-top: 0in; background-color: transparent;" width="97" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">At least once per stakeholder group</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 97.75pt; padding-top: 0in; background-color: transparent;" width="130" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Stakeholder feedback on / corrections<span style="mso-spacerun: yes;"> </span>to the three items resulting from Interviews</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 111.95pt; padding-top: 0in; background-color: transparent;" width="149" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Requirements team, stakeholder group</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 2in; padding-top: 0in; background-color: transparent;" width="192" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
</td>
</tr>
<tr style="mso-yfti-irow: 5; page-break-inside: avoid;">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 62.2pt; padding-top: 0in; background-color: transparent;" width="83" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Analysis</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 72.9pt; padding-top: 0in; background-color: transparent;" width="97" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Either after all interviews or throughout the interview process</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 97.75pt; padding-top: 0in; background-color: transparent;" width="130" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Project Requirements</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 111.95pt; padding-top: 0in; background-color: transparent;" width="149" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Requirements team (with stakeholder groups)</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 2in; padding-top: 0in; background-color: transparent;" width="192" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Project Requirements result from analysis/refinement of requirements by resolution of inconsistencies, conflicts, and errors discovered in close review.<span style="mso-spacerun: yes;"> </span>This step should involve dialog with stakeholder groups. </span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 6; page-break-inside: avoid; mso-yfti-lastrow: yes;">
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 62.2pt; padding-top: 0in; background-color: transparent;" width="83" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Approval</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 72.9pt; padding-top: 0in; background-color: transparent;" width="97" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">PMO, Stakeholder Groups, Project Sponsor</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 97.75pt; padding-top: 0in; background-color: transparent;" width="130" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Approved project requirements</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 111.95pt; padding-top: 0in; background-color: transparent;" width="149" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt; font-family: Calibri;">Project management</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 2in; padding-top: 0in; background-color: transparent;" width="192" valign="top">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> Here are some of the other references I found along the way, <em>caveat emptor</em>:</p>
<ul>
<li><a href="http://www.outsource2india.com/software/RequirementAnalysis.asp" target="_blank">http://www.outsource2india.com/software/RequirementAnalysis.asp</a></li>
<li><a href="http://en.wikipedia.org/wiki/Requirements_analysis" target="_blank">http://en.wikipedia.org/wiki/Requirements_analysis</a></li>
<li><a href="http://www.jiludwig.com/HCI_Journal_article.html" target="_blank">http://www.jiludwig.com/HCI_Journal_article.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://robertlambert.net/2009/02/requirements-analysis-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
