<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-17511337</atom:id><lastBuildDate>Mon, 15 Mar 2010 14:58:14 +0000</lastBuildDate><title>Requirements Defined - Seilevel's Software Requirements Blog</title><description>Anything and everything about software requirements.</description><link>http://requirements.seilevel.com/blog/</link><managingEditor>noreply@blogger.com (Joy)</managingEditor><generator>Blogger</generator><openSearch:totalResults>384</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-111618278193159015</guid><pubDate>Mon, 15 Mar 2010 14:30:00 +0000</pubDate><atom:updated>2010-03-15T09:58:14.342-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>product management</category><category domain='http://www.blogger.com/atom/ns#'>user adoption</category><category domain='http://www.blogger.com/atom/ns#'>success metrics</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>business analysis</category><title>User Adoption Metrics that Matter</title><description>If a system is deployed and no one uses it, does it exist? How can you recognize the full business value of a system if no one is actually using it correctly? User adoption is, at least indirectly, a critical project success metric. I say "indirectly" because while project success (e.g., increase sales by 10%) can be obtained without strong user adoption, user adoption of the system is almost always a necessary condition for project success. But how can you tell if your user group is actually using the system? More importantly, how can you tell whether they are using the system as intended in order to meet the project's business objectives? User adoption metrics should not simply measure who is logging into the new system and how many hours a day they are using it. Such statistics are ultimately meaningless if the system's use does not fulfill some business need that justified the project's existence. After all, the user group may be incentivized in some way to "use" the system, when in fact, they are logging in and blindly clicking through the system without really fulfilling a business need. Thus, you must look not only at the system, but at factors outside the system to get a true feel for user adoption:&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;1. Find out what the legacy process is. &lt;/span&gt;Most IT projects involve designing systems which replace or augment some legacy process. Hence, it is important to show that not only is the new system being used, but that the old process is phased out. In general, if the legacy process that the system solution was designed to replace is still in use, then the project is a failure. What business owner would want to pay to maintain a legacy process, and also incur extra costs to support a solution that was supposed to replace or enhance the legacy process?&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;2. Look at KPIs. &lt;/span&gt;Most business teams report some Key Performance Indicators back to their management. There should be KPIs for both the legacy process and new system process, as well as general KPIs which measure performance of the overall business process (e.g., time to process an order, number of order errors, etc.). KPIs related to the legacy process should show evidence of that process being phased out. For example, if a KPI measures the number of orders processed using the legacy system, this number should be trending downward as number of orders processed using the new system trends upward. If the measure is in time to process an order, then the number of orders used to calculate this metric using the old system should decrease, while the number used to calculate this metric in the new system should increase. The key is that there should be some quantifiable, measurable difference between use of a legacy versus new process. Measuring the use of the new system alone is not sufficient for determining user adoption.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;3. Measure project success. &lt;/span&gt;A fundamental assumption of every project is (or should be) that the project will result in the satisfaction of some business objective. If the project does not meet the business objective, then it doesn't really matter whether anyone is using the new system. As an example, if the implementation of a project was supposed to result in 10% cost reduction to process an order, and the cost actually increases, then something is wrong somewhere. Either the system is not being used properly or at all, the old system is not being phased out, or some requirement critical to project success was not implemented or captured. Measuring how many people are logging into the system or the number of licenses purchased will not determine whether the system is being used to its full potential.&lt;br /&gt;&lt;br /&gt;Finally, when measuring user adoption, it is important to be patient. Some legacy systems and business processes (as well as the people executing or managing them) have been in place for years, sometimes decades. Recognize that at product launch, user adoption may be low, and the project will not be successful right away. In the early stages of product launch, the project may actually look like a total failure. Don't give up! Showing the business value of a project takes time. With the right amount of training, communication, and change management, you should begin to see the project trend towards success.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden"&gt;&lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-111618278193159015?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/03/user-adoption-metrics-that-matter.html</link><author>noreply@blogger.com (James)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-3324759183239837094</guid><pubDate>Fri, 12 Mar 2010 15:30:00 +0000</pubDate><atom:updated>2010-03-12T09:38:49.872-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>data dictionaries</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>data flow diagram</category><title>3 Basic Tips to Data Migration Requirements for your Software Project</title><description>It's late stage of a project, so it's time to start worrying about your data migration requirements if you haven't already! If you have done it, good for you! You can just stop reading.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But so many projects push this to the end and then panic when it doesn't go well. I have seen project after project have late deployments because the data was not properly migrated and tested. Here are a few tips to consider:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User your data models to identify what data should be migrated. For example, you can use the boxes in Business Data Diagrams (BDDs) and you can use the data stores in Data Flow Diagrams (DFDs).&lt;/li&gt;&lt;li&gt;You can actually do a two-way check here - if you get data dumps and have fields that are not in your data models, then you may be missing a requirement.&lt;/li&gt;&lt;li&gt;Plan for a lot of time to test this. Surely someone will test the migration scripts themselves and someone is likely testing your code, but you also want to plan for testing the integration of the migrated data to the code. So often properities are not setup correctly and so the data doesn't show up in your software, even thoug it's in the database behind the scenes.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-3324759183239837094?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/03/3-basic-tips-to-data-migration.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-5906860357755308138</guid><pubDate>Wed, 10 Mar 2010 15:00:00 +0000</pubDate><atom:updated>2010-03-10T09:00:02.810-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>project management</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>Getting Ramped Up</title><description>Luckily I have been working fairly consistently with the same client lately. This means that I haven’t had to constantly jot down notes during meetings on things to look up afterward, find corporate maps so I don’t get lost in symmetrical buildings with no windows, or remember not to call the client by the previous engagement’s name.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I was asked recently how I plan on dealing with being dropped into a new environment with a different client. Well, if there were no deadlines and nothing to get done, I would just read documentation all day. Even that would only go so far though. I have no expectations that existing documentation is comprehensive or understandable. It will most likely be the case that you will be creating documentation that others will use when trying to grasp the environment.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So in this world of yesterday deadlines we have to learn things on the go. This means that when I land, I have to get my hands on a systems context diagram so that I can understand what talks to what. From there I can ask who the SMEs are for the different systems and piece together what the systems are for and what they actually do in implementation. This should be the biggest chunk of ramp time, figuring out what systems do so you can understand why you are doing something to change them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The other obstacles to starting with a new client are regulations and business practices. You will never be able to know all of them. Because it takes multiple subject matter experts to own these, your best course of action is to familiarize yourself enough so that you can flag potential areas for the SMEs to fill in. As much as possible, try to incorporate these rules into your diagrams.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The key is that you never want to be reading up on things for the sake of reading up on them. You always want to be actively producing a deliverable. So reading the interface documentation for the sales system should be helping you gather the first set of gap requirements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-5906860357755308138?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/03/getting-ramped-up.html</link><author>noreply@blogger.com (Joshua)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-1975731035534177332</guid><pubDate>Mon, 08 Mar 2010 15:00:00 +0000</pubDate><atom:updated>2010-03-08T09:40:01.437-06:00</atom:updated><title>Use Full Time Requirements Engineers to Manage Change Requests</title><description>&lt;p class="MsoNormal"&gt;Change Requests or CR from Business Users after an application has been deployed are an integral part of the Development Process.&lt;span style="font-size:0;"&gt; &lt;/span&gt;No matter how much care and thought went into the creation of the requirements on which the application was built, it is impossible to get everything right the first time.&lt;span style="font-size:0;"&gt; &lt;/span&gt;This is particularly true of large and complex enterprise applications.&lt;/p&gt;&lt;p class="MsoNormal"&gt;In most organizations, CR and Defects are tracked together after initial deployment of the application.&lt;span style="font-size:0;"&gt; &lt;/span&gt;There are benefits to this approach, primary among them being the ability to track these requests together and group them into manageable buckets that Development can deliver on at periodic intervals.&lt;span style="font-size:0;"&gt; &lt;/span&gt;It is also a practical solution to the reality that in a lot of cases, the lines that divide Defects from CR are often blurry.&lt;span style="font-size:0;"&gt; &lt;/span&gt;So, instead of managing entirely different processes for Defects and CR, most organizations have taken the practical step of merging both into one process.&lt;/p&gt;&lt;p class="MsoNormal"&gt;While this is very advantageous for management and tracking of both defects and CR, improperly documented CR actually end up creating a lot of churn and the productivity gains of merging both processes into one is quickly lost.&lt;span style="font-size:0;"&gt; &lt;/span&gt;The main reason for this is that CR are documented and tracked in exactly the same manner as Defects using the same tool.&lt;span style="font-size:0;"&gt; &lt;/span&gt;Documenting defects is relatively straightforward and business users are able to effectively identify the improper behavior and communicate what the correct behavior of the application should be.&lt;span style="font-size:0;"&gt; &lt;/span&gt;The tools used to track Defects also do a good job of enabling these simple communications between the users and developers, in addition to tracking status and other functionality needed to manage this process.&lt;/p&gt;&lt;p class="MsoNormal"&gt;However, documenting CR in the same manner as Defects leads to very suboptimal results.&lt;span style="font-size:0;"&gt; &lt;/span&gt;For starters, CR are really requirements that were either missed or improperly communicated during the initial requirements gathering stage.&lt;span style="font-size:0;"&gt; &lt;/span&gt;Unlike defects, there is no simple baseline of functionality that is expected behavior versus actually delivered software to call out.&lt;span style="font-size:0;"&gt; &lt;/span&gt;The complexity of CR also varies significantly from extremely minor changes (typically at the UI level) to full blown extensions to functionality.&lt;span style="font-size:0;"&gt; &lt;/span&gt;Having the testers or end users document these changes results in requirements that are partial, unclear or flat out wrong.&lt;span style="font-size:0;"&gt; &lt;/span&gt;This is not a criticism of users but rather an expected outcome.&lt;span style="font-size:0;"&gt; &lt;/span&gt;This is not their core competence.&lt;span style="font-size:0;"&gt; &lt;/span&gt;They are experts in Finance, Marketing, Sales, Accounting and a myriad other skills that are found in modern Corporations.&lt;span style="font-size:0;"&gt; &lt;/span&gt;They are not experts in creating Software Requirements.&lt;/p&gt;&lt;p class="MsoNormal"&gt;The net result of this is that CR often go through multiple iterations of Development as the Developers and Business Users attempt to determine what is exactly needed.&lt;span style="font-size:0;"&gt; &lt;/span&gt;This leads to increase in delivery times, frustration on both sides and significant loss in productivity across the entire team.&lt;span style="font-size:0;"&gt; &lt;/span&gt;There is also a very real danger of scope creep as CR are used to expand the scope of the project incrementally over time leading to significant cost overruns.&lt;/p&gt;&lt;p class="MsoNormal"&gt;The simple solution to this problem is to devote full time Requirements Engineers to documenting and managing CR.&lt;span style="font-size:0;"&gt; &lt;/span&gt;The number of Requirements Engineers needed to support this effort will vary depending on the complexity of the project. But in my experience, one full time Engineer is more than sufficient to support even a large and complex development effort.&lt;span style="font-size:0;"&gt; &lt;/span&gt;The cost argument is made that devoting a full time Requirements Engineer AFTER development is complete is not justified.&lt;span style="font-size:0;"&gt; &lt;/span&gt;But when one considers the lost productivity, frustration and real expenses incurred with a never ending stream of CR, the cost of the Requirements Engineer turns out to be a bargain.&lt;span style="font-size:0;"&gt; &lt;/span&gt;Paybacks of 5 to 10 times the cost of the Engineer can easily be reaped on most projects. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-1975731035534177332?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/03/use-full-time-requirements-engineers-to.html</link><author>noreply@blogger.com (Ajay Badri)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-7727471479410593258</guid><pubDate>Fri, 05 Mar 2010 15:00:00 +0000</pubDate><atom:updated>2010-03-05T13:28:58.259-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>IT</category><category domain='http://www.blogger.com/atom/ns#'>testing</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>personal development</category><category domain='http://www.blogger.com/atom/ns#'>consulting</category><title>The Other 8 Groups in the Software Requirements Audience</title><description>&lt;p&gt;Do you know who your audience is for your software requirements? Why, it’s the development organization, of course! And while that is true, development is the main audience for software requirements, there are many other audience members as well.&lt;br /&gt;&lt;br /&gt;1. &lt;strong&gt;Testing Team.&lt;/strong&gt; I am sure that most of you also thought of the testing team as another audience for software requirements. The software requirements give the test team a baseline from which to write their test plan, test cases and test scripts. The test team looks not only to see if the software works, but does it work the way the user wants it to work, according to the software requirements. You may also find that your test team is an excellent group to review your software requirements for clarity. They tend to look at software requirements from a perspective of “how would I test that requirement?” If they cannot think of a way to test the software requirement, the software requirement may not be clear and/or concise.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. &lt;strong&gt;End Users&lt;/strong&gt;. What about the end user? Those who are communicating what their needs are, of which the software requirements are intended to capture? They are also an audience for your software requirements. We need their reviews to make sure we have documented their needs clearly and accurately.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. &lt;strong&gt;Technical Writing&lt;/strong&gt;. Technical writing is another group that relies on software requirements for their work. We all hope that the Help content of the product reflects what the software does, the best place for the technical writing team to get that information starts with the software requirements. Of course they will also confirm their content with the software itself, but they can certainly get started with the software requirements.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4. &lt;strong&gt;Translation Teams&lt;/strong&gt;. Translation teams also rely on software requirements to help them understand what the product is supposed to do, so they can translate not only the software but also the technical documentation appropriately for their language and culture. &lt;/p&gt;&lt;p&gt;5.&lt;strong&gt; Training&lt;/strong&gt;. Organizations that develop training courses for the software also rely on the software requirements. Like many groups, the software requirements help the training department plan and structure their curriculum, so they can develop and deliver courses quickly and that are ready for training the end users when the software is implemented.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;6. &lt;strong&gt;Support Organizations&lt;/strong&gt;. Support organizations, both internal help desks and product support groups that take the front line calls from customers also use the software requirements to help trouble shoot issues reported. By looking at the software requirements, Support can help determine if the issue reported is a flaw in the software, or if it is working as intended.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;7. &lt;strong&gt;IT&lt;/strong&gt;. Internal IT groups are also interested in software requirements. Beyond the technical requirements for hardware, software, etc that will be required to support the software, IT groups also want to understand any interfaces to other existing software that must be built. They need to understand the support requirements of the software, what sort of administrative tasks will be required of them.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;8. &lt;strong&gt;Consulting&lt;/strong&gt;. If you are working in a commercial software environment, your consulting organization would also be an audience for your software requirements. They need to understand the new software that is soon to be released, so they can plan implementation or migration services for your customers.&lt;br /&gt;&lt;br /&gt;There are lots of audiences, make sure you are including them all when you design the format/layout and include them in all the appropriate review meetings. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-7727471479410593258?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/03/other-8-groups-in-software-requirements.html</link><author>noreply@blogger.com (Betsy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-8982074463077513025</guid><pubDate>Wed, 03 Mar 2010 15:00:00 +0000</pubDate><atom:updated>2010-03-03T09:00:04.156-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>requirements tools</category><category domain='http://www.blogger.com/atom/ns#'>requirements management</category><category domain='http://www.blogger.com/atom/ns#'>cal</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>An Actual Case of Software Requirements Re-use</title><description>We have been using Caliber for a few years and we recently decided to research whether there was a requirements management tool that more cleanly supported working offline. I actually wrote a bit about our &lt;a href="http://requirements.seilevel.com/blog/2007/04/requirements-in-supplier-selection.html"&gt;vendor selection process&lt;/a&gt; and our &lt;a href="http://requirements.seilevel.com/blog/2007/07/seilevels-requirements-management-tool.html"&gt;search for a requirements tool&lt;/a&gt; awhile back, so if you read it, you’ll know we did this project working from software requirements written at the level necessary to do a vendor selection. Well, here we are again a few years later, with a pretty important feature request that we didn’t recognize the priority of when we did the first analysis. The issue is that we often work on cellular cards, which with Caliber has doesn’t work well – the connection is too slow. So we really need to be able to just work offline and sync. We have a few anecdotes about other vendor tools in the market and how they handle offline support. We even have thoughts of building some offline tool ourselves to sync with Caliber or another backend. In the end, we are trying to follow our vendor selection process. We have done a bit of research on the other tools we know might work – including reading feedback and doing a mini demo ourselves. And at the same time, we have our existing software requirements from the first time we selected a tool that we are reviewing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Our intent is to review any tools we consider against those original requirements. Ideally we really need reprioritize those as our needs may have changed, but for the most part we can select a new tool with MUCH less work than the first time. My estimate is it’ll take a tenth of the time this round through.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The only downsides to this, our old requirements aren’t in a tool (since we didn’t have a tool when we did the first analysis) and I don’t know how easily we can get them in one. But the bigger issue is there is no organization to them at all – they are about 150 features, not organized by any other useful models (and that’s because we didn’t use models as consistently then!). So, while we do have our software requirements to reuse, we probably could do a pass on improving them too. But even at that, it’s still so much less time committed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-8982074463077513025?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/03/actual-case-of-software-requirements-re.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-6229047556033100133</guid><pubDate>Mon, 01 Mar 2010 15:00:00 +0000</pubDate><atom:updated>2010-03-01T09:00:01.616-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>masking</category><category domain='http://www.blogger.com/atom/ns#'>password</category><title>Spread the Word: Stop Password Masking</title><description>One of my pet peeves is password masking. I find nothing more frustrating than having a log-in rejected, and not being able to verify that it is correct because I can’t see the password. It was quite nice to find out I’m not alone. Jakob Nielsen’s article &lt;a href="http://www.useit.com/alertbox/passwords.html"&gt;Stop Password Masking &lt;/a&gt;makes a very good case for stopping the practice. It also addresses the exceptions.&lt;br /&gt;&lt;br /&gt;Thank you Mr. Nielsen!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6229047556033100133?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/03/spread-word-stop-password-masking.html</link><author>noreply@blogger.com (Joyce)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-6823924397620211364</guid><pubDate>Mon, 15 Feb 2010 15:00:00 +0000</pubDate><atom:updated>2010-02-23T16:54:14.692-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>software requirements specification</category><category domain='http://www.blogger.com/atom/ns#'>requirement documentation</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>Software Requirements Specification Template</title><description>We’ve just updated our suggested business requirements document template, though it can be used as a template for any type of requirements specification. You can find it &lt;a href="http://www.seilevel.com/resources/templates.php"&gt;here&lt;/a&gt; on our Resources page. One thing we strongly suggest is that you create and update requirements within a requirements management tool and then output as needed to a document such as this. We use &lt;a href="http://www.borland.com/us/products/caliber/index.html"&gt;Borland Caliber &lt;/a&gt;and have found that it is relatively easy to export from Caliber into this format. This is a great way to deliver your requirements to the team, but if you can avoid it, do not use the Word document as your source as you will likely step on each other eventually and it makes traceability very hard!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6823924397620211364?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/02/requirements-specification-template.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-696425289159607056</guid><pubDate>Fri, 12 Feb 2010 15:00:00 +0000</pubDate><atom:updated>2010-02-23T16:57:23.998-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>global teams</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>elicitation</category><title>6 Basic Techniques for Successful Software Requirements Elicitation with Remote International Customers</title><description>In this global environment, there is rarely a project we work on that doesn’t have some set of customer users in a remote location, inevitably overseas. While we are typically eliciting requirements in English, we are always faced with ESL customers. So here are a few tips I shared with my team this week as we prepped for such a session with users in China.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Communicate their value. &lt;/b&gt;Help them understand how important they are to the success of your project. After all, you couldn't possibly understand their business needs as well as they do – with differences in business practices, culture, and preferences.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Talk slow.&lt;/b&gt; This should be obvious, but it always happens that we talk much too fast, so slow it down. Be very thankful they are willing to talk back to you in English! So whatever you need to do to remind yourself frequently through the discussion to talk slow, do it. Ideas I have include a post-it on the corner of your screen or a co-worker sitting beside you to remind you frequently.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Eyes in the room.&lt;/b&gt; Have someone in the room, if at all possible, to facilitate the discussion. If you cannot hear or clearly understand a comment (this often happens with large rooms of people and a speaker phone), that person can sit beside the phone and repeat it. Have a communication tool such as Instant Messenger open on a computer that isn’t projecting, so that person can communicate with you about body language – to tell you if you are going too fast or if people in the room look lost.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Visual is important. &lt;/b&gt;I like to prepare powerpoint slides with small bits of information on each slide pertaining to what we are talking about. So perhaps a screen shot or mock-up with a few features list on a slide. Diagrams and visual models are also extremely helpful.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Send materials ahead. &lt;/b&gt;As important as visual materials are, they are ten times more useful if you send them ahead. I know I have a better time reading foreign languages than I do hearing them, and this is the case for most. So if you send the materials ahead, they will have a chance to read them and more likely follow along with you during the discussion.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Open questions, not closed.&lt;/b&gt; Depending on the culture, some people are hesitant to ask questions or tell you something negative. So be sure to ask open ended questions. Instead of “are there any questions?” you would ask “what questions do you have?” – because we know they have some. Then call on people by name to ask what questions they have. Ask their leader what questions he/she has. If they say they are ok with you are presenting for requirements, then you really should ask “What are you concerned about?” or “What have we not captured that you need to have?” or “What are you not ok with” instead of “Is this ok?”. &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-696425289159607056?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/02/6-basic-techniques-for-successful.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-1012056610302210689</guid><pubDate>Wed, 10 Feb 2010 16:05:00 +0000</pubDate><atom:updated>2010-02-10T10:07:30.894-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>requirements tools</category><category domain='http://www.blogger.com/atom/ns#'>Borland Caliber RM</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>4 Tips to Not Destroy Your Project if you Must Use Spreadsheets for Software Requirements</title><description>&lt;div&gt;A year ago, I was working on a project where we created a list of features in Excel to help development understand at a high-level what would be in the new system we were building so that they could provide quick and dirty estimates. Out of these estimates, a solution design for the project was chosen and the team headed down the path of a full blown software development lifecycle on these features.  Before too long, we recognized the nightmare that Excel was going to cause us, so we uploaded the features from Excel into Borland’s Caliber requirements management tool. The great thing was we could continue to export to Excel pretty quickly for delivery to our customer, since they didn’t have the tool and they were used to that format.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now also of note, the team decided to use something a bit like SCRUM for this project, so we just treated the features list as a “backlog” of sorts. As sets of features were prioritized for an upcoming sprint, the business analysis team did its elicitation and documented requirements in the form of models from RML™. Throughout this process, we wrote user stories instead of formal use cases, used other visual models as appropriate, and instead of traditional “shall statements”, we wrote “confirmation statements” to describe the functional requirements and business rules. They were used to describe in detail what the system actually needed to do. Oh and by the way, these were all put in Caliber and exported into Word docs as needed for review and development.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let’s jump ahead 6 months. Our team actually wasn’t on this project for about 3 months, and when we came back to it, we found what I would label “a requirements mess”. I have analyzed this a million times to understand what happened when we transitioned off for that time period that it went so wrong to land the team in this situation. And while I have ideas, the point of this post really is that it just was a mess. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately the team stopped using Caliber completely, so all requirements changes and new additions were done in Excel and Word. As is expected, they had lost chunks of work in overwriting newer versions with older versions by accident. There used to be traceability between features and detailed system requirements, but that was completely lost. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What was most alarming and damaging was that the development team believed that the Excel list (which represents just a list of features with one-line sentence descriptions) was the full set of requirements. They weren’t even looking at the user stories, models, and confirmation statements to develop the system! As one might expect, the system developed didn’t really meet the requirements. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And so we headed down a path of narrowing the gap between what was developed and what was required, as well as completing analysis on areas not yet developed. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over the next few months it became completely apparent how much people love to use Excel. I mean LOVE. Sure enough, one year later, the Excel file still lives as the source of what the scope is on this project. And while they are now using the detailed requirements documents to develop, the Excel list is still the master of all information. And did I mention, there are now about 60 columns to it? And 3 versions of the document that have different information in different columns? I had the exciting task of trying to merge the 3 back into 1, but while I was doing that, someone was editing one of those versions so now we still have 2 versions. Alas we are trying to get approval to get a few licenses of Caliber in place so we can move this spreadsheet back into a management tool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But the moral of the story is….well Excel sucks for managing requirements, but if you must absolutely use it:&lt;/div&gt;&lt;div&gt;1.&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Do more than just use Excel – put your requirements details in other formats as well.&lt;/div&gt;&lt;div&gt;2.&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Be cautious about what information belongs it and what does not.&lt;/div&gt;&lt;div&gt;3.&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Be careful what you communicate that it actually represents to the project team. &lt;/div&gt;&lt;div&gt;4.&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;And please use a tool behind that Excel to house your data.&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-1012056610302210689?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://requirements.seilevel.com/blog/2010/02/4-tips-to-not-destroy-your-project-if.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-7569525116440517409</guid><pubDate>Wed, 27 Jan 2010 15:00:00 +0000</pubDate><atom:updated>2010-02-23T16:55:04.830-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>software requirements specification</category><category domain='http://www.blogger.com/atom/ns#'>requirements management</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>green</category><title>Managing the Software Requirements Process for “Green Screen” Replacement Applications – Part 1</title><description>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 /&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 /&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 /&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 /&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 /&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 /&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 /&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 /&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 /&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 /&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 /&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 /&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 /&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 /&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;</description><link>http://requirements.seilevel.com/blog/2010/01/managing-requirements-process-for-green.html</link><author>noreply@blogger.com (Ajay Badri)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-1472235552673223662</guid><pubDate>Mon, 25 Jan 2010 15:00:00 +0000</pubDate><atom:updated>2010-02-23T16:53:30.746-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>blog</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>A Very Nice Software Requirements Blog – Please Pay Them a Visit</title><description>&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;span style="font-size:+0;"&gt; &lt;/span&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;span style="font-size:+0;"&gt; &lt;/span&gt;The articles are well written,&lt;span style="font-size:+0;"&gt; &lt;/span&gt;informative and useful to both practitioners of our craft and consumers of our “dog food” &lt;span style="font-family:Wingdings;"&gt;&lt;span style="font-size:+0;"&gt;:-)&lt;/span&gt;&lt;/span&gt;.&lt;span style="font-size:+0;"&gt; &lt;/span&gt;If you are into macabre humor, check out the post on the resetting “smart bomb”.&lt;span style="font-size:+0;"&gt; &lt;/span&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;span style="font-size:+0;"&gt; &lt;/span&gt;That alone is worth the price of admission, in this case your time and interest.&lt;span style="font-size:+0;"&gt; &lt;/span&gt;Here is wishing them luck and hope they keep churning out great posts.&lt;span style="font-size:+0;"&gt; &lt;/span&gt;At the end of the day, we are all better off with more great content.&lt;span style="font-size:+0;"&gt; &lt;/span&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;</description><link>http://requirements.seilevel.com/blog/2010/01/very-nice-requirements-blog-please-pay.html</link><author>noreply@blogger.com (Ajay Badri)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-3329135030733777849</guid><pubDate>Fri, 15 Jan 2010 01:15:00 +0000</pubDate><atom:updated>2010-01-14T19:29:38.539-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Haiti</category><category domain='http://www.blogger.com/atom/ns#'>SeiHelp</category><category domain='http://www.blogger.com/atom/ns#'>donations</category><title>SeiHelp Haiti</title><description>&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;</description><link>http://requirements.seilevel.com/blog/2010/01/seihelp-haiti.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-9121745430269249861</guid><pubDate>Tue, 12 Jan 2010 15:00:00 +0000</pubDate><atom:updated>2010-02-23T16:56:28.490-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>prioritizing</category><category domain='http://www.blogger.com/atom/ns#'>project management</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>Using a Group  to Prioritize Software Requirements for Complex Multifunctional Projects</title><description>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;</description><link>http://requirements.seilevel.com/blog/2010/01/using-group-to-prioritize-requirements.html</link><author>noreply@blogger.com (Ajay Badri)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-6964433872449721535</guid><pubDate>Fri, 18 Dec 2009 16:00:00 +0000</pubDate><atom:updated>2009-12-18T11:58:01.578-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>holidays</category><category domain='http://www.blogger.com/atom/ns#'>business analysis</category><title>The Seilevel 2009 Software Requirements Holiday Medley</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/12/seilevel-2009-software-requirements.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-5087260348921879796</guid><pubDate>Wed, 18 Nov 2009 05:24:00 +0000</pubDate><atom:updated>2009-11-17T23:29:24.418-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>RE'10</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>First call for papers for RE'10. Can you hear the kangaroos calling us?</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/11/first-call-for-papers-for-re10-can-you.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-2132912155583266443</guid><pubDate>Mon, 02 Nov 2009 15:00:00 +0000</pubDate><atom:updated>2009-11-02T09:00:01.348-06:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>virtual</category><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>Distributed Teams</category><title>Resource with Tips for Virtual Teams</title><description>&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;</description><link>http://requirements.seilevel.com/blog/2009/11/resource-with-tips-for-virtual-teams.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-5261837266638986275</guid><pubDate>Fri, 30 Oct 2009 14:00:00 +0000</pubDate><atom:updated>2009-10-30T09:00:00.986-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agile</category><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>RE'09</category><category domain='http://www.blogger.com/atom/ns#'>agile requirements</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>Delivering Business Value with Agile Approaches to Requirements, continued</title><description>&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;</description><link>http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_30.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-4372498406143774365</guid><pubDate>Wed, 28 Oct 2009 14:00:00 +0000</pubDate><atom:updated>2009-10-28T17:31:08.904-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agile</category><category domain='http://www.blogger.com/atom/ns#'>RE'09</category><category domain='http://www.blogger.com/atom/ns#'>agile requirements</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>Delivering Business Value with Agile Approaches to Requirements</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_28.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-6606940204004693720</guid><pubDate>Mon, 26 Oct 2009 14:00:00 +0000</pubDate><atom:updated>2009-10-26T09:00:06.319-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agile</category><category domain='http://www.blogger.com/atom/ns#'>agile requirements</category><category domain='http://www.blogger.com/atom/ns#'>Borland Caliber RM</category><category domain='http://www.blogger.com/atom/ns#'>IIBA BABOK</category><category domain='http://www.blogger.com/atom/ns#'>requirements management</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>BAWorld</category><category domain='http://www.blogger.com/atom/ns#'>business analysis</category><title>An example of Blueprint in Use on an Agile Project</title><description>&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;</description><link>http://requirements.seilevel.com/blog/2009/10/example-of-blueprint-in-use-on-agile.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-8077302404323321857</guid><pubDate>Fri, 23 Oct 2009 14:00:00 +0000</pubDate><atom:updated>2009-10-23T09:00:06.179-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>requirements</category><category domain='http://www.blogger.com/atom/ns#'>requirements tools</category><category domain='http://www.blogger.com/atom/ns#'>requirements documentation</category><category domain='http://www.blogger.com/atom/ns#'>business analysis</category><title>BluePrint Tool</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/10/blueprint-tool.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-427148973251891815</guid><pubDate>Thu, 22 Oct 2009 14:00:00 +0000</pubDate><atom:updated>2009-10-22T09:00:03.980-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>business analyst</category><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>IIBA BABOK</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>BAWorld</category><category domain='http://www.blogger.com/atom/ns#'>business analysis</category><title>Creating BA Competency</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/10/creating-ba-competency.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-9050504946332556581</guid><pubDate>Wed, 21 Oct 2009 15:00:00 +0000</pubDate><atom:updated>2009-10-21T11:40:18.608-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>qa</category><category domain='http://www.blogger.com/atom/ns#'>users</category><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>testing</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>BAWorld</category><category domain='http://www.blogger.com/atom/ns#'>use cases</category><title>Using Use Cases To Create Test Cases</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/10/using-use-cases-to-create-test-cases.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-6998138643787417914</guid><pubDate>Tue, 20 Oct 2009 00:22:00 +0000</pubDate><atom:updated>2009-10-19T19:46:04.311-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>ROI</category><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>Business Objectives</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><title>BAs Need to Think Quietly</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/10/monday-i-also-heard-barbara-carkenoard.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-17511337.post-7811949374298559609</guid><pubDate>Mon, 19 Oct 2009 22:53:00 +0000</pubDate><atom:updated>2009-10-19T18:01:12.339-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>business analyst</category><category domain='http://www.blogger.com/atom/ns#'>Requirements engineering</category><category domain='http://www.blogger.com/atom/ns#'>IIBA BABOK</category><category domain='http://www.blogger.com/atom/ns#'>Business Objectives</category><category domain='http://www.blogger.com/atom/ns#'>software requirements</category><category domain='http://www.blogger.com/atom/ns#'>BAWorld</category><category domain='http://www.blogger.com/atom/ns#'>business analysis</category><title>Live from BAWorld Boston</title><description>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;</description><link>http://requirements.seilevel.com/blog/2009/10/live-from-baworld-boston.html</link><author>noreply@blogger.com (Joy)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item></channel></rss>