<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-17511337</id><updated>2010-03-12T09:38:49.771-06:00</updated><title type='text'>Requirements Defined - Seilevel's Software Requirements Blog</title><subtitle type='html'>Anything and everything about software requirements.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://requirements.seilevel.com/blog/atom.xml'/><author><name>Joy</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>383</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17511337.post-3324759183239837094</id><published>2010-03-12T09:30:00.001-06:00</published><updated>2010-03-12T09:38:49.872-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data dictionaries'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='data flow diagram'/><title type='text'>3 Basic Tips to Data Migration Requirements for your Software Project</title><content type='html'>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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/3324759183239837094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=3324759183239837094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3324759183239837094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3324759183239837094'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/03/3-basic-tips-to-data-migration.html' title='3 Basic Tips to Data Migration Requirements for your Software Project'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-5906860357755308138</id><published>2010-03-10T09:00:00.001-06:00</published><updated>2010-03-10T09:00:02.810-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Getting Ramped Up</title><content type='html'>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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/5906860357755308138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=5906860357755308138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5906860357755308138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5906860357755308138'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/03/getting-ramped-up.html' title='Getting Ramped Up'/><author><name>Joshua</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08029902375787181889'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-1975731035534177332</id><published>2010-03-08T09:00:00.000-06:00</published><updated>2010-03-08T09:40:01.437-06:00</updated><title type='text'>Use Full Time Requirements Engineers to Manage Change Requests</title><content type='html'>&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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/1975731035534177332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=1975731035534177332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1975731035534177332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1975731035534177332'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/03/use-full-time-requirements-engineers-to.html' title='Use Full Time Requirements Engineers to Manage Change Requests'/><author><name>Ajay Badri</name><uri>http://www.blogger.com/profile/02086684501884803175</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02821962228809339692'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-7727471479410593258</id><published>2010-03-05T09:00:00.003-06:00</published><updated>2010-03-05T13:28:58.259-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='personal development'/><category scheme='http://www.blogger.com/atom/ns#' term='consulting'/><title type='text'>The Other 8 Groups in the Software Requirements Audience</title><content type='html'>&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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/7727471479410593258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=7727471479410593258' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7727471479410593258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7727471479410593258'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/03/other-8-groups-in-software-requirements.html' title='The Other 8 Groups in the Software Requirements Audience'/><author><name>Betsy</name><uri>http://www.blogger.com/profile/12303480643713637457</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03508525817316513523'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-8982074463077513025</id><published>2010-03-03T09:00:00.000-06:00</published><updated>2010-03-03T09:00:04.156-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='requirements tools'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements management'/><category scheme='http://www.blogger.com/atom/ns#' term='cal'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>An Actual Case of Software Requirements Re-use</title><content type='html'>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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/8982074463077513025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=8982074463077513025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/8982074463077513025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/8982074463077513025'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/03/actual-case-of-software-requirements-re.html' title='An Actual Case of Software Requirements Re-use'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6229047556033100133</id><published>2010-03-01T09:00:00.001-06:00</published><updated>2010-03-01T09:00:01.616-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='masking'/><category scheme='http://www.blogger.com/atom/ns#' term='password'/><title type='text'>Spread the Word: Stop Password Masking</title><content type='html'>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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6229047556033100133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6229047556033100133' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6229047556033100133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6229047556033100133'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/03/spread-word-stop-password-masking.html' title='Spread the Word: Stop Password Masking'/><author><name>Joyce</name><uri>http://www.blogger.com/profile/00255716872425147090</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15966535336639719833'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6823924397620211364</id><published>2010-02-15T09:00:00.002-06:00</published><updated>2010-02-23T16:54:14.692-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software requirements specification'/><category scheme='http://www.blogger.com/atom/ns#' term='requirement documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Software Requirements Specification Template</title><content type='html'>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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6823924397620211364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6823924397620211364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6823924397620211364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6823924397620211364'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/02/requirements-specification-template.html' title='Software Requirements Specification Template'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-696425289159607056</id><published>2010-02-12T09:00:00.001-06:00</published><updated>2010-02-23T16:57:23.998-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='global teams'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='elicitation'/><title type='text'>6 Basic Techniques for Successful Software Requirements Elicitation with Remote International Customers</title><content type='html'>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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/696425289159607056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=696425289159607056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/696425289159607056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/696425289159607056'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/02/6-basic-techniques-for-successful.html' title='6 Basic Techniques for Successful Software Requirements Elicitation with Remote International Customers'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-1012056610302210689</id><published>2010-02-10T10:05:00.003-06:00</published><updated>2010-02-10T10:07:30.894-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='requirements tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Borland Caliber RM'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>4 Tips to Not Destroy Your Project if you Must Use Spreadsheets for Software Requirements</title><content type='html'>&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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/1012056610302210689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=1012056610302210689' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1012056610302210689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1012056610302210689'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/02/4-tips-to-not-destroy-your-project-if.html' title='4 Tips to Not Destroy Your Project if you Must Use Spreadsheets for Software Requirements'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-7569525116440517409</id><published>2010-01-27T09:00:00.001-06:00</published><updated>2010-02-23T16:55:04.830-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software requirements specification'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements management'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='green'/><title type='text'>Managing the Software Requirements Process for “Green Screen” Replacement Applications – Part 1</title><content type='html'>I have been on teams that created requirements for replacing old “Green Screen” mainframe applications and have also observed the work of my colleagues on similar projects. The observations here are based on our experiences with these efforts and offer suggestions to anyone who is about to embark on a similar project.&lt;br /&gt;&lt;br /&gt;This post is split into two parts. Part 1 identifies issues that make these projects challenging and different from other requirements projects. Part 2 offers specific suggestions on how to tackle these projects and describes practices that will result in a greater likelihood of success.&lt;br /&gt;&lt;br /&gt;What makes Green Screen replacement projects so challenging?&lt;br /&gt;&lt;br /&gt;It is not a lack of proper tools or models that make these requirements difficult to capture and define. The complexities are rooted in the following:&lt;br /&gt;a. Existing organizational processes&lt;br /&gt;b. Resistance to change due to fear and uncertainty&lt;br /&gt;c. Disruption to current operations&lt;br /&gt;d. Potential job losses&lt;br /&gt;e. Lack of clear understanding of the impact on indirect users of the existing system&lt;br /&gt;f. Poor vendor communications to the rank and file users of the new system&lt;br /&gt;g. Lack of proper management communications on the value of the proposed change&lt;br /&gt;The combination of these factors makes the act of eliciting good requirements difficult and extremely challenging. Each of these areas is discussed in greater detail below.&lt;br /&gt;&lt;br /&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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/7569525116440517409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=7569525116440517409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7569525116440517409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7569525116440517409'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/managing-requirements-process-for-green.html' title='Managing the Software Requirements Process for “Green Screen” Replacement Applications – Part 1'/><author><name>Ajay Badri</name><uri>http://www.blogger.com/profile/02086684501884803175</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02821962228809339692'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-1472235552673223662</id><published>2010-01-25T09:00:00.001-06:00</published><updated>2010-02-23T16:53:30.746-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>A Very Nice Software Requirements Blog – Please Pay Them a Visit</title><content type='html'>&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;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/1472235552673223662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=1472235552673223662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1472235552673223662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/1472235552673223662'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/very-nice-requirements-blog-please-pay.html' title='A Very Nice Software Requirements Blog – Please Pay Them a Visit'/><author><name>Ajay Badri</name><uri>http://www.blogger.com/profile/02086684501884803175</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02821962228809339692'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-3329135030733777849</id><published>2010-01-14T19:15:00.004-06:00</published><updated>2010-01-14T19:29:38.539-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haiti'/><category scheme='http://www.blogger.com/atom/ns#' term='SeiHelp'/><category scheme='http://www.blogger.com/atom/ns#' term='donations'/><title type='text'>SeiHelp Haiti</title><content type='html'>&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-family:'lucida grande', tahoma, verdana, arial, sans-serif;font-size:11px;"&gt;&lt;h3 class="UIIntentionalStory_Message" ft="{&amp;quot;type&amp;quot;:&amp;quot;msg&amp;quot;}" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;We are hoping to reach out to Haiti with a little SeiHelp in the form of much needed clothing! We are collecting summer clothes and Rob will deliver them to a relative in Waco. She has arranged to deliver them to the Bahamas where she knows a lot of Haitians in her village who will in turn help get them to Haiti. We are collecting at our office through end of day Monday or can arrange another meet-up location!&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Email rob.sparks or joy.beatty if you want to donate!&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-3329135030733777849?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/3329135030733777849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=3329135030733777849' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3329135030733777849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/3329135030733777849'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/seihelp-haiti.html' title='SeiHelp Haiti'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-9121745430269249861</id><published>2010-01-12T09:00:00.002-06:00</published><updated>2010-02-23T16:56:28.490-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prioritizing'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Using a Group  to Prioritize Software Requirements for Complex Multifunctional Projects</title><content type='html'>Prioritizing and identifying requirements that get developed in a release cycle can be a tricky proposition. It is one of the most important things we do as Product Managers. It is also one of the most challenging.&lt;br /&gt;&lt;br /&gt;Most organizations use some means of categorizing requirements. Two common examples I have seen: Must Have, Important, Nice to Have. High, Medium, Low. There are far better ways of prioritizing requirements but the purpose of this post is to deal with another level of complexity altogether. How do we decide which functional unit or Department's features gets built when dealing with a large scale development project that spans multiple groups / functional areas within a company?&lt;br /&gt;&lt;br /&gt;I worked on a very large and complex implementation of a factory system software where we had to confront and overcome this very problem. The software that was being developed would essentially control all the manufacturing activities of the factory. As such, the application had functionality for all the different aspects of manufacturing - product movement between different processing machines, product storage in the factory, maintenance of equipment, sampling of output, manufacturing processes, manufacturing instructions for each step in the process and so on.&lt;br /&gt;&lt;br /&gt;There were well established Departments that handled each of these different aspects of the manufacturing process. For example, there were Departments for Maintenance, Quality Control, Materials, Inventory, Production and so on. Each Department had their own specific set of requirements - functionality they needed out of the application to enable them to perform their specific and specialized tasks.&lt;br /&gt;&lt;br /&gt;When deciding which features to develop for a given release, we encountered the following problems:&lt;br /&gt;&lt;br /&gt;1. A prioritized list of features (across all Departments) was not very useful since we ended up with too many critical features that made prioritization for a release extremely difficult and in many cases meaningless.&lt;br /&gt;2. Critical dependencies that existed between Departments were missed. For example, developing some sampling functionality was quite useless unless certain manufacturing instructions and material movement capabilities were already in place.&lt;br /&gt;3. The sum of individual parts did not quite add up to a desired total of functionality. This was largely because critical dependencies between Departments were missed.&lt;br /&gt;4. Individual Departments graded the success or failure of development efforts based on the "quantity" of features they got in a release and not how the overall manufacturing process as a whole fared.&lt;br /&gt;5. The political wrangling, infighting and shenanigans got totally out of control as each Department tried to get more features into each release, regardless of whether it made sense to the overall operations or not.&lt;br /&gt;6. The overall development process was perceived by all the users as political, arbitrary and lacking in transparency.&lt;br /&gt;&lt;br /&gt;We solved the problem by using a Group methodology to decide the features that got included in a release. The way the teams were constituted and the manner in which they functioned are detailed below.&lt;br /&gt;&lt;br /&gt;The Team&lt;br /&gt;&lt;br /&gt;1. Every Department for whom functionality was being developed was included in the Core Team.&lt;br /&gt;2. Each Department was requested to provide three members to participate in the Core Team - One Manager and two additional technical members who represented the Department. These members were authorized to vote for and speak on behalf of their Departments. These individuals were collectively referred to as the Core Team.&lt;br /&gt;3. Attendance at the Core Team meetings was not restricted to the Core Team members. Any number of attendees from each Department were permitted to attend. The only restrictions were as follows:&lt;br /&gt;A. Only the Core Team members were allowed to speak on behalf of their respective Departments.&lt;br /&gt;B. Any amount of consultation was permitted within the Department representatives and attendees so long as they did not disrupt proceedings.&lt;br /&gt;4. Senior Managers, Vice Presidents and other senior executives were explicitly excluded from the Core Team. The output of the Core Team was later presented to them for final review and approval. They were welcome to attend any of the Core Team meetings but could not be one of the three approved participants of the meetings who were authorized to represent their Department.&lt;br /&gt;&lt;br /&gt;The Ground Rules&lt;br /&gt;&lt;br /&gt;1. Each team had one vote in determining priority of requirements.&lt;br /&gt;2. Each team's vote had the same weighting as every other team.&lt;br /&gt;3. Each team was required to vote on the prioritization of all requirements including those that belonged to their own team.&lt;br /&gt;4. The decisions of the Core Team were binding on all Departments. The sole caveat was if the Core Team proposal was rejected by Senior Management and a change in priorities ordered. (Incidentally, this never happened).&lt;br /&gt;&lt;br /&gt;How It Worked&lt;br /&gt;&lt;br /&gt;With the Core Team in place, we prioritized requirements for a release in the following manner.&lt;br /&gt;&lt;br /&gt;We first prioritized Departments for a release and then we prioritized specific requirements that would be implemented. This was a key change from the way we functioned in the past. In prior releases, in theory, all Departments were given equal weighting and the requirements prioritized for development. In practice, the number of features each Department got determined what priority they got in a release. We decided to take the politics and guess work out and made it the first decision the Core Team made for each release.&lt;br /&gt;&lt;br /&gt;The prioritizing of Departments was not arbitrary. The first pass at prioritizing Departments for a release was done by the System Architect. He took inputs from Senior Management to ensure that there was alignment with the Business Goals and Objectives in creating the list. For example, if Management has defined "Reduction of Scrapped Materials" as a key initiative going forward, Sampling would move to the top of the featured Departments for the next release.&lt;br /&gt;&lt;br /&gt;The Core Team was then provided the list, the rationale behind the list and given a chance to vote on the list. Each Department was given 15 minutes to make a case for why they should stay where they were slotted, move up or move down. (Yes believe it or not, once the process was locked in, Departments actually were willing to move down and not shy of saying so!). After the presentations were done, the Team voted for each position on the list and decided which Department would get slotted in where. There were a total of 8 Departments and if you made it to the top 5, you were guaranteed on getting a meaningful number of features in a release. The bottom 3 invariably got features but their features were lighter and typically done to ensure that no dependencies with other Departments were missed.&lt;br /&gt;&lt;br /&gt;Once we decided on the Departmental priorities, each Department provided their own prioritized list of features. We usually restricted these to about 5 to 7 per Department for the first pass and iterated on till we felt we had no more development cycles left in the release. In presenting their list, each Department had to provide a justification as to why the feature being requested was important and how it aligned with management priorities. Votes were taken immediately and superfluous features eliminated quite efficiently. As this process was executed, we typically emerged with a list of candidate features for a release within 2 or 3 meetings. In all these meetings, a few representatives from Development were always at hand to provide guidance to the team in terms of effort and degree of difficulty to implement certain features so that the final list of required features was realistic.&lt;br /&gt;&lt;br /&gt;This prioritized list was provided to Development for a final sanity check in terms of time, manpower and other resources for feasibility of executing within a release cycle. Based on their feedback, some additional fine tuning was done in terms of adding / removing features and the final list was generated. This final list was voted on by the Core Team and submitted to management for final approval.&lt;br /&gt;&lt;br /&gt;Once we instituted this method, we saw the following benefits.&lt;br /&gt;&lt;br /&gt;1. Features were implemented that made sense to the whole and not just individual parts of the overall application. These features were in alignment with management objectives and priorities.&lt;br /&gt;2. A significant reduction in the number of missed dependencies across Departments.&lt;br /&gt;3. A dramatic improvement in the satisfaction with the overall process by which features were prioritized and implemented for a release.&lt;br /&gt;4. Development deliveries, quality and schedules improved. The features were frozen and did not change unless there was some unexpected business or technical development that dictated a change in features and schedules. These were for the most part minimal and when they did occur were always accompanied by an adjustment to the schedules.&lt;br /&gt;5. Better quality product since every Department was better able to plan the time and availability of their key resources to provide the necessary support to the requirements and development process.&lt;br /&gt;6. Higher quality requirements since there was much sharper focus on what was needed and going to be delivered.&lt;br /&gt;&lt;br /&gt;The above methodology can be replicated easily and successfully in complex development environments where key stakeholders span different functional areas in the company.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-9121745430269249861?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/9121745430269249861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=9121745430269249861' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9121745430269249861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9121745430269249861'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2010/01/using-group-to-prioritize-requirements.html' title='Using a Group  to Prioritize Software Requirements for Complex Multifunctional Projects'/><author><name>Ajay Badri</name><uri>http://www.blogger.com/profile/02086684501884803175</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02821962228809339692'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6964433872449721535</id><published>2009-12-18T10:00:00.001-06:00</published><updated>2009-12-18T11:58:01.578-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='holidays'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>The Seilevel 2009 Software Requirements Holiday Medley</title><content type='html'>It's that time of year we all look so forward to, when we get to wish our colleagues around the requirements world a bit of SeiCheer with our holiday medley of songs. And worry not, if the 2009 collection isn't enough for you, you can go back in history and read our &lt;a href="http://requirements.seilevel.com/blog/2008/12/seilevel-2008-holiday-software.html"&gt;2008 songs&lt;/a&gt;, &lt;a href="http://requirements.seilevel.com/blog/2007/12/seilevel-2007-holiday-medley.html"&gt;2007 songs&lt;/a&gt;, and our original &lt;a href="http://requirements.seilevel.com/blog/2006/12/christmas-medley.html"&gt;2006 songs&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Without further ado, sing along with us....&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;We wish you a Merry Release&lt;/strong&gt;&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release and we hope it is near.&lt;br /&gt;Requirements we bring to you and the team&lt;br /&gt;Requirements for Release and we hope it is near.&lt;br /&gt;&lt;br /&gt;Oh, bring us a new prototype&lt;br /&gt;Oh, bring us a new prototype&lt;br /&gt;Oh, bring us a new prototype and we'll love it, no fear&lt;br /&gt;&lt;br /&gt;We won't go until we see it&lt;br /&gt;We won't go until we see it&lt;br /&gt;We won't go until we see it, so send the link here&lt;br /&gt;&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release&lt;br /&gt;We wish you a Merry Release and we hope it is near!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Oh Project SME &lt;/strong&gt;&lt;br /&gt;Oh Project SME! O Project SME!&lt;br /&gt;Thy needs are so unchanging&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Thy needs are so unchanging&lt;br /&gt;Not only at start are they clear,&lt;br /&gt;But also when 'tis launch is near.&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Thy needs are so unchanging!&lt;br /&gt;&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Much time thou can'st give me&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Much time thou can'st give me&lt;br /&gt;How often has the Project SME&lt;br /&gt;Afforded us the scope for free!&lt;br /&gt;O Project SME! O Project SME!&lt;br /&gt;Much time thou can'st give me.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rockin' Around the Requirements&lt;/strong&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;at the discovery workshop&lt;br /&gt;Feature lists hung where you can see&lt;br /&gt;Ev'ry executive tries to stop&lt;br /&gt;&lt;br /&gt;You will get a validated feeling&lt;br /&gt;When you hear voices saying&lt;br /&gt;"Let's be jolly; Deck the walls with flows, oh golly!"&lt;br /&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;Have a happy launch day&lt;br /&gt;Everyone's drawing merrily&lt;br /&gt;In a new best practice way&lt;br /&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;Let the user stories sing&lt;br /&gt;Later we'll write some data flows&lt;br /&gt;and we'll do some modeling&lt;br /&gt;&lt;br /&gt;You will get a validated feeling&lt;br /&gt;When you hear voices saying&lt;br /&gt;"Let's be jolly; Deck the walls with flows, oh golly"&lt;br /&gt;&lt;br /&gt;Rocking around the Requirements&lt;br /&gt;Have a happy launch day&lt;br /&gt;Everyone's drawing merrily&lt;br /&gt;In a new best practiced way&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rudolph the Brown-Nosing BA &lt;/strong&gt;&lt;br /&gt;Rudolph the brown-nosing BA&lt;br /&gt;had a huge need to know.&lt;br /&gt;And those who ever met him,&lt;br /&gt;hoped they'd just let him go&lt;br /&gt;&lt;br /&gt;All of the other BAs&lt;br /&gt;used to scowl and call him names.&lt;br /&gt;They never let poor Rudolph&lt;br /&gt;join in any BA games.&lt;br /&gt;&lt;br /&gt;Then one foggy release eve&lt;br /&gt;VP came to say:&lt;br /&gt;"Rudolph you are so very bright,&lt;br /&gt;won't you guide my launch tonight?"&lt;br /&gt;&lt;br /&gt;Then all the BAs loved him&lt;br /&gt;as they shouted out with glee,&lt;br /&gt;Rudolph the brown-nosing BA,&lt;br /&gt;make our sponsors so happy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6964433872449721535?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6964433872449721535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6964433872449721535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6964433872449721535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6964433872449721535'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/12/seilevel-2009-software-requirements.html' title='The Seilevel 2009 Software Requirements Holiday Medley'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-5087260348921879796</id><published>2009-11-17T23:24:00.003-06:00</published><updated>2009-11-17T23:29:24.418-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;10'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>First call for papers for RE'10. Can you hear the kangaroos calling us?</title><content type='html'>Pack your bags folks, we are heading to Australia in 2010! I'm excited to post the first call for papers (CFP) for IEEE's RE'10, held in Sydney Australia next September. I'll copy the key components of the CFP here, but visit the link for more details. I'm excited about this because we'll be working closely with conference organizers to ensure a very strong industry track - with many enhancements/improvements over past years conferences to help attract a great set of practitioners from the Product Management and Business Analyst communities as well!&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoPlainText" style="text-align: center;"&gt;&lt;b&gt;CALL FOR PAPERS AND PROPOSALS&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;18th IEEE International&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;Requirements Engineering Conference&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;REQUIREMENTS ENGINEERING IN A MULTI- FACETED WORLD&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;September 27 - October 1, 2010&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;University of Technology, Sydney&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;&lt;a href="http://www.re10.org"&gt;http://www.re10.org&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align: center;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;b&gt;Important Dates&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;o:p&gt;Technical and industrial paper abstracts due: February 12th, 2010 Full papers due: February 19th, 2010 Tutorials &amp;amp; Workshop proposals: March 15th, 2010.&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Some Context&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;Software systems in today’s multi-faceted world are as diverse as the people who use them. While some are built according to rigorous government regulations, others must be delivered quickly to meet time-to-market deadlines or must be responsive to changing business needs. From a requirements engineering perspective, there is certainly no ‘one-size-fits-all’ solution.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;RE’10 will&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;explore techniques and methods for eliciting, analyzing, specifying, and managing requirements across diverse development teams where stakeholders often come from entirely different cultural, linguistic, geographical, and educational backgrounds; and across a broad spectrum of software projects that encompass both formal and informal development techniques and represent both small and very large scale projects.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Do you need help?&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;If you have never previously published at a major international conference, then you may be eligible for our mentoring program.&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Please check the RE’10 website for further details.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-5087260348921879796?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/5087260348921879796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=5087260348921879796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5087260348921879796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5087260348921879796'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/11/first-call-for-papers-for-re10-can-you.html' title='First call for papers for RE&apos;10. Can you hear the kangaroos calling us?'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-2132912155583266443</id><published>2009-11-02T09:00:00.000-06:00</published><updated>2009-11-02T09:00:01.348-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtual'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='Distributed Teams'/><title type='text'>Resource with Tips for Virtual Teams</title><content type='html'>&lt;div&gt;I am a huge fan of Thiagi's work on games to use in training. He has made many games publicly available for use in your own training environments. In the past I've done some writing (&lt;a href="http://requirements.seilevel.com/blog/2008/09/live-from-re08-learning-days-for-us.html"&gt;here&lt;/a&gt;) about how we've adapted his games to Requirements Engineering training courses. But today I was browsing his site and found something I thought might be useful to others. He has posted a &lt;a href="http://www.thiagi.com/ICPT-Follow-Up/listOfTips.html"&gt;list of tips for virtual teams&lt;/a&gt;. There are just over 100 simple tips, that if you just skim the list I'm sure you'll find a handful of them can be applied immediately in your organization. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Does anyone have comments on ones you will start to use or additional tips to add?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-2132912155583266443?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/2132912155583266443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=2132912155583266443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2132912155583266443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/2132912155583266443'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/11/resource-with-tips-for-virtual-teams.html' title='Resource with Tips for Virtual Teams'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-5261837266638986275</id><published>2009-10-30T09:00:00.001-05:00</published><updated>2009-10-30T09:00:00.986-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='agile requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Delivering Business Value with Agile Approaches to Requirements, continued</title><content type='html'>&lt;div&gt;This post is a continuation of a previous post found &lt;a href="http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_28.html"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Changes Dave believes are coming with respect to agile-run projects and my own commentary on these:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;ul&gt; &lt;li&gt;Requirements engineers make decisions, they are not just documenters. Expect to see that product owners are the BAs. They will less often be called systems analysts, and more often called product owners. A few years ago, we shifted from calling our requirements team members “Business Analysts” and started calling them “Product Managers” because that’s really what they have to do – own the product, even if it’s just an internal IT system. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;BAs/Product Owners will be empowered to make decisions and not just sit around waiting on sign-off. They must be experts in the business. They must work with development, not just document for them. Once they do this, they can start to make very smart decisions about what should or should not make it in the product.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Agile is not a fad, even NASA is doing it. That said, we will see variations on agile as it grows and evolves.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The development team can add value about requirements, so collaborate with them. They don’t all just want to gold-plate scope or push back on what’s in or out – they love to build products, so use that to your advantage.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The business is not always right, so you still need to ask questions. BAs/Product Owners must push back when something doesn’t make sense.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Agile is actually seen to increase the value of requirements – just make them more solution focused, and not just about doing lots of documentation.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;And finally, Dave made my favorite quote from RE’09: The difference between UML 1 and UML 3 is that we moved the stick hands from being straight out to angled downwards. He can make jokes like this since he actually worked on it!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-5261837266638986275?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/5261837266638986275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=5261837266638986275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5261837266638986275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/5261837266638986275'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_30.html' title='Delivering Business Value with Agile Approaches to Requirements, continued'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-4372498406143774365</id><published>2009-10-28T09:00:00.002-05:00</published><updated>2009-10-28T17:31:08.904-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='RE&apos;09'/><category scheme='http://www.blogger.com/atom/ns#' term='agile requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Delivering Business Value with Agile Approaches to Requirements</title><content type='html'>I attended a keynote at RE’09 in Atlanta that I wanted to go back and post a summary of and my thoughts on. And just to be completely honest, this is a rarity. For whatever reason, I really tend not to get much value out of keynote talks – either they are too technical, the speaker isn’t great at well, speaking, or they are so out there I cannot engage in it. Today was different though, it was captivating for me. This one was given by &lt;a href="http://www.forrester.com/rb/analyst/dave_west"&gt;Dave West of Forrester Research&lt;/a&gt;. The talk was titled “Developing Business Value with Agile Approaches to Requirements”.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be fair, he had my attention at the first slide – it was a picture of a dog doing agility. When I talk about agile, I use such a picture too since I personally do agility with my dog! Anyway, the content of the talk proved to be interesting. Some will say it wasn’t anything new. Others will argue with what he said. But for me, his ideas were very tightly aligned with our experiences and ideas about agile and requirements so I like that it built on what I already knew and gave me new ideas to think about. The great thing is he has a much larger pool of resources to survey and confirm his ideas. Here are a few of the points of interest.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;He talked to what is being adopted with respect to agile and among those things: Agile itself is being adopted. Scrum practices are as well. He also sees engineering practices such as early testing, integrated builds, and re-factoring. But most of note, he is most commonly seeing a hybrid of approaches– more of an agile than an Agile approach. I think this is relevant as I hear company after company say “agile didn’t work for us”. In reality for many companies it probably doesn’t in its purest of form. Or perhaps it requires trying it more than once, learning from mistakes (do we really think Waterfall worked the first time either?!?!).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some really positive things he believes we are seeing now include frequent delivery, increased business involvement with more collaboration, and changes in team organization towards smaller teams and more of a team focus in general. His thought on when agile is best used: Complex projects where there are problems to be solved and the solution is unknown.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dave spoke to the common friction points between traditional requirements approaches and agile:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Delivers requirements vs collaboration on the product&lt;/li&gt;&lt;li&gt;Where in the process you engage vs. iterative&lt;/li&gt;&lt;li&gt;Requirements that are out of date, long/hard to read, solution focused, take way too long vs. collaborative and timely requirements&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Some of the issues that you must be careful about with agile: Often the customer has no time because they are doing their day-job (the one you are trying to help in some way with software!). There are often many customers to involve in the requirements efforts, not just one or two to quickly jot down stories with. The customers are often distributed so you have to bake in time to work with all of them alone and together. Agile is reliant on good communication but stereotypically, developers don’t communicate well. We cannot ignore analysis - processes require analysis and solutions require thought - so take time to do these.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will continue this post in a day or so with thoughts on changes that Dave thinks we are starting to see, as well as my personal thoughts on his thoughts!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-4372498406143774365?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/4372498406143774365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=4372498406143774365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/4372498406143774365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/4372498406143774365'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/delivering-business-value-with-agile_28.html' title='Delivering Business Value with Agile Approaches to Requirements'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6606940204004693720</id><published>2009-10-26T09:00:00.000-05:00</published><updated>2009-10-26T09:00:06.319-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='agile requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='Borland Caliber RM'/><category scheme='http://www.blogger.com/atom/ns#' term='IIBA BABOK'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements management'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>An example of Blueprint in Use on an Agile Project</title><content type='html'>&lt;div&gt;I attended a talk by folks from&lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=1188&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=1208&amp;amp;speaker_id2=1151&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt; BluePrint and Lexis Nexis&lt;/a&gt; at BAWorld on Tuesday at BAWorld: Boston called "Requirements Definition for Agile Projects". The first bit of the talk was just an intro to agile and why it is useful on the projects. The part that I found most interesting was from Kathleen McGoey who owned business analysis on lawyers.com - she effectively gave a verbal case study of their team using agile and Blueprint to deploy this site. This was refreshing because she was brutally honest about the state of their organization 2 years ago, some of her dislikes about other tools, and their experiences with agile not going well. However, she also then talked about how their culture is changing now and what is working really well. This talk was great because it was effectively a great sales-pitch for Blueprint, but it was given by an actual user....and you could tell she was being honest about it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Blueprint is meant to be a BA tool. They are closely partnered with HP and it integrates to Quality Center for QA use as well. From a quick glance of things she mentioned or showed, it looks like it allows you to manage the list of features in a backlog, low-fidelity wireframes, diagrams that look a lot like visio, export to Word, and import from Excel. We are still using Borland's Caliber happily, but I'm obviously always looking at all the tools on the market to see what people are really liking and/or disliking, what new features are coming about, what's easy to use, etc. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A bit about the lawyers.com project - they were executing 3-12 week sprints and the requirements definition is about 2 weeks ahead of sprint cycles. She made a very wise comment - templates and processes are good to an end, but only if the BA knows what they are doing already. She spoke of junior analysts who are given templates and when you look at their work products you think “Oh no! what are you doing!”. I think we’ve all probably seen that. You can use the templates and processes to train them, but they aren’t enough, but they aren’t enough. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another neat thing she briefly mentioned was the idea of doing something like pair-programming, but where the pair consists of a BA and a user experience expert – so together they are designing the wireframes. I haven’t tried it, typically our individuals are doing both activities. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, it was good to hear the “how it works” story from Lexis Nexis. And I haven't used Blueprint myself, but I am certainly interested to hear others' experiences with the tool, so please comment if you have used it. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6606940204004693720?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6606940204004693720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6606940204004693720' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6606940204004693720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6606940204004693720'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/example-of-blueprint-in-use-on-agile.html' title='An example of Blueprint in Use on an Agile Project'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-8077302404323321857</id><published>2009-10-23T09:00:00.000-05:00</published><updated>2009-10-23T09:00:06.179-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements tools'/><category scheme='http://www.blogger.com/atom/ns#' term='requirements documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>BluePrint Tool</title><content type='html'>I attended a talk by folks from BluePrint and LexisNexis at BAWorld on Tuesday. The first bit of the talk was just an intro to agile and why it is useful on the projects. The part that I found most interesting was from someone who owned business analysis on lawyers.com - she effectively gave a verbal case study of their team using agile and BluePrint to deploy this site. This was refreshing because she was brutally honest about the state of their organization 2 years ago, some of her dislikes about other tools, and their experiences with agile not going well. However, she also then talked about how their culture is changing now and what is working really well. This talk was great because it was effectively a great sales-pitch for BluePrint, but it was given by an actual user....and you could tell she was being honest about it. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BluePrint is meant to be a BA tool. They are closely partnered with HP and it integrates to Quality Center for QA use as well. From a quick glance of things she mentioned or showed, it looks like it allows you to manage the list of features in a backlog, low-fidelity wireframes, diagrams that look a lot like visio, export to Word, and import from Excel. We are still using Borland's Caliber happily, but I'm obviously always looking at all the tools on the market to see what people are really liking and/or disliking, what new features are coming about, what's easy to use, etc. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A bit about the lawyers.com project - they were executing 3-12 week sprints and the requirements definition is about 2 weeks ahead of sprint cycles. She made a very wise comment - templates and processes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I haven't used BluePrint myself, but I am certainly interested to hear others' experiences with the tool, so please comment if you have used it. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-8077302404323321857?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/8077302404323321857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=8077302404323321857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/8077302404323321857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/8077302404323321857'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/blueprint-tool.html' title='BluePrint Tool'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-427148973251891815</id><published>2009-10-22T09:00:00.000-05:00</published><updated>2009-10-22T09:00:03.980-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business analyst'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='IIBA BABOK'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>Creating BA Competency</title><content type='html'>As part of our Live from BAWorld: Boston series, I just heard a talk from Karen McKay at Doreen Evans Associates (DEA). She discussed building a BA competency in your organization. Her talk was focused on the high-level need for such a model and what the components of it are. I think a next level of discussion that would be interesting is tactics you could use to create one yourself - which specific tools and tactics work. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At DEA, they use a model that is very similar to the CMM, with five levels of competency: initial, repeatable, defined, managed, optimized and have helped build this at a handful of organizations. We do something similar to build BA maturity in organizations, but I haven't actually seen it laid out next to the CMM model quite like this. At the requirements process level, they use requirements models which I applaud - context diagrams, org charts, use cases, process flows, DFDs, etc. This talk further validated what I'm seeing in industry - alas, models are really the current state now. So if you write your requirements in plain old text, I fear that is really seen as out-of-date "technology" and you need to look at visualization techniques.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Something interesting that she did with her slides was to describe parts of their competency models using requirements models. For example, there is a swimlane diagram to show the BA role - clearly showing how BA activities relate to IT and PM functions. I haven't done much of this recently and think it's a great idea that I will use. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, this is a topic that I'm definitely interested in as we try to help customers build their competency around requirements as well. It seems like organizations are really recognizing the value of BAs now!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-427148973251891815?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/427148973251891815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=427148973251891815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/427148973251891815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/427148973251891815'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/creating-ba-competency.html' title='Creating BA Competency'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-9050504946332556581</id><published>2009-10-21T10:00:00.001-05:00</published><updated>2009-10-21T11:40:18.608-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qa'/><category scheme='http://www.blogger.com/atom/ns#' term='users'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='use cases'/><title type='text'>Using Use Cases To Create Test Cases</title><content type='html'>As part of my "Live from BAWorld: Boston" series, I attended a talk Monday by &lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=995&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=999&amp;amp;speaker_id2=&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt;Matthew Leach of Doreen Evan Associates&lt;/a&gt; called "Leveraging Multi-Level Use Cases for Testing and Other Ways to Obtain Greater ROI on your Business Analysis Investment". &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;His talk went into great depth about how you could use use cases on your project in multiple ways, looking at different levels of detail in use cases. He quoted a study from VokeStream that indicated 76% of people surveyed manually build test cases still. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is the one point I also wanted to emphasize the importance of: re-use your use cases to generate test cases, particularly user acceptance test scripts (UAT scripts). At some level this seems obvious to me, but I don't think it is all that obvious after all based on the above study, Matthew's experiences, and my personal ones as well! On a recent project I worked on, the business came to us to talk about how awful the integration and unit test cases were - that they just would not work for UAT. My immediate thought was "well of course not, those aren't meant for UAT". Apparently QA had told them to write their UAT scripts from these test cases. That's almost as challenging as writing them from code! So we walked them through how we could take the use cases we had written (which the existing test cases were generated from) and easily translate those into UAT scripts. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you think of your use case having a happy path and alternative paths, you would want to blow out each of those paths into at least 1 test case each, by adding concrete data to the use case. So for example, if there is a step for the user to input "shipping information", then in the UAT script, you would want to supply actual shipping information including a specific name and address that would be in the test data set. It's important during UAT to also test the alternate and exception paths - to ensure the not-so-happy path and errors are handled to the business' satisfaction. That said, it's also unrealistic to think your users have time to test all possible paths. To mitigate this, I have two suggestions.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Pick the most important UAT scripts to test. You have to decide what "important" is, but it would be wise to look at the use cases that add the most business value and/or are most frequently used.&lt;/li&gt;&lt;li&gt;Use your BAs during UAT - particularly for the less important test cases that the users can't it. &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-9050504946332556581?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/9050504946332556581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=9050504946332556581' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9050504946332556581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/9050504946332556581'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/using-use-cases-to-create-test-cases.html' title='Using Use Cases To Create Test Cases'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6998138643787417914</id><published>2009-10-19T19:22:00.004-05:00</published><updated>2009-10-19T19:46:04.311-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ROI'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Objectives'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>BAs Need to Think Quietly</title><content type='html'>Also at BAWorld: Boston, Monday I heard &lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=1142&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=1117&amp;amp;speaker_id2=&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt;Barbara Carkenoard talk about "ROI? Measuring the Real Value of Business Analysis"&lt;/a&gt; and her learning objectives were:&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Learn to talk about the specific value of a strong business analysis discipline&lt;/li&gt;&lt;li&gt;Consider business analysis metrics for use in your organization&lt;/li&gt;&lt;li&gt;Understand why a financial ROI is not normally calculated for business analysis&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Some of the key points of interest for me were these, with my own commentary:&lt;/div&gt;&lt;div&gt;Business analysts should be involved in creating the business case. Most projects don't bring them in until the project is already decided upon. But business analysts inherently are good at analysis and can really think through whether a project even makes sense. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Business analysts need to figure out how to block out big chunks of time to think quietly. Analysis requires thinking...so let them think!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An interesting discussion took place around cultural differences between countries and how it relates to the use of process or lack of. This came out of a question about why organizations try to short-cut business analysis on the projects. And Barbara proposed that the US culture is one of "hurry up, slam it in, we'll fix it later" whereas a lot of other countries (she named Canada and the UK) are more likely to follow a process to get it done right. I laughed because just last week I had an executive say "It's okay if we don't get all the requirements defined, we'll just log everything not yet written down as defects and fix them in QA"...and he was very serious about it. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6998138643787417914?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6998138643787417914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6998138643787417914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6998138643787417914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6998138643787417914'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/monday-i-also-heard-barbara-carkenoard.html' title='BAs Need to Think Quietly'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-7811949374298559609</id><published>2009-10-19T17:53:00.003-05:00</published><updated>2009-10-19T18:01:12.339-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business analyst'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='IIBA BABOK'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Objectives'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><category scheme='http://www.blogger.com/atom/ns#' term='BAWorld'/><category scheme='http://www.blogger.com/atom/ns#' term='business analysis'/><title type='text'>Live from BAWorld Boston</title><content type='html'>This week I find myself at &lt;a href="http://www.projectsummit.com/boston/boston-home.html"&gt;Project Summit &amp;amp; BAWorld: Boston&lt;/a&gt; for about a day and a half. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This morning I presented our talk, &lt;a href="http://www.projectsummit.com/boston/public-presentation-details.html?presentation_id=990&amp;amp;show_id=PSBABOS2009&amp;amp;speaker_id=977&amp;amp;speaker_id2=&amp;amp;speaker_id3=&amp;amp;cbResetParam=1"&gt;"If you Build It, Will They Use It? Leveraging Business Objectives to Deliver Successful Projects"&lt;/a&gt;. One thing I like about the BAWorld symposiums is that they make the slides available electronically to everyone, they are reviewed by a committee before you can present them, and they insist that the speakers provide learning objectives so you know what you are getting. So to that point, here are the learning objectives for my discussion: &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Understand how Business Objectives are vital to businesses&lt;/li&gt;&lt;li&gt;Understand how to elicit and write good Business Objectives&lt;/li&gt;&lt;li&gt;Understand how to use Business Objectives to assess measurable value of individual features&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I had a blast with the audience here - great participation in some of my games (yes, we do them in presentations, not just our training classes!). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you haven't been to one of these conferences, I recommend it if you are a practitioner doing Business Analysis, Requirements Engineering, or Product Management. Everyone else here is also practicing the "art" of BA and looking for new tips and techniques to take back to their organizations. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I attended a few other talks of interest today that I'll blog about shortly! &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-7811949374298559609?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/7811949374298559609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=7811949374298559609' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7811949374298559609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/7811949374298559609'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/live-from-baworld-boston.html' title='Live from BAWorld Boston'/><author><name>Joy</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00442986924258415745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17511337.post-6254003931464545871</id><published>2009-10-09T09:00:00.001-05:00</published><updated>2010-02-23T16:58:44.341-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='software requirements'/><title type='text'>Software Requirements Soundtrack</title><content type='html'>I am going to take it a little off the beaten path for this post and ask about some 'non-functional' work requirements you have. So I was wondering what you all like to do when you have to stay focused? Do you listen to classical? Work remotely from a coffee shop or home? Put a big frown face on your office whiteboard warning intruders to stay away?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I personally have my ear buds on hand wherever I go to work. They help me whenever I need to keep my head down and not be distracted. Granted, the slow and methodical opening of 20 or so metal blinds with 5 or 6 pulls each isn't easily drown out.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I favor listening to either Classical or Spanish Guitar music for working at the client site or office. Not for the 'classical makes your baby smart' argument. I do find that these two types of music help instill a calm demeanor and have enough movement in the music to help you get into a pattern. The ear buds themselves do the work of drowning out the background conversations regarding the explosion of a stress ball and its contents upon the ceiling.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Alternatively. When I have a large quantity of documents to review or large processes/maps to create, I favor my home office. I can't help but need a great chair, huge monitor, and fast internet for researching in these cases. Granted my music changes to more modern content to keep the mind from burning out on the same tasks. But in either case, I welcome some interruption since I am not the only one with deadlines.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Do you have different styles of work when it is focus time? Let us know, we would love to hear back from you. Perhaps you had a moment that you really wished you had some way to stay focused.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17511337-6254003931464545871?l=requirements.seilevel.com%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/6254003931464545871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17511337&amp;postID=6254003931464545871' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6254003931464545871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17511337/posts/default/6254003931464545871'/><link rel='alternate' type='text/html' href='http://requirements.seilevel.com/blog/2009/10/requirements-soundtrack.html' title='Software Requirements Soundtrack'/><author><name>Joshua</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08029902375787181889'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry></feed>