<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-17511337</id><updated>2010-01-27T09:00:04.793-06:00</updated><title type='text'>Requirements Defined - Seilevel's Software Requirements Blog</title><subtitle type='html'>Anything and everything about software requirements.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://requirements.seilevel.com/blog/atom.xml'/><author><name>Joy</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>374</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17511337.post-7569525116440517409</id><published>2010-01-27T09:00:00.000-06:00</published><updated>2010-01-27T09:00:04.907-06:00</updated><title type='text'>Managing the Requirements Process for “Green Screen” Replacement Applications – Part 1</title><content type='html'>I have been on teams that created requirements for replacing old “Green Screen” mainframe applications and have also observed the work of my colleagues on similar projects.  The observations here are based on our experiences with these efforts and offer suggestions to anyone who is about to embark on a similar project. &lt;br /&gt;&lt;br /&gt;This post is split into two parts.  Part 1 identifies issues that make these projects challenging and different from other requirements projects.  Part 2 offers specific suggestions on how to tackle these projects and describes practices that will result in a greater likelihood of success.&lt;br /&gt;&lt;br /&gt;What makes Green Screen replacement projects so challenging? &lt;br /&gt;&lt;br /&gt;It is not a lack of proper tools or models that make these requirements difficult to capture and define.  The complexities are rooted in the following:&lt;br /&gt;a.    Existing organizational processes&lt;br /&gt;b.    Resistance to change due to fear and uncertainty&lt;br /&gt;c.    Disruption to current operations&lt;br /&gt;d.    Potential job losses&lt;br /&gt;e.    Lack of clear understanding of the impact on indirect users of the existing system&lt;br /&gt;f.    Poor vendor communications to the rank and file users of the new system&lt;br /&gt;g.    Lack of proper management communications on the value of the proposed change &lt;br /&gt;The combination of these factors makes the act of eliciting good requirements difficult and extremely challenging.  Each of these areas is discussed in greater detail below.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Existing Organizational Processes&lt;/span&gt;&lt;br /&gt;Green Screen applications are typically twenty or thirty years old, though it is not unusual to find applications that have been in use for longer periods of time.  Over this time, extremely elaborate organizational processes will have been created, evolved, perfected and institutionalized in the company.  Changing these longstanding processes to support a new application can be extremely difficult.  While it can be argued that any kind of application change is likely to confront process change, four things made Green Screen processes unique.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a.    Longstanding &lt;/span&gt;&lt;br /&gt;The processes built around Green Screen applications will be as old as the applications themselves.  Change is inherently difficult.  Changing something that has been around for a quarter century or more is infinitely more difficult.&lt;br /&gt;&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;b.    Stable&lt;/span&gt;&lt;br /&gt;For the most part, these processes will have undergone little substantive change for many years.  Most recent changes would have been tweaking to make something more efficient, plug a few holes, fix weaknesses in the existing workflow or in response to some minor changes in the business environment.  These processes are not perfect but they keep the show going day in and day out.&lt;br /&gt;&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;c.    Fully Integrated with the Application&lt;/span&gt;&lt;br /&gt;The existing processes and the application will have a seamless linkage.  No matter how convoluted and byzantine the processes might be, they are totally synchronized with the application.  Over time, the organization will have developed detailed processes that reinforce the strengths of the application and compensate for the weaknesses.  In a perverse way, changing these processes is tinkering with perfection or something that looks awfully close to it when it comes to marrying an application with supporting processes.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;d.    Fully Understood&lt;/span&gt;&lt;br /&gt;The combination of longevity, stability and application integration make the processes extremely well understood within the company.  For the most part, all the different departments and individuals within these departments know what they need to do, when they need to do it and how to do it.  Replacing all this with new processes that no one fully understands is an extremely challenging proposition.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resistance to Change&lt;/span&gt; Due To Fear and Uncertainty&lt;/span&gt;&lt;br /&gt;This a common characteristic of many projects that seek to introduce a new application or a new way of doing things.  In the case of Green Screen applications, this natural resistance is hardened for the following reasons.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;a.    Fear of Failure on a Massive Scale&lt;/span&gt;&lt;br /&gt;Green Screen applications are usually “mission critical.”  They typically are extremely important to the day to day running of the business.  Any failure during the switchover will have an immediate and tangible financial impact on the business that will be reflected in quarterly earnings.  Depending on the reach of the application, the impact could be companywide with potentially disastrous consequences.   This reality adds an extra edge to the element of fear associated with the change.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;b.    Uncertainty Due to a Major Systemic Change&lt;/span&gt;&lt;br /&gt;Almost all Green Screen applications involve changes in multiple departments or functional areas of the company.  It is not uncommon for the entire operations of a company to be impacted by a Green Screen change.  Whenever multiple departments are involved, the element of uncertainty associated with the change gets ratcheted up.  These efforts are almost always accompanied by an enormous amount of chatter, rumors and conflicting statements about who is doing or not doing something.  Every day will bring a new dynamic because some department or the other is unhappy, not going to support the rollout fully or flat out not going to make a change.  This leads to an enormous amount of confusion that brings with it a great amount of uncertainty. &lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;c.    Let the Other Guy Go First&lt;/span&gt;&lt;br /&gt;In such an environment where fear and uncertainty are pervasive, the smart play is to do nothing and wait for the next guy, department or functional group to make the first move.  So, you will meet with a lot of covert and passive resistance to change that needs to be managed.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;d.    Incomplete Plans&lt;/span&gt;&lt;br /&gt;The sheer complexity and scope of Green Screen change efforts makes thorough planning of the changeover practically impossible.  It is not possible to have fully fleshed out responses to all the legitimate concerns that users will have around the change.  This gives the impression of an effort that is not carefully thought through.  It is natural for users to focus on the unknowns and areas of weakness in the planning and extrapolate that to the entire effort.  These perceptions feed into the underlying fear and add to the uncertainty barrier to be overcome.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Disruption to Current Operations&lt;/span&gt;&lt;br /&gt;Most Green Screen systems are transactional systems on which the daily business of the company is conducted.  When the switch over takes place there will be a transition period during which some amount of productivity will be lost as people get used to the new system.  This is true even for successful implementations.  It takes the users a few weeks to a couple of quarters to truly understand the new features and appreciate the benefits.  This perceived (and real) loss of productivity even in a best case scenario causes users to instinctively resist or at the very least postpone the day of reckoning by throwing up roadblocks to the entire process starting with requirements.  This resistance to the requirements effort is manifested in the following ways.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a.    Why is My Department Being Penalized?&lt;/span&gt;&lt;br /&gt;This complaint will almost certainly come from departments that perform data entry.  In a vast majority of situations, Green Screen data entry is faster than mouse driven data entry that it is usually replaced with.  This will lead to a drop in productivity in the short run for the department performing data entry.  But it is not a zero sum game.  These increases in time to perform some tasks are almost always offset by significant benefits in other areas of the application like the ability to cross sell or up sell customers.  But it usually takes some time for these benefits to be realized.  The increases in time and resultant productivity losses however are felt immediately.  It is these short term losses that functional area managers will focus on.  These arguments will be framed as having their departments victimized so that other departments can do their jobs better.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;b.    My Numbers Will Look Bad&lt;/span&gt;&lt;br /&gt;Organizations that have extensive productivity measurement systems in place that track time very closely will react very strongly to anything that causes a short term hit in productivity or the time it takes to perform certain tasks.  This is a very real problem that the requirements engineer will face.  There will be outright hostility and lack of cooperation as a result of this that needs to be managed and eventually overcome if any progress is to be made.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Potential Job Losses&lt;/span&gt;&lt;br /&gt;The anticipation of the loss of jobs causes both direct and indirect opposition to the requirements efforts of the replacement application.  There are two main areas where jobs typically become redundant when Green Screen systems are replaced. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a.    Data Entry Operators&lt;/span&gt;&lt;br /&gt;Green Screen systems typically have highly specialized data entry personnel.  The lack of graphical interfaces results in reliance on arcane Function Key combinations to perform simple and complex data entry tasks.  Most companies have teams of employees who have mastered these tasks and are a valuable part of the daily operations.  When the new application is introduced many, if not all of these employees will no longer needed by the company and are likely to be let go.&lt;br /&gt;These employees are often treated as expendable by their companies but they are a treasure trove of information for a requirements engineer.  They understand the underlying application better than anyone else in the organization.  Simply put, they can tell you what the application actually does as opposed to what someone thinks it does or should be doing.  This information is critical since Green Screen applications typically have very poor or no documentation of their functionality.&lt;br /&gt;They know who they perform data entry for in addition to the obvious users.  These are the hidden users of the system who need to be accounted for and are often overlooked with potentially dangerous consequences down the road.&lt;br /&gt;Last and most importantly, they can tell you “why” some things are done.  This is critically important to understand what exactly a system does and needs to be replicated by the replacement.  Simply playing with an application and going through it from end to end is not sufficient to understand what the system is doing.  This is especially true if you are not familiar with the intricacies of the application. &lt;br /&gt;In a nutshell, these users are very critical to understanding what the existing system does, why it does certain things and who are the users of the system.  But faced with the prospect of almost certainly losing their jobs if the new effort is successful, they have no incentive to cooperate.  Not having the information in their heads can have very serious consequences for the requirements created to support the changeover.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;b.    Employees Involved in Manual Processing of Information&lt;/span&gt;&lt;br /&gt;A generalization of Green Screen systems is that they are excellent at transaction processing but very poor at data analysis.  Over the years organizations have addressed this gap by developing complex data analysis solutions based on third party applictions.  But even with these extensive investments, there are always gaps in the data needed to make routine business decisions.  These gaps are invariably filled with data extracts to spreadsheets that are analyzed by specialists.  The data aggregation into spreadsheets is done by employees who perform time consuming tasks to import data from multiple sources into a single spreadsheet that is then forwarded on the specialist for interpretation and decision making. &lt;br /&gt;This aggregation and analysis of data outside the main system are usually referred to as “manual” processes by most companies.  These processes are extremely difficult to understand or infer from a walkthrough of the application.  Even assuming that we can guess at a missing process, without an in depth knowledge of all the systems, it is extremely difficult to know where the data to make the analysis comes from, how it is aggregated and cleaned up before being provided for analysis and decision making.&lt;br /&gt;This information is in the heads of users who perform these tasks.  Here again, the reality that they could all be out of a job if the replacement effort is successful leads to resistance and lack of cooperation with the requirements effort.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Not Understanding the Impact on All Users&lt;/span&gt;&lt;br /&gt;The universe of users impacted by a system change is not limited to users who directly interact with the system.  This is true of all systems and a common mistake made in many requirements efforts.  However, the sheer scale and scope of most Green Screen replacements compounds this problem. &lt;br /&gt;&lt;br /&gt;For example, an application that replaces a Green Screen Order Entry system impacts far more than just the Sales Team who are the direct users of the application.  Accounting, Finance, Customer Service, Post Order Processing, Marketing and Product Management will all be impacted either directly or indirectly by the change.  Each of these departments interacts with the system in one of four ways:&lt;br /&gt;a.    Directly – Customer Service is likely to use the system to enter Orders to process returns and repairs.&lt;br /&gt;b.    Data Providers – Product Management will provide data that is used by the Order Entry system.&lt;br /&gt;c.    Data Consumers – Post Order Processing will use data created by the Order Entry system for their operations.&lt;br /&gt;d.    Data Providers AND Consumers – Accounting, Marketing and Finance will typically provide data and inputs that are used by the system and also consume data generated by the system.&lt;br /&gt;&lt;br /&gt;Not knowing who all the impacted users are and how they interface with the system is a critical mistake that can potentially torpedo a requirements effort.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Poor Vendor Communications&lt;/span&gt;&lt;br /&gt;While some organizations do develop new applications from the ground up to replace Green Screen applications, most companies use off the shelf software that is customized for the specific needs of their business.  I have yet to see one instance where the features and benefits of the new software have been clearly communicated to the user community.&lt;br /&gt;&lt;br /&gt;The vendors are very heavily engaged with senior management and a select group of users during the sales process.  Once the sale is made, the technical staff come in and start the process of implementing the solution.  I have not seen a coherent strategy in place from any vendor to actively evangelize their product and its benefits to users AFTER the sale is made and BEFORE the software goes live.  This leaves a huge vacuum of knowledge and expectations in the user community.  It is in this vacuum that fear and uncertainty take root and blossom into full blown chaos.&lt;br /&gt;&lt;br /&gt;Specifically, these are the key areas of deficiency that lead to problems.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a.    The Built in Processes Supported by the Product and Recommended by the Vendor&lt;/span&gt;&lt;br /&gt;All vendors of enterprise class software claim to have “best practices and processes” built into their software.  But I am yet to see any kind of documentation, presentation, training or coherent communications that explain clearly and simply to users what these processes are and how they should be adopted.  If there are such materials and resources available, then they sure fooled me with totally inscrutable presentations that were so stealthy that I missed them altogether!&lt;br /&gt;&lt;br /&gt;As requirements professionals we are constantly questioned by users as to what these processes and practices are.  The fact that we have to confess total ignorance hurts us in two ways.  First, it hurts our credibility with users who are bemused that we do not seem to know anything about the system we are de-facto representatives of.  Second, users are reluctant to spend a lot of time defining processes and procedures that may all be overridden by processes that are to be adopted with the new software implementation.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;b.    The Features and Benefits of the New System&lt;/span&gt;&lt;br /&gt;The situation faced with lack of information about the processes to be adopted with the new system are true of the features as well.  Most of the time users are given a dog and pony show where someone does a quick fly through of the application.  These are at a very high level and of little use to the user community who have much more specific questions in mind that are not answered.  I have seen two things happen and both are bad.&lt;br /&gt;&lt;br /&gt;First, users assume that the software has certain capabilities and features that it may or may not have.  These assumptions are seldom articulated until we are well past requirements gathering and moving towards implementation.  This makes for a whole bunch of nasty surprises.&lt;br /&gt;Second, users lose the forest for the trees.  I have seen quite a few demonstrations that very quickly get into the weeds on some arcane point a strident user or user group make.  Before you know it, the demonstration has degenerated into an agonizing exercise in specificity that only one or a small handful of users and the demonstrator care about.  Most importantly, huge chunks of precious demonstration time are lost and the remaining time makes the rest of the demonstration a waste of everyone’s time since they are rushed and general in the extreme.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;c.    The Inevitability Fallacy&lt;/span&gt;&lt;br /&gt;Vendors assume that since the sale is made, it is inevitable that the system will get implemented and adopted by the user community.  This belief guides their interactions with the user community.  Unfortunately, most vendors do not realize that just because someone signed a contract to purchase the software, there is no guarantee that the rest of the organization will simply go along with the decision.  They usually come to this frightening realization many months into the implementation effort when they do not seem to be getting the traction they thought they would be getting.  The requirements effort is a good predictor of potential issues down the road.  General rule of thumb – if the requirements team is competent and unable to generate good requirements, it usually means that the users are not buying whatever it is the vendors are trying to sell them.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Lack of Proper Management Communications to Users on the Value of the Proposed Change&lt;/span&gt;&lt;br /&gt;There is a lack of clear, concise communications from Management and Project Sponsors on what the business value of the proposed change is, how the business value is to be realized as a result of the change, over what time frame the value will be realized, how it will impact the business in the short and long run and who will be impacted by the change. &lt;br /&gt;&lt;br /&gt;What I have seen in practice are conflicting statements of value (both real and imaginary), extremely general statements of benefits (we need to come into the 21st century), vague notions around the reason for the change (it is about time we did something different around here), extremely aggressive and unrealistic timelines (we will go live in 3 months where 12 months is more reasonable) and little to no information at all on the things that the users care about the most – how will this affect me, my job, my department and my coworkers.&lt;br /&gt;&lt;br /&gt;Presented with this vacuum, users fill in the blanks with their own combination of fear, rumors, disbelief, derision and a combination of outright and latent hostility.  For a requirements engineer, this translates into many hours and days of wasted effort in getting people to meetings they do not want to attend, and when they do get there, trying to answer fundamental questions about the project – why, how much, when, so what – BEFORE you can even begin to elicit one useful requirement out of the group.  I have often found myself in the uncomfortable position of not knowing the answers to their questions or, worse yet, knowing the answers and wondering if I should be the one giving it to the users.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Great, Now What?&lt;/span&gt;&lt;br /&gt;As you read this, you might feel like you are in an echo chamber.  Anyone who has practiced our craft long enough is very familiar with everything I have commented on here.  It has gotten to the point where we are resigned to dealing with these kinds of situations and just “accepting” it as the reality we are confronted with.&lt;br /&gt;&lt;br /&gt;But it need not and should not be this way.  Change is inherent in every business endeavor.  We just need to do a better job of managing it.  There are ways in which we can manage the process of change with common sense, honest and open communication and dignity.  This does not mean that the end result will be satisfactory for all or that there will be no pain involved.  The people we work with are far smarter than we give them credit for.  They may not like change but are more likely to help everyone get there if we all know what we are striving for.&lt;br /&gt;&lt;br /&gt;In my next post on this topic, I will discuss specific steps that can be taken to overcome the hurdles identified in this post and answer the question I posited “Great, Now What?”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-7569525116440517409?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/7569525116440517409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=7569525116440517409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7569525116440517409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7569525116440517409'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/managing-requirements-process-for-green.html' title='Managing the Requirements Process for “Green Screen” Replacement Applications – Part 1'/><author><name>Ajay Badri</name><uri>http://www.blogger.com/profile/02086684501884803175</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02821962228809339692'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-1472235552673223662</id><published>2010-01-25T09:00:00.000-06:00</published><updated>2010-01-25T09:08:59.748-06:00</updated><title type='text'>A Very Nice Requirements Blog – Please Pay Them a Visit</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cabadri%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5Cabadri%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5Cabadri%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	mso-themecolor:hyperlink; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;    &lt;p class="MsoNormal"&gt;As someone who is part of the family of requirements professionals, it is always exciting to find a new source of writings on the subject that is near and dear to our heart.&lt;font style=""&gt;  &lt;/font&gt;I recently discovered the Blueprint Software blog that can be found &lt;a href="http://blog.blueprintsys.com/"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;It is clear from reading the posts on their site that they care passionately about the subject matter.&lt;font style=""&gt;  &lt;/font&gt;The articles are well written,&lt;font style=""&gt; &lt;/font&gt;informative and useful to both practitioners of our craft and consumers of our “dog food” &lt;font face="Wingdings"&gt;&lt;font style=""&gt;:-)&lt;/font&gt;&lt;/font&gt;.&lt;font style=""&gt;  &lt;/font&gt;If you are into macabre humor, check out the post on the resetting “smart bomb”.&lt;font style=""&gt;  &lt;/font&gt;So long as you are not at business end of one of these contraptions, it is really funny and drives home the point (literally) of good, clean, and above all, complete software requirements!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Last but not the least, if you have never seen the classic Dilbert cartoon on software requirements, they have a copy there.&lt;font style=""&gt;  &lt;/font&gt;That alone is worth the price of admission, in this case your time and interest.&lt;font style=""&gt;  &lt;/font&gt;Here is wishing them luck and hope they keep churning out great posts.&lt;font style=""&gt; &lt;/font&gt;At the end of the day, we are all better off with more great content.&lt;font style=""&gt;  &lt;/font&gt;Enjoy.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-1472235552673223662?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/1472235552673223662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=1472235552673223662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1472235552673223662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1472235552673223662'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/very-nice-requirements-blog-please-pay.html' title='A Very Nice Requirements Blog – Please Pay Them a Visit'/><author><name>Ajay Badri</name><uri>http://www.blogger.com/profile/02086684501884803175</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02821962228809339692'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-3329135030733777849</id><published>2010-01-14T19:15:00.004-06:00</published><updated>2010-01-14T19:29:38.539-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haiti'/><category scheme='http://www.blogger.com/atom/ns#' term='SeiHelp'/><category scheme='http://www.blogger.com/atom/ns#' term='donations'/><title type='text'>SeiHelp Haiti</title><content type='html'>&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-family:'lucida grande', tahoma, verdana, arial, sans-serif;font-size:11px;"&gt;&lt;h3 class="UIIntentionalStory_Message" ft="{&amp;quot;type&amp;quot;:&amp;quot;msg&amp;quot;}" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;We are hoping to reach out to Haiti with a little SeiHelp in the form of much needed clothing! We are collecting summer clothes and Rob will deliver them to a relative in Waco. She has arranged to deliver them to the Bahamas where she knows a lot of Haitians in her village who will in turn help get them to Haiti. We are collecting at our office through end of day Monday or can arrange another meet-up location!&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Email rob.sparks or joy.beatty if you want to donate!&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-3329135030733777849?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/3329135030733777849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=3329135030733777849' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3329135030733777849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3329135030733777849'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/seihelp-haiti.html' title='SeiHelp Haiti'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-9121745430269249861</id><published>2010-01-12T09:00:00.001-06:00</published><updated>2010-01-12T09:00:02.694-06:00</updated><title type='text'>Using a Group  to Prioritize Requirements for Complex Multifunctional Projects</title><content type='html'>Prioritizing and identifying requirements that get developed in a release cycle can be a tricky proposition.  It is one of the most important things we do as Product Managers.  It is also one of the most challenging.&lt;br /&gt;&lt;br /&gt;Most organizations use some means of categorizing requirements.  Two common examples I have seen: Must Have, Important, Nice to Have.  High, Medium, Low.  There are far better ways of prioritizing requirements but the purpose of this post is to deal with another level of complexity altogether.  How do we decide which functional unit or Department's features gets built when dealing with a large scale development project that spans multiple groups / functional areas within a company?&lt;br /&gt;&lt;br /&gt;I worked on a very large and complex implementation of a factory system software where we had to confront and overcome this very problem.  The software that was being developed would essentially control all the manufacturing activities of the factory.  As such, the application had functionality for all the different aspects of manufacturing - product movement between different processing machines, product storage in the factory, maintenance of equipment, sampling of output, manufacturing processes, manufacturing instructions for each step in the process and so on.&lt;br /&gt;&lt;br /&gt;There were well established Departments that handled each of these different aspects of the manufacturing process.  For example, there were Departments for Maintenance, Quality Control, Materials, Inventory, Production and so on.  Each Department had their own specific set of requirements - functionality they needed out of the application to enable them to perform their specific and specialized tasks.&lt;br /&gt;&lt;br /&gt;When deciding which features to develop for a given release, we encountered the following problems:&lt;br /&gt;&lt;br /&gt;1.  A prioritized list of features (across all Departments) was not very useful since we ended up with too many critical features that made prioritization for a release extremely difficult and in many cases meaningless.&lt;br /&gt;2.  Critical dependencies that existed between Departments were missed.  For example, developing some sampling functionality was quite useless unless certain manufacturing instructions and material movement capabilities were already in place.&lt;br /&gt;3.  The sum of individual parts did not quite add up to a desired total of functionality.  This was largely because critical dependencies between Departments were missed.&lt;br /&gt;4.  Individual Departments graded the success or failure of development efforts based on the "quantity" of features they got in a release and not how the overall manufacturing process as a whole fared.&lt;br /&gt;5.  The political wrangling, infighting and shenanigans got totally out of control as each Department tried to get more features into each release, regardless of whether it made sense to the overall operations or not.&lt;br /&gt;6.  The overall development process was perceived by all the users as political, arbitrary and lacking in transparency.&lt;br /&gt;&lt;br /&gt;We solved the problem by using a Group methodology to decide the features that got included in a release.  The way the teams were constituted and the manner in which they functioned are detailed below.&lt;br /&gt;&lt;br /&gt;The Team&lt;br /&gt;&lt;br /&gt;1.  Every Department for whom functionality was being developed was included in the Core Team.&lt;br /&gt;2.  Each Department was requested to provide three members to participate in the Core Team - One Manager and two additional technical members who represented the Department.  These members were authorized to vote for and speak on behalf of their Departments.  These individuals were collectively referred to as the Core Team.&lt;br /&gt;3.  Attendance at the Core Team meetings was not restricted to the Core Team members.  Any number of attendees from each Department were permitted to attend.  The only restrictions were as follows:&lt;br /&gt;    A.  Only the Core Team members were allowed to speak on behalf of their respective Departments.&lt;br /&gt;    B.  Any amount of consultation was permitted within the Department representatives and attendees so long as they did not disrupt proceedings.&lt;br /&gt;4.  Senior Managers, Vice Presidents and other senior executives were explicitly excluded from the Core Team.  The output of the Core Team was later presented to them for final review and approval.  They were welcome to attend any of the Core Team meetings but could not be one of the three approved participants of the meetings who were authorized to represent their Department.&lt;br /&gt;&lt;br /&gt;The Ground Rules&lt;br /&gt;&lt;br /&gt;1.  Each team had one vote in determining priority of requirements.&lt;br /&gt;2.  Each team's vote had the same weighting as every other team.&lt;br /&gt;3.  Each team was required to vote on the prioritization of all requirements including those that belonged to their own team.&lt;br /&gt;4.  The decisions of the Core Team were binding on all Departments.  The sole caveat was if the Core Team proposal was rejected by Senior Management and a change in priorities ordered.  (Incidentally, this never happened).&lt;br /&gt;&lt;br /&gt;How It Worked&lt;br /&gt;&lt;br /&gt;With the Core Team in place, we prioritized requirements for a release in the following manner. &lt;br /&gt;&lt;br /&gt;We first prioritized Departments for a release and then we prioritized specific requirements that would be implemented.  This was a key change from the way we functioned in the past.  In prior releases, in theory, all Departments were given equal weighting and the requirements prioritized for development.  In practice, the number of features each Department got determined what priority they got in a release.  We decided to take the politics and guess work out and made it the first decision the Core Team made for each release.&lt;br /&gt;&lt;br /&gt;The prioritizing of Departments was not arbitrary.  The first pass at prioritizing Departments for a release was done by the System Architect.  He took inputs from Senior Management to ensure that there was alignment with the Business Goals and Objectives in creating the list.  For example, if Management has defined "Reduction of Scrapped Materials" as a key initiative going forward, Sampling would move to the top of the featured Departments for the next release. &lt;br /&gt;&lt;br /&gt;The Core Team was then provided the list, the rationale behind the list and given a chance to vote on the list.  Each Department was given 15 minutes to make a case for why they should stay where they were slotted, move up or move down.  (Yes believe it or not, once the process was locked in, Departments actually were willing to move down and not shy of saying so!).  After the presentations were done, the Team voted for each position on the list and decided which Department would get slotted in where.  There were a total of 8 Departments and if you made it to the top 5, you were guaranteed on getting a meaningful number of features in a release.  The bottom 3 invariably got features but their features were lighter and typically done to ensure that no dependencies with other Departments were missed.&lt;br /&gt;&lt;br /&gt;Once we decided on the Departmental priorities, each Department provided their own prioritized list of features.  We usually restricted these to about 5 to 7 per Department for the first pass and iterated on till we felt we had no more development cycles left in the release.  In presenting their list, each Department had to provide a justification as to why the feature being requested was important and how it aligned with management priorities.  Votes were taken immediately and superfluous features eliminated quite efficiently.  As this process was executed, we typically emerged with a list of candidate features for a release within 2 or 3 meetings.  In all these meetings, a few representatives from Development were always at hand to provide guidance to the team in terms of effort and degree of difficulty to implement certain features so that the final list of required features was realistic.&lt;br /&gt;&lt;br /&gt;This prioritized list was provided to Development for a final sanity check in terms of time, manpower and other resources for feasibility of executing within a release cycle.  Based on their feedback, some additional fine tuning was done in terms of adding / removing features and the final list was generated.  This final list was voted on by the Core Team and submitted to management for final approval.&lt;br /&gt;&lt;br /&gt;Once we instituted this method, we saw the following benefits.&lt;br /&gt;&lt;br /&gt;1.  Features were implemented that made sense to the whole and not just individual parts of the overall application.  These features were in alignment with management objectives and priorities.&lt;br /&gt;2.  A significant reduction in the number of missed dependencies across Departments.&lt;br /&gt;3.  A dramatic improvement in the satisfaction with the overall process by which features were prioritized and implemented for a release.&lt;br /&gt;4.  Development deliveries, quality and schedules improved.  The features were frozen and did not change unless there was some unexpected business or technical development that dictated a change in features and schedules.  These were for the most part minimal and when they did occur were always accompanied by an adjustment to the schedules.&lt;br /&gt;5.  Better quality product since every Department was better able to plan the time and availability of their key resources to provide the necessary support to the requirements and development process.&lt;br /&gt;6.  Higher quality requirements since there was much sharper focus on what was needed and going to be delivered.&lt;br /&gt;&lt;br /&gt;The above methodology can be replicated easily and successfully in complex development environments where key stakeholders span different functional areas in the company.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-9121745430269249861?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/9121745430269249861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=9121745430269249861' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9121745430269249861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9121745430269249861'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/using-group-to-prioritize-requirements.html' title='Using a Group  to Prioritize Requirements for Complex Multifunctional Projects'/><author><name>Ajay Badri</name><uri>http://www.blogger.com/profile/02086684501884803175</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02821962228809339692'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6964433872449721535</id><published>2009-12-18T10:00:00.001-06:00</published><updated>2009-12-18T11:58:01.578-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='holidays'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>The Seilevel 2009 Software Requirements Holiday Medley</title><content type='html'>It's that time of year we all look so forward to, when we get to wish our colleagues around the requirements world a bit of SeiCheer with our holiday medley of songs. And worry not, if the 2009 collection isn't enough for you, you can go back in history and read our &lt;a href="http://requirements.seilevel.com/blog/2008/12/seilevel-2008-holiday-software.html"&gt;2008 songs&lt;/a&gt;, &lt;a href="http://requirements.seilevel.com/blog/2007/12/seilevel-2007-holiday-medley.html"&gt;2007 songs&lt;/a&gt;, and our original &lt;a href="http://requirements.seilevel.com/blog/2006/12/christmas-medley.html"&gt;2006 songs&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Without further ado, sing along with us....&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;We wish you a Merry Release&lt;/strong&gt;&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release and we hope it is near.&lt;br /&gt;Requirements we bring to you and the team&lt;br /&gt;Requirements for Release and we hope it is near.&lt;br /&gt;&lt;br /&gt;Oh, bring us a new prototype&lt;br /&gt;Oh, bring us a new prototype&lt;br /&gt;Oh, bring us a new prototype and we'll love it, no fear&lt;br /&gt;&lt;br /&gt;We won't go until we see it&lt;br /&gt;We won't go until we see it&lt;br /&gt;We won't go until we see it, so send the link here&lt;br /&gt;&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release and we hope it is near!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Oh Project SME &lt;/strong&gt;&lt;br /&gt;Oh Project SME! O Project SME!&lt;br /&gt;Thy needs are so unchanging&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Thy needs are so unchanging&lt;br /&gt;Not only at start are they clear,&lt;br /&gt;But also when 'tis launch is near.&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Thy needs are so unchanging!&lt;br /&gt;&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Much time thou can'st give me&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Much time thou can'st give me&lt;br /&gt;How often has the Project SME&lt;br /&gt;Afforded us the scope for free!&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Much time thou can'st give me.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rockin' Around the Requirements&lt;/strong&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;at the discovery workshop&lt;br /&gt;Feature lists hung where you can see&lt;br /&gt;Ev'ry executive tries to stop&lt;br /&gt;&lt;br /&gt;You will get a validated feeling&lt;br /&gt;When you hear voices saying&lt;br /&gt;"Let's be jolly; Deck the walls with flows, oh golly!"&lt;br /&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;Have a happy launch day&lt;br /&gt;Everyone's drawing merrily&lt;br /&gt;In a new best practice way&lt;br /&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;Let the user stories sing&lt;br /&gt;Later we'll write some data flows&lt;br /&gt;and we'll do some modeling&lt;br /&gt;&lt;br /&gt;You will get a validated feeling&lt;br /&gt;When you hear voices saying&lt;br /&gt;"Let's be jolly; Deck the walls with flows, oh golly"&lt;br /&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;Have a happy launch day&lt;br /&gt;Everyone's drawing merrily&lt;br /&gt;In a new best practiced way&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rudolph the Brown-Nosing BA &lt;/strong&gt;&lt;br /&gt;Rudolph the brown-nosing BA&lt;br /&gt;had a huge need to know.&lt;br /&gt;And those who ever met him,&lt;br /&gt;hoped they'd just let him go&lt;br /&gt;&lt;br /&gt;All of the other BAs&lt;br /&gt;used to scowl and call him names.&lt;br /&gt;They never let poor Rudolph&lt;br /&gt;join in any BA games.&lt;br /&gt;&lt;br /&gt;Then one foggy release eve&lt;br /&gt;VP came to say:&lt;br /&gt;"Rudolph you are so very bright,&lt;br /&gt;won't you guide my launch tonight?"&lt;br /&gt;&lt;br /&gt;Then all the BAs loved him&lt;br /&gt;as they shouted out with glee,&lt;br /&gt;Rudolph the brown-nosing BA,&lt;br /&gt;make our sponsors so happy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6964433872449721535?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6964433872449721535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6964433872449721535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6964433872449721535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6964433872449721535'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/12/seilevel-2009-software-requirements.html' title='The Seilevel 2009 Software Requirements Holiday Medley'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-5087260348921879796</id><published>2009-11-17T23:24:00.003-06:00</published><updated>2009-11-17T23:29:24.418-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;10'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>First call for papers for RE'10. Can you hear the kangaroos calling us?</title><content type='html'>Pack your bags folks, we are heading to Australia in 2010! I'm excited to post the first call for papers (CFP) for IEEE's RE'10, held in Sydney Australia next September. I'll copy the key components of the CFP here, but visit the link for more details. I'm excited about this because we'll be working closely with conference organizers to ensure a very strong industry track - with many enhancements/improvements over past years conferences to help attract a great set of practitioners from the Product Management and Business Analyst communities as well!&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoPlainText" style="text-align: center;"&gt;&lt;b&gt;CALL FOR PAPERS AND PROPOSALS&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;18th IEEE International&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;Requirements Engineering Conference&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;REQUIREMENTS ENGINEERING IN A MULTI- FACETED WORLD&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;September 27 - October 1, 2010&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;University of Technology, Sydney&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;&lt;a href="http://www.re10.org"&gt;http://www.re10.org&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;b&gt;Important Dates&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt;Technical and industrial paper abstracts due: February 12th, 2010 Full papers due: February 19th, 2010 Tutorials &amp;amp; Workshop proposals: March 15th, 2010.&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Some Context&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;Software systems in today’s multi-faceted world are as diverse as the people who use them. While some are built according to rigorous government regulations, others must be delivered quickly to meet time-to-market deadlines or must be responsive to changing business needs. From a requirements engineering perspective, there is certainly no ‘one-size-fits-all’ solution.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;RE’10 will&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;explore techniques and methods for eliciting, analyzing, specifying, and managing requirements across diverse development teams where stakeholders often come from entirely different cultural, linguistic, geographical, and educational backgrounds; and across a broad spectrum of software projects that encompass both formal and informal development techniques and represent both small and very large scale projects.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Do you need help?&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;If you have never previously published at a major international conference, then you may be eligible for our mentoring program.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Please check the RE’10 website for further details.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-5087260348921879796?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/5087260348921879796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=5087260348921879796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5087260348921879796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5087260348921879796'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/11/first-call-for-papers-for-re10-can-you.html' title='First call for papers for RE&apos;10. Can you hear the kangaroos calling us?'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-2132912155583266443</id><published>2009-11-02T09:00:00.000-06:00</published><updated>2009-11-02T09:00:01.348-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtual'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='Distributed Teams'/><title type='text'>Resource with Tips for Virtual Teams</title><content type='html'>&lt;div&gt;I am a huge fan of Thiagi's work on games to use in training. He has made many games publicly available for use in your own training environments. In the past I've done some writing (&lt;a href="http://requirements.seilevel.com/blog/2008/09/live-from-re08-learning-days-for-us.html"&gt;here&lt;/a&gt;) about how we've adapted his games to Requirements Engineering training courses. But today I was browsing his site and found something I thought might be useful to others. He has posted a &lt;a href="http://www.thiagi.com/ICPT-Follow-Up/listOfTips.html"&gt;list of tips for virtual teams&lt;/a&gt;. There are just over 100 simple tips, that if you just skim the list I'm sure you'll find a handful of them can be applied immediately in your organization. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Does anyone have comments on ones you will start to use or additional tips to add?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-2132912155583266443?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/2132912155583266443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=2132912155583266443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2132912155583266443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2132912155583266443'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/11/resource-with-tips-for-virtual-teams.html' title='Resource with Tips for Virtual Teams'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-5261837266638986275</id><published>2009-10-30T09:00:00.001-05:00</published><updated>2009-10-30T09:00:00.986-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='agile requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Delivering Business Value with Agile Approaches to Requirements, continued</title><content type='html'>&lt;div&gt;This post is a continuation of a previous post found &lt;a href="http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_28.html"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Changes Dave believes are coming with respect to agile-run projects and my own commentary on these:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;ul&gt; &lt;li&gt;Requirements engineers make decisions, they are not just documenters. Expect to see that product owners are the BAs. They will less often be called systems analysts, and more often called product owners. A few years ago, we shifted from calling our requirements team members “Business Analysts” and started calling them “Product Managers” because that’s really what they have to do – own the product, even if it’s just an internal IT system. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;BAs/Product Owners will be empowered to make decisions and not just sit around waiting on sign-off. They must be experts in the business. They must work with development, not just document for them. Once they do this, they can start to make very smart decisions about what should or should not make it in the product.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Agile is not a fad, even NASA is doing it. That said, we will see variations on agile as it grows and evolves.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The development team can add value about requirements, so collaborate with them. They don’t all just want to gold-plate scope or push back on what’s in or out – they love to build products, so use that to your advantage.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The business is not always right, so you still need to ask questions. BAs/Product Owners must push back when something doesn’t make sense.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Agile is actually seen to increase the value of requirements – just make them more solution focused, and not just about doing lots of documentation.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;And finally, Dave made my favorite quote from RE’09: The difference between UML 1 and UML 3 is that we moved the stick hands from being straight out to angled downwards. He can make jokes like this since he actually worked on it!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-5261837266638986275?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/5261837266638986275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=5261837266638986275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5261837266638986275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5261837266638986275'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_30.html' title='Delivering Business Value with Agile Approaches to Requirements, continued'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-4372498406143774365</id><published>2009-10-28T09:00:00.002-05:00</published><updated>2009-10-28T17:31:08.904-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='agile requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Delivering Business Value with Agile Approaches to Requirements</title><content type='html'>I attended a keynote at RE’09 in Atlanta that I wanted to go back and post a summary of and my thoughts on. And just to be completely honest, this is a rarity. For whatever reason, I really tend not to get much value out of keynote talks – either they are too technical, the speaker isn’t great at well, speaking, or they are so out there I cannot engage in it. Today was different though, it was captivating for me. This one was given by &lt;a href="http://www.forrester.com/rb/analyst/dave_west"&gt;Dave West of Forrester Research&lt;/a&gt;. The talk was titled “Developing Business Value with Agile Approaches to Requirements”.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be fair, he had my attention at the first slide – it was a picture of a dog doing agility. When I talk about agile, I use such a picture too since I personally do agility with my dog! Anyway, the content of the talk proved to be interesting. Some will say it wasn’t anything new. Others will argue with what he said. But for me, his ideas were very tightly aligned with our experiences and ideas about agile and requirements so I like that it built on what I already knew and gave me new ideas to think about. The great thing is he has a much larger pool of resources to survey and confirm his ideas. Here are a few of the points of interest.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;He talked to what is being adopted with respect to agile and among those things: Agile itself is being adopted. Scrum practices are as well. He also sees engineering practices such as early testing, integrated builds, and re-factoring. But most of note, he is most commonly seeing a hybrid of approaches– more of an agile than an Agile approach. I think this is relevant as I hear company after company say “agile didn’t work for us”. In reality for many companies it probably doesn’t in its purest of form. Or perhaps it requires trying it more than once, learning from mistakes (do we really think Waterfall worked the first time either?!?!).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some really positive things he believes we are seeing now include frequent delivery, increased business involvement with more collaboration, and changes in team organization towards smaller teams and more of a team focus in general. His thought on when agile is best used: Complex projects where there are problems to be solved and the solution is unknown.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dave spoke to the common friction points between traditional requirements approaches and agile:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Delivers requirements vs collaboration on the product&lt;/li&gt;&lt;li&gt;Where in the process you engage vs. iterative&lt;/li&gt;&lt;li&gt;Requirements that are out of date, long/hard to read, solution focused, take way too long vs. collaborative and timely requirements&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Some of the issues that you must be careful about with agile: Often the customer has no time because they are doing their day-job (the one you are trying to help in some way with software!). There are often many customers to involve in the requirements efforts, not just one or two to quickly jot down stories with. The customers are often distributed so you have to bake in time to work with all of them alone and together. Agile is reliant on good communication but stereotypically, developers don’t communicate well. We cannot ignore analysis - processes require analysis and solutions require thought - so take time to do these.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will continue this post in a day or so with thoughts on changes that Dave thinks we are starting to see, as well as my personal thoughts on his thoughts!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-4372498406143774365?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/4372498406143774365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=4372498406143774365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/4372498406143774365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/4372498406143774365'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_28.html' title='Delivering Business Value with Agile Approaches to Requirements'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6606940204004693720</id><published>2009-10-26T09:00:00.000-05:00</published><updated>2009-10-26T09:00:06.319-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='agile requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='Borland Caliber RM'/><category scheme='http://www.blogger.com/atom/ns#' term='IIBA BABOK'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements management'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>An example of Blueprint in Use on an Agile Project</title><content type='html'>&lt;div&gt;I attended a talk by folks from&lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=1188&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=1208&amp;amp;speaker_id2=1151&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt; BluePrint and Lexis Nexis&lt;/a&gt; at BAWorld on Tuesday at BAWorld: Boston called "Requirements Definition for Agile Projects". The first bit of the talk was just an intro to agile and why it is useful on the projects. The part that I found most interesting was from Kathleen McGoey who owned business analysis on lawyers.com - she effectively gave a verbal case study of their team using agile and Blueprint to deploy this site. This was refreshing because she was brutally honest about the state of their organization 2 years ago, some of her dislikes about other tools, and their experiences with agile not going well. However, she also then talked about how their culture is changing now and what is working really well. This talk was great because it was effectively a great sales-pitch for Blueprint, but it was given by an actual user....and you could tell she was being honest about it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Blueprint is meant to be a BA tool. They are closely partnered with HP and it integrates to Quality Center for QA use as well. From a quick glance of things she mentioned or showed, it looks like it allows you to manage the list of features in a backlog, low-fidelity wireframes, diagrams that look a lot like visio, export to Word, and import from Excel. We are still using Borland's Caliber happily, but I'm obviously always looking at all the tools on the market to see what people are really liking and/or disliking, what new features are coming about, what's easy to use, etc. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A bit about the lawyers.com project - they were executing 3-12 week sprints and the requirements definition is about 2 weeks ahead of sprint cycles. She made a very wise comment - templates and processes are good to an end, but only if the BA knows what they are doing already. She spoke of junior analysts who are given templates and when you look at their work products you think “Oh no! what are you doing!”. I think we’ve all probably seen that. You can use the templates and processes to train them, but they aren’t enough, but they aren’t enough. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another neat thing she briefly mentioned was the idea of doing something like pair-programming, but where the pair consists of a BA and a user experience expert – so together they are designing the wireframes. I haven’t tried it, typically our individuals are doing both activities. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, it was good to hear the “how it works” story from Lexis Nexis. And I haven't used Blueprint myself, but I am certainly interested to hear others' experiences with the tool, so please comment if you have used it. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6606940204004693720?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6606940204004693720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6606940204004693720' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6606940204004693720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6606940204004693720'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/example-of-blueprint-in-use-on-agile.html' title='An example of Blueprint in Use on an Agile Project'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-8077302404323321857</id><published>2009-10-23T09:00:00.000-05:00</published><updated>2009-10-23T09:00:06.179-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements tools'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>BluePrint Tool</title><content type='html'>I attended a talk by folks from BluePrint and LexisNexis at BAWorld on Tuesday. The first bit of the talk was just an intro to agile and why it is useful on the projects. The part that I found most interesting was from someone who owned business analysis on lawyers.com - she effectively gave a verbal case study of their team using agile and BluePrint to deploy this site. This was refreshing because she was brutally honest about the state of their organization 2 years ago, some of her dislikes about other tools, and their experiences with agile not going well. However, she also then talked about how their culture is changing now and what is working really well. This talk was great because it was effectively a great sales-pitch for BluePrint, but it was given by an actual user....and you could tell she was being honest about it. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BluePrint is meant to be a BA tool. They are closely partnered with HP and it integrates to Quality Center for QA use as well. From a quick glance of things she mentioned or showed, it looks like it allows you to manage the list of features in a backlog, low-fidelity wireframes, diagrams that look a lot like visio, export to Word, and import from Excel. We are still using Borland's Caliber happily, but I'm obviously always looking at all the tools on the market to see what people are really liking and/or disliking, what new features are coming about, what's easy to use, etc. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A bit about the lawyers.com project - they were executing 3-12 week sprints and the requirements definition is about 2 weeks ahead of sprint cycles. She made a very wise comment - templates and processes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I haven't used BluePrint myself, but I am certainly interested to hear others' experiences with the tool, so please comment if you have used it. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-8077302404323321857?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/8077302404323321857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=8077302404323321857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/8077302404323321857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/8077302404323321857'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/blueprint-tool.html' title='BluePrint Tool'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-427148973251891815</id><published>2009-10-22T09:00:00.000-05:00</published><updated>2009-10-22T09:00:03.980-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business analyst'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='IIBA BABOK'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>Creating BA Competency</title><content type='html'>As part of our Live from BAWorld: Boston series, I just heard a talk from Karen McKay at Doreen Evans Associates (DEA). She discussed building a BA competency in your organization. Her talk was focused on the high-level need for such a model and what the components of it are. I think a next level of discussion that would be interesting is tactics you could use to create one yourself - which specific tools and tactics work. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At DEA, they use a model that is very similar to the CMM, with five levels of competency: initial, repeatable, defined, managed, optimized and have helped build this at a handful of organizations. We do something similar to build BA maturity in organizations, but I haven't actually seen it laid out next to the CMM model quite like this. At the requirements process level, they use requirements models which I applaud - context diagrams, org charts, use cases, process flows, DFDs, etc. This talk further validated what I'm seeing in industry - alas, models are really the current state now. So if you write your requirements in plain old text, I fear that is really seen as out-of-date "technology" and you need to look at visualization techniques.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Something interesting that she did with her slides was to describe parts of their competency models using requirements models. For example, there is a swimlane diagram to show the BA role - clearly showing how BA activities relate to IT and PM functions. I haven't done much of this recently and think it's a great idea that I will use. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, this is a topic that I'm definitely interested in as we try to help customers build their competency around requirements as well. It seems like organizations are really recognizing the value of BAs now!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-427148973251891815?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/427148973251891815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=427148973251891815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/427148973251891815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/427148973251891815'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/creating-ba-competency.html' title='Creating BA Competency'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-9050504946332556581</id><published>2009-10-21T10:00:00.001-05:00</published><updated>2009-10-21T11:40:18.608-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qa'/><category scheme='http://www.blogger.com/atom/ns#' term='users'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='use cases'/><title type='text'>Using Use Cases To Create Test Cases</title><content type='html'>As part of my "Live from BAWorld: Boston" series, I attended a talk Monday by &lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=995&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=999&amp;amp;speaker_id2=&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt;Matthew Leach of Doreen Evan Associates&lt;/a&gt; called "Leveraging Multi-Level Use Cases for Testing and Other Ways to Obtain Greater ROI on your Business Analysis Investment". &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;His talk went into great depth about how you could use use cases on your project in multiple ways, looking at different levels of detail in use cases. He quoted a study from VokeStream that indicated 76% of people surveyed manually build test cases still. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is the one point I also wanted to emphasize the importance of: re-use your use cases to generate test cases, particularly user acceptance test scripts (UAT scripts). At some level this seems obvious to me, but I don't think it is all that obvious after all based on the above study, Matthew's experiences, and my personal ones as well! On a recent project I worked on, the business came to us to talk about how awful the integration and unit test cases were - that they just would not work for UAT. My immediate thought was "well of course not, those aren't meant for UAT". Apparently QA had told them to write their UAT scripts from these test cases. That's almost as challenging as writing them from code! So we walked them through how we could take the use cases we had written (which the existing test cases were generated from) and easily translate those into UAT scripts. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you think of your use case having a happy path and alternative paths, you would want to blow out each of those paths into at least 1 test case each, by adding concrete data to the use case. So for example, if there is a step for the user to input "shipping information", then in the UAT script, you would want to supply actual shipping information including a specific name and address that would be in the test data set. It's important during UAT to also test the alternate and exception paths - to ensure the not-so-happy path and errors are handled to the business' satisfaction. That said, it's also unrealistic to think your users have time to test all possible paths. To mitigate this, I have two suggestions.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Pick the most important UAT scripts to test. You have to decide what "important" is, but it would be wise to look at the use cases that add the most business value and/or are most frequently used.&lt;/li&gt;&lt;li&gt;Use your BAs during UAT - particularly for the less important test cases that the users can't it. &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-9050504946332556581?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/9050504946332556581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=9050504946332556581' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9050504946332556581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9050504946332556581'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/using-use-cases-to-create-test-cases.html' title='Using Use Cases To Create Test Cases'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6998138643787417914</id><published>2009-10-19T19:22:00.004-05:00</published><updated>2009-10-19T19:46:04.311-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ROI'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Objectives'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>BAs Need to Think Quietly</title><content type='html'>Also at BAWorld: Boston, Monday I heard &lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=1142&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=1117&amp;amp;speaker_id2=&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt;Barbara Carkenoard talk about "ROI? Measuring the Real Value of Business Analysis"&lt;/a&gt; and her learning objectives were:&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Learn to talk about the specific value of a strong business analysis discipline&lt;/li&gt;&lt;li&gt;Consider business analysis metrics for use in your organization&lt;/li&gt;&lt;li&gt;Understand why a financial ROI is not normally calculated for business analysis&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Some of the key points of interest for me were these, with my own commentary:&lt;/div&gt;&lt;div&gt;Business analysts should be involved in creating the business case. Most projects don't bring them in until the project is already decided upon. But business analysts inherently are good at analysis and can really think through whether a project even makes sense. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Business analysts need to figure out how to block out big chunks of time to think quietly. Analysis requires thinking...so let them think!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An interesting discussion took place around cultural differences between countries and how it relates to the use of process or lack of. This came out of a question about why organizations try to short-cut business analysis on the projects. And Barbara proposed that the US culture is one of "hurry up, slam it in, we'll fix it later" whereas a lot of other countries (she named Canada and the UK) are more likely to follow a process to get it done right. I laughed because just last week I had an executive say "It's okay if we don't get all the requirements defined, we'll just log everything not yet written down as defects and fix them in QA"...and he was very serious about it. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6998138643787417914?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6998138643787417914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6998138643787417914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6998138643787417914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6998138643787417914'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/monday-i-also-heard-barbara-carkenoard.html' title='BAs Need to Think Quietly'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-7811949374298559609</id><published>2009-10-19T17:53:00.003-05:00</published><updated>2009-10-19T18:01:12.339-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business analyst'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='IIBA BABOK'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Objectives'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>Live from BAWorld Boston</title><content type='html'>This week I find myself at &lt;a href="http://www.projectsummit.com/boston/boston-home.html"&gt;Project Summit &amp;amp; BAWorld: Boston&lt;/a&gt; for about a day and a half. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This morning I presented our talk, &lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=990&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=977&amp;amp;speaker_id2=&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt;"If you Build It, Will They Use It? Leveraging Business Objectives to Deliver Successful Projects"&lt;/a&gt;. One thing I like about the BAWorld symposiums is that they make the slides available electronically to everyone, they are reviewed by a committee before you can present them, and they insist that the speakers provide learning objectives so you know what you are getting. So to that point, here are the learning objectives for my discussion: &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Understand how Business Objectives are vital to businesses&lt;/li&gt;&lt;li&gt;Understand how to elicit and write good Business Objectives&lt;/li&gt;&lt;li&gt;Understand how to use Business Objectives to assess measurable value of individual features&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I had a blast with the audience here - great participation in some of my games (yes, we do them in presentations, not just our training classes!). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you haven't been to one of these conferences, I recommend it if you are a practitioner doing Business Analysis, Requirements Engineering, or Product Management. Everyone else here is also practicing the "art" of BA and looking for new tips and techniques to take back to their organizations. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I attended a few other talks of interest today that I'll blog about shortly! &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-7811949374298559609?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/7811949374298559609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=7811949374298559609' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7811949374298559609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7811949374298559609'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/live-from-baworld-boston.html' title='Live from BAWorld Boston'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6254003931464545871</id><published>2009-10-09T09:00:00.000-05:00</published><updated>2009-10-09T10:06:52.695-05:00</updated><title type='text'>Requirements Soundtrack</title><content type='html'>&lt;div&gt;I am going to take it a little off the beaten path for this post and ask about some 'non-functional' work requirements you have.  So I was wondering what you all like to do when you have to stay focused? Do you listen to classical? Work remotely from a coffee shop or home? Put a big frown face on your office whiteboard warning intruders to stay away?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I personally have my ear buds on hand wherever I go to work.  They help me whenever I need to keep my head down and not be distracted.   Granted, the slow and methodical opening of 20 or so metal blinds with 5 or 6 pulls each isn't easily drown out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;I favor listening to either Classical or Spanish Guitar music for working at the client site or office.  Not for the 'classical makes your baby smart' argument.  I do find that these two types of music help instill a calm demeanor and have enough movement in the music to help you get into a pattern.  The ear buds themselves do the work of drowning out the background conversations regarding the explosion of a stress ball and its contents upon the ceiling.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Alternatively.  When I have a large quantity of documents to review or large processes/maps to create, I favor my home office.  I can't help but need a great chair, huge monitor, and fast internet for researching  in these cases.   Granted my music changes to more modern content to keep the mind from burning out on the same tasks.  But in either case, I welcome some interruption since I am not the only one with deadlines.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Do you have different styles of work when it is focus time?  Let us know, we would love to hear back from you.  Perhaps you had a moment that you really wished you had some way to stay focused.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6254003931464545871?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6254003931464545871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6254003931464545871' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6254003931464545871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6254003931464545871'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/requirements-soundtrack.html' title='Requirements Soundtrack'/><author><name>Joshua</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08029902375787181889'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-1520098912207075053</id><published>2009-09-24T09:00:00.000-05:00</published><updated>2009-09-24T09:00:05.219-05:00</updated><title type='text'>12 Things to Fertilize Your Business Analysis Career - Addendum</title><content type='html'>&lt;div&gt;Jacqueline Sanders wrote a wonderful article that was posted on the &lt;a href="http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/1037/12-Things-to-Fertilize-Your-Business-Analysis-Career.aspx"&gt;modern analyst site&lt;/a&gt;, I highly recommend you read it.  In it she writes briefly on the background of the Business Analyst field  and several pointers for becoming a better and therefore more distinguished Business Analyst.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;I have a few suggestions for some of her points.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;1.     Associate with Other Professional BA's.  Great point.  This should extend to networking in general with a focus on BA organizations and individuals.  There are numerous organizations that host local networking events and seminars.  They don't have to be regarding product managing or business analysis.  &lt;a href="http://www.door64.com"&gt;Door64&lt;/a&gt; and &lt;a href="http://www.austintechhh.com/"&gt;Austin Tech HH&lt;/a&gt; offer many events where you can socialize with the people you will be interfacing with the most in your job, not other BA's, but developers, SME's, and managers.  More importantly, while it is good to be part of the in crowd of BA's, if you are trying to land a job or help secure a deal, you've got to know the people with the projects.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2.     Seek the Body of Knowledge (BOK) / Become Certifiable / Talk Like a B.A. Learn up on your BABOK, get certified where applicable, and know the language.  Its challenging enough to translate business speak to functional requirements, no need to toss in BA's with different communications.  There is no substitute for BABOK and certifications.  However, it is not enough to talk like a BA.  I highly recommend subscribing to news feeds / blogs / articles to get all the recent traffic and best practices.  Don't just do this for business analysis based information, get into feeds for the space you are working in as well as development information.  When you start talking like a BA and someone else starts talking like a developer, you should be able to quickly translate and ensure the same page was landed on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3.     Tools of The Trade.  As Jacqueline says, MS Word, Excel, and Visio are not enough.  I can almost guarantee you that SharePoint will be involved.  You should get to know and love this tool (unless you are provided with another one, in which case you probably shouldn't mention SharePoint).  It will be imperative to use the shared task, communication, and document capabilities of this tool.  As for getting to know other tools, if you have the free time, go out there and look up requirements management software and get a hold of all the free trials you can.  Get to know any of the lists that inform you about which software offers what values.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4.     It's Hard to be Soft.  Just like you would carry around a portfolio of your accomplishments, try to keep in mind your experiences that played out based on your soft skills.  Jacqueline states it perfectly," hard skills will get an applicant an interview, but soft skills will get that person a job."  Be ready to tell an interviewer how you were able to reject the project sponsor's features without causing a political debacle and making sure they were alright with the decision based on the business needs.   These experiences are just as important as your 14+ years of Visio usage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5.     Know You are Not.  Jacqueline points out that we Business Analysts are not people who satisfy simple tasks.  That we are not just a middle man in getting the information from the fax machine and giving it to the engineers as one lovely movie puts it.  We are devoted, business-minded professionals.  Everything we do should be an ROI based thought process because that is what we do.  If someone doesn't understand your role, it might even be hard for you to describe.  I make sure sound business decisions are executed.  I make sure that products meet project needs.  I ensure that business needs are met with new or changing processes.  I write high level, common and excruciatingly detailed documents.  I am the facilitator of meetings to make sure we didn't waste the entire leaderships day of work.  I am the discoverer of everything everyone else forgot to mention.  At this rate, I may also be Spartacus.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Our role is diverse and requires dedication to execute well.  I find it funny how I never knew this type of job existed growing up, if you recall the silly aptitude tests growing up.  I would like to reiterate that this is just a list of some of my personal thoughts regarding some of Jacqueline's points.  Please go read her article. Is there anything you feel we are missing out on?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-1520098912207075053?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/1520098912207075053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=1520098912207075053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1520098912207075053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1520098912207075053'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/09/12-things-to-fertilize-your-business.html' title='12 Things to Fertilize Your Business Analysis Career - Addendum'/><author><name>Joshua</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08029902375787181889'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-2644035019741332925</id><published>2009-09-22T09:00:00.000-05:00</published><updated>2009-09-22T09:41:41.220-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><title type='text'>What's My Name Again?</title><content type='html'>&lt;div&gt;Monthly Sales Revenue Generation... no&lt;/div&gt;&lt;div&gt;Monthly Sales Group Rev Production... no&lt;/div&gt;&lt;div&gt;Sales Revenue Performance by Month... no&lt;/div&gt;&lt;div&gt;Sales Revenue by Month for Overview... maybe... yes, that one was it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Speaking from experience, trying to document vital business information when it all is named with generic operational mumbo-jumbo will slowly cause your brain cells to rebel against you throughout the day. If you haven't given in to their demands by the end of the day, your brain could retaliate by making you forget vital information like your name, favorite color, or the air speed velocity of an unladen swallow.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Concerns for your own health aside, the business is put at risk when vital documents or business processes are not identified correctly. Loss of documentation can lead to costs for replacing it, failed process attempts, legal actions, and bad requirements for projects.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To prevent that from occurring, a system to easily identify information correctly is needed. In the strictest form, the information you are working with should have unique ID's (not like the ones at the beginning of the post though). If you use requirements management tool  like Caliber, then your entries should be given unique IDs. If not you will have to come up with some system yourself.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A combination of letters and numbers work well to prevent ID overlap. I tend to favor a 2 to 3 letter prefix that is some sort of abbreviation for the information such as 'RO' for report object or 'IPD' for InfoPath Document. This will help add much needed meaning to an identifier without having so many words to say so in the first place. It also serves as a code that is easier for machine side recognition if applicable to your project.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now we have our lovely hybrid id. What do we name our document? Some people like to use summaries (which unfortunately, in my opinion, are informative mostly based on how you see things.) I try to use a generic name that describes the overall purpose of the doc such as 'Sales Dashboard' or 'Customer Credit Registration'.   Those types of names will most likely be commonly accompanied with dates relevant to the creation of the document.  Try to append the date in a manner that is friendly to alphabetical sorts (i.e. 2009-08-26).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now the part that some of us will not like (I am looking in your general direction agile extremists), write down in a list that all these documents exist.  Descriptions, owners, and change management rules for these documents will prove invaluable later.  While other BA's are telling stories about how this one employee quit 4 years ago and the sales process is relying on a SQL database running off of an old laptop that person setup which they are now trying to bypass, you will be quickly identifying which documents need to be migrated to the new system and being confident you got all the relevant organization's buy-in.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-2644035019741332925?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/2644035019741332925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=2644035019741332925' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2644035019741332925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2644035019741332925'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/09/whats-my-name-again.html' title='What&apos;s My Name Again?'/><author><name>Joshua</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08029902375787181889'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-3453410380951188052</id><published>2009-09-09T10:00:00.002-05:00</published><updated>2009-09-08T13:37:34.309-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='mentoring'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Live from RE'09: New Ideas for Requirements Activities in Distributed Teams</title><content type='html'>&lt;div&gt;Olly Gotel from Pace University presented work she has done with colleagues from around the world in a paper titled &lt;i&gt;Distributing Responsibilities to Engineer Better Requirements: Leveraging Knowledge and Perspectives for Students to Learn a Key Skill&lt;/i&gt;. Olly started this talk by telling us that she had done something crazy with this project, and then went on to explain how they had essentially five different teams working on a project from five locations around the world. They were each supposed to write requirements for a software development competition, with requirements teaching and coaching help along the way from professors and experienced students. As she went on to describe the experience, many of us from industry chuckled with her out of empathy – her experience is so similar to our worlds today where the teams are distributed worldwide and chaos ensues! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are a couple concepts from Olly’s course design that I think would be great to replicate in industry – either from a training perspective or project execution. The first one is related to creating competition to improve results. In past iterations of this learning experience, Olly explained they had issues with the students not understanding the value of producing quality requirements, which naturally resulted in poor results. So this time they had the teams compete with one another by creating the same deliverables and having the client choose which solution was best. As expected, the competition significantly increased the quality of their work products. We have done this with our training courses – introduced friendly competition through game playing and I’ve been pleased with the level of engagement. However I think there is something interesting to think about here with respect to injecting a different type of friendly competition into project execution in industry. Fundamentally the big turn-off to this idea in industry is that there are five times the costs to create the single project – so it's a lot of throw-away work. But, if we think outside the box a bit, perhaps we can divide projects into chunks (or just use multiple projects) and have the requirements sub-teams compete on quality of specifications, requirements issue resolution speeds, project success rates, etc. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this course, they used an apprentice model with coaches who were students that had previously completed the requirements engineering classes. Now I think this is something that absolutely applies as-is! You can just have mentors who are more experienced people mentoring the more junior resources in requirements activities – ideally pairing them up on the same projects. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-3453410380951188052?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/3453410380951188052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=3453410380951188052' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3453410380951188052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3453410380951188052'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/09/live-from-re09-new-ideas-for.html' title='Live from RE&apos;09: New Ideas for Requirements Activities in Distributed Teams'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-345036027404070954</id><published>2009-09-04T12:51:00.003-05:00</published><updated>2009-09-04T13:04:05.600-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Live from RE’09: Taking Distance Requirements Training to a New Level</title><content type='html'>&lt;div&gt;Didar Zowghi gave one of the most interesting talks at &lt;a href="http://users.cscs.wmin.ac.uk/REET09/"&gt;REET'09&lt;/a&gt; I’ve heard in awhile titled &lt;i&gt;Teaching Requirements Engineering to the Baha’I Students in Iran Who Are Denied of Higher Education&lt;/i&gt;. She was asked to teach a distance learning course on requirements engineering to these students from Australia to Iran. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;She basically runs the course by teaching lectures using audio and displaying the lecture slides using Skype or LiveMeeting. However, they ran into issues with everything from bad audio connections, students who couldn’t see the visual slides, and even power outages. One improvement made eventually was to record her lectures so students could download them to play if they couldn’t hear for some reason during the live presentation. As a bonus, Didar said she learned of things she could work on by listening to herself lecture for the first time! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;She had assignments for the students as well, but specifically she had a project where they had to interview a stakeholder to elicit and document requirements. She had a Teaching Assistant located in Iran who played the role of stakeholder – sometimes in person, sometimes by phone. She had the students use &lt;a href="http://www.processimpact.com/goodies.shtml"&gt;Karl Wieger’s templates&lt;/a&gt; since those were also easily downloadable. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Didar also makes time to chat with students – they might Skype her for example to find a time to chat verbally. I like to think of these as virtual office hours! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found Didar’s talk to be so interesting based on the circumstances behind it – a great culture lesson that I thank her for.  But I also find it quite relevant as we work to roll out global training programs. I am sometimes overwhelmed by the idea of how we will possibly have successful training with people on the other side of the world, but the reality is – you just make it work.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-345036027404070954?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/345036027404070954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=345036027404070954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/345036027404070954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/345036027404070954'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/09/live-from-re09-taking-distance.html' title='Live from RE’09: Taking Distance Requirements Training to a New Level'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-2754790259850430650</id><published>2009-09-03T13:48:00.004-05:00</published><updated>2009-09-03T13:56:08.280-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Live from RE'09: Contextual Requirements Experiences within the Software Enterprise</title><content type='html'>&lt;div&gt;Kevin Gary from Arizona State University presented &lt;i&gt;Contextual Requirements within the Software Enterprise&lt;/i&gt; at &lt;a href="http://users.cscs.wmin.ac.uk/REET09/"&gt;REET’09&lt;/a&gt;. He discussed their approach in having a multi-year project-based engineering course sequence, allowing for iterative exposure to all concepts - but particularly of interest: requirements engineering. This very much fits with popular learning theory – the idea we need to put concepts in front of students repetitively for them to really learn them. For their projects, they reach out to industry to find candidate projects so the students get to work with real subject experts to solve real problems, ultimately producing real deliverables.  What I like about his style is that he is less interested in whether the company gets their perfect solution out of this work and instead he is more interested in whether the student is learning the concepts. But in reality, it sounds like the companies are getting a lot of value out of it!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the challenges Kevin spoke to involves how you assess students in courses like these. One thing I do like that I haven’t seen often is that he tries to check in with industry managers that hire his students to see if they are coming out of the ASU program more prepared. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what I like about Kevin’s discussion first of all is that assessment of students is hard! We see that too and it was a big topic in an REET panel later in the week at RE’09. But I really think it’s great to see universities with programs really aimed at setting the students up for success in industry after graduation. And the final point I’ll make is that he’s absolutely right about needing students to practice the lessons lectured and hear them more than once. I think this is a major flaw in much of the requirements training offered to industry right now. We send students in for a class and then expect them to get it all - typically without revisiting the materials again.&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-2754790259850430650?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/2754790259850430650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=2754790259850430650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2754790259850430650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2754790259850430650'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/09/live-from-re09-contextual-requirements.html' title='Live from RE&apos;09: Contextual Requirements Experiences within the Software Enterprise'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-2272797118723684946</id><published>2009-09-01T22:59:00.001-05:00</published><updated>2009-09-01T23:01:10.519-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>REET’09 Went Off Without a Hitch!</title><content type='html'>&lt;div&gt;&lt;div&gt;Monday was the &lt;a href="http://users.cscs.wmin.ac.uk/REET09/"&gt;Requirements Engineering Education and Training (REET) workshop&lt;/a&gt; that I co-chaired with Ljerka Beus-Dukic. I’m always nervous about how these things will go – there are so many unknowns with the environment, the presentations, and the timing. However, I’m absolutely thrilled with the end result! We had &lt;a href="http://users.cscs.wmin.ac.uk/REET09/program.html"&gt;6 papers presented&lt;/a&gt; and it varies from a normal conference in that we had big blocks of discussion to really dive into some of the commonly shared issues in this field. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We had a lengthy discussion mid-afternoon around how do you really teach anything about requirements to students in a semester long class (or less!) and where does requirements training fit in the overall teaching of the software lifecycle at a university level. The thought is that most people learning about requirements in industry aren’t brand new to software development, they already understand a bit about coding and verification, so they understand the value and context for requirements. Yet trying to teach it to a freshman class would leave the students thinking “why do I need to know this?”&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another key point that is important at all levels is repetition in the lessons they receive. It came up again in the context of academia, where they may teach it to freshmen, and then they need to re-teach it throughout in other classes. This isn’t specific to requirements certainly, just a basic principle of good training. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We also talked quite a bit about how you assess the students in and after training. This is a long standing BIG problem across academia and industry. One issue with assessing whether any behaviors changed in an academic environment is that you teach it and they may use it on a project, but then you never see the students again. One participant actually tries to talk to industry contacts who hire the students to see if they see better results from his students. In industry, it’s very hard to isolate whether results are attributed to training. We can look for modified behavior, but this requires a dedicated resource to do so. I’ll probably talk about this more in a day or so, since we have a panel related to this on Thursday!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We then ended the day with 3 different sets of training activities presented with the intent on getting any participant feedback on the activities, but also leaving the workshop participants with the opportunity to take the exercises back and reuse them. At the very end, we played one of our Seilevel training games: Bet on Yourself Pictionary – it was fun because I was working with a group of people who are already familiar with requirements models in some form and so they could play our game – which basically enlists 2 “students” to act as analysts drawing requirements models for a specified scenario, trying to get the rest of the class to elicit the requirements from them. Oh and they had to do all of this without speaking. It was great fun and if nothing else, a lively way to end the day!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-2272797118723684946?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/2272797118723684946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=2272797118723684946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2272797118723684946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2272797118723684946'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/09/reet09-went-off-without-hitch.html' title='REET’09 Went Off Without a Hitch!'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-4515196674852735077</id><published>2009-08-28T09:00:00.000-05:00</published><updated>2009-08-28T10:05:33.120-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='product management'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Live postings from RE'09 next week!</title><content type='html'>It's one of my favorite times of year, time for the IEEE Requirements Engineering conference! &lt;a href="http://re09.org/"&gt;RE'09&lt;/a&gt; is just around the corner, starting next week in Atlanta, GA. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll be co-charining the &lt;a href="http://users.cscs.wmin.ac.uk/REET09/"&gt;Requirements Engineering Education and Training (REET'09)&lt;/a&gt; workshop on Monday and then attending the main conference the rest of the week, with 2 panel appearances that should prove to be interesting. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And as always, I'll be blogging LIVE from RE'09! I hope to see some of you there, find me if you are attending this year!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-4515196674852735077?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/4515196674852735077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=4515196674852735077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/4515196674852735077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/4515196674852735077'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/08/live-postings-from-re09-next-week.html' title='Live postings from RE&apos;09 next week!'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-2735034243360161602</id><published>2009-08-27T09:00:00.001-05:00</published><updated>2009-08-27T10:07:13.179-05:00</updated><title type='text'>RML™ Requirements Model 6 - The Business Data Diagram (BDD)</title><content type='html'>&lt;div style="text-align: left;"&gt;Even if you don't know what it is called, we have all used one of these or something similar to it.  You know, the last time you were playing the timed, trivia, board game.  If Bob is Joe's uncle, Jessica is Bob's cousin, Paul is Jessica's father, and Joe is Paul's grandfather, what is Paul to Joe?  Then you team stares blankly for a few seconds while someone scrambles for a pencil to start charting it out.  Chances are you drew a BDD to figure out how those people were related (however poorly drawn the diagram was).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A Business Data Diagram is an essential component of the RML™ tool set.  The BDD shows the relationships between entities included in a project, and the cardinalities between these entities.  This diagram will look very similar to an Entity Relationship Diagram (ERD) if you are familiar with those, however it is a conceptual data model only, in other words – a BDD does not represent a physical data model (or even the fact that there is a database).  We use this name as to not confuse anyone that may be familiar with ERDs, falsely implying a database design.  Example included:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://requirements.seilevel.com/blog/uploaded_images/bdd-704725.bmp" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Why should you want to use the BDD?  Because its fun to play connect the data objects, or more practically, when you have other data models. When you have other models, this is a good way to show the relationships of the data objects.  Creating this with the other models also helps you make sure you aren't missing data objects.  Be sure to take note of all the 1's and n's in the diagram.  These are there to help you understand many-to-many/many-to-one-/one-to-one relationship types.  In the example above, it is saying that each customer can have many orders associated, but each order can only relate to one customer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Be careful to not add fields and other specific details regarding the data.  This is not a database schema .  That would be designing the system and we don't want to do that.   That being said, a database admin could use this diagram to understand the relationships that will need to be supported in the database.   If the requirements are not related to this presentation of information, it might be a good idea to skip this diagram.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you create this model, for each data object, you can then look at how each object is created, read, updated, deleted, copied, and moved within the system.  This will help you identify additional systems that may be involved and use cases to be described.  I commonly add these types of diagrams at the start of a high level view of a set of functionality so that the reader can get an idea for the data interactions before they get to the use cases, test cases, etc. that make up the meaningful requirement information.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-2735034243360161602?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/2735034243360161602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=2735034243360161602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2735034243360161602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2735034243360161602'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/08/rml-requirements-model-6-business-data.html' title='RML™ Requirements Model 6 - The Business Data Diagram (BDD)'/><author><name>Joshua</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08029902375787181889'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-2119458498378120857</id><published>2009-08-25T09:00:00.001-05:00</published><updated>2009-08-25T10:29:52.377-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='product management'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='product manager'/><category scheme='http://www.blogger.com/atom/ns#' term='consulting skills'/><category scheme='http://www.blogger.com/atom/ns#' term='elicitation'/><category scheme='http://www.blogger.com/atom/ns#' term='challenges'/><title type='text'>Mission Elicitation - Phone Meetings</title><content type='html'>&lt;div&gt;The site is security restricted, there are subject matter experts in other buildings, and the developers are in another country.  Your mission, should you choose to accept it, is to gather the requirements for a gap analysis of your clients software implementation.  Your meeting will self destruct in 3 days.  You have a phone, a scribe, and a computer to complete your task, good luck.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have a feeling that most meetings like this fail to meet their real goal, identifying the majority of gaps.  A major implementation that requires gaps to be identified often have one big kickoff meeting where you were able to get all the important people to free their schedules.  Of course, they couldn't be all in one place, so you have to meet over the phone.   This can be disastrous.  Not only does everyone over the phone lose context around presentations and discussions, but the people forget who is on either side of the phone.  White boarding turns into phone charades.  Scribes miss out on who said what.  To-Dos are lost in the background noise.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Okay.  Take a moment and breath deep.  Think of pleasant things, like pre-existing documentation, SMEs that agree on the existing and future business processes, and meeting notes that make sense when you go back to read them. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Relaxed now?  Alright, lets make sure we prevent as much of this as possible.  There are several steps to mitigate as much trouble as possible.  If at all possible, get a tablet pc for the meeting.  If that is not going to happen, make sure you have access to a process mapping tool such as Visio.  Secondly, make sure you have an online collaboration tool such as Go-To-Meeting, WebEx, or MS Live Meeting.  If you don't have one of these tools, get a trial or find an open source (read: free) solution.  The ones I mentioned would be ideal since your client will most likely have them already installed which means that there is less of a chance that the first 15 minutes of your meeting will be people discussing which button someone should have clicked instead during the install.  Finally, find a scribe.  If you do not have someone on your team who can help you, you might have to ask a participant to help you scribe while you try to facilitate and elicit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Alright, you have your basic tools.  First order of business, send out the meeting invite.  Don't make this the standard meeting invite you see everywhere else, subject line and no description.  Make sure that you include the objective of the meeting and the rough agenda.  Step two, make sure everyone is introduced over the phone.  Always good to go over who is in attendance and the role they are playing in the meeting.  While introducing everyone, it is wise to have the meeting objective and agenda displayed on your projector and online screen sharing tool of choice.  Make sure that you are located close to the phone so that you can repeat what was asked or stated and by whom. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While the meeting is going on, be sure to bring up a notepad or word doc on the screen to jot down any action items that come up.  Be sure to write down who owns the task and their contact information if you do not already have it.  Just having the task title isn't a nice thing to come back to and try to figure out, so add some context.  Simply writing down "Get everyone's buy-in" is tempting, but please include the people involved in 'everyone and on what document/process the buy-in is needed on.  At the end of each day, send out your notes to all the participants along with the list of to-dos to the owners.  You might  have to keep track of the to-dos and make sure their owners complete them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When a white boarding session strikes, pull out your tablet pen or Visio program and start tossing up a copy so that everyone is involved.  Much easier than describing which line connects to which box that resembles something more of a rhombus.  Doing this will allow for the people over the phone to quickly understand the topic being discussed and add in their knowledge to the debate.  True kudos if you are actually able to secure or setup a webcam that will allow you to broadcast the white boarding, removing the lost in translation possibilities.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are just some basic pointers to holding elicitation meetings over the phone that can save headaches and money for your project.  Do you have any phone elicitation pointers or standard operating procedures?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-2119458498378120857?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/2119458498378120857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=2119458498378120857' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2119458498378120857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2119458498378120857'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/08/mission-elicitation-phone-meetings.html' title='Mission Elicitation - Phone Meetings'/><author><name>Joshua</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08029902375787181889'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry></feed>