{"id":1248,"date":"2008-10-02T01:04:15","date_gmt":"2008-10-02T08:04:15","guid":{"rendered":"https:\/\/svapm.org\/2008\/09\/26\/reverse-engineering-requirements\/"},"modified":"2019-08-07T14:33:45","modified_gmt":"2019-08-07T21:33:45","slug":"reverse-engineering-requirements","status":"publish","type":"post","link":"https:\/\/svapm.org\/?p=1248","title":{"rendered":"Reverse-Engineering Requirements?"},"content":{"rendered":"<p>By Josh Nankivel<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" height=\"112\" width=\"158\" align=\"right\" title=\"Use Case Scenario - Requirements and project management\" alt=\"Use Case Scenario - Requirements and project management\" src=\"http:\/\/pmstudent.com\/wp-content\/uploads\/2008\/08\/usecase-300x214.jpg\" \/>Fellow blogger Craig Brown over at <a target=\"_blank\" href=\"http:\/\/betterprojects.blogspot.com\/\" rel=\"noopener noreferrer\">Better Projects<\/a> asked <a target=\"_blank\" href=\"http:\/\/www.betterprojects.net\/2008\/08\/why-reverse-engineer-requirements.html\" rel=\"noopener noreferrer\">&#8220;Why reverse engineer requirements?&#8221;<\/a> in a recent post.Interesting question:   Craig asked what value there is in trying to derive requirements based on an existing system.  There are two points that came to mind on this.<!--more--><\/p>\n<ol>\n<li>If formal requirements were not captured when the current system was designed, and you are about to do another project to build something similar, this might come in handy.  Personally, I would rather start with a functionality description, etc. as reference material and start the actual requirements gathering almost from scratch.<\/li>\n<li>When I gather requirements, I find it very useful to do a simplified set of use case scenario diagrams to capture high-level needs.  They can also be very useful for mapping out the processes that relate to and\/or interface with a given system.  If I were building a new system similar to something that is already in use (and there were no documented requirements from the last build) I would construct use cases with the users to document how their needs are fulfilled today.  In fact, I have done this in the past more than a few times.  <span style=\"text-decoration: underline\">Note that the existing system may have functionality that is obsolete or unnecessary<\/span>, and so I would not want to incorporate those features into the new product.  If you derive requirements from a design specification, you may spend time building stuff people won&#8217;t use anyway.  The root of all requirements must be the stakeholders who will &#8220;have a stake&#8221; in the product when you are finished.<\/li>\n<\/ol>\n<p>Great post Craig, a very stimulating question!<\/p>\n<p><em>About the author<br \/>\n<\/em><\/p>\n<hr \/>\n<p><em><a target=\"_blank\" href=\"http:\/\/www.linkedin.com\/in\/joshnankivel\" rel=\"noopener noreferrer\"><img decoding=\"async\" align=\"right\" id=\"image1118\" title=\"JoshNankivel\" alt=\"JoshNankivel\" src=\"https:\/\/svapm.org\/wp-content\/uploads\/2008\/07\/joshnankivel.thumbnail.jpg\" \/><\/a> <a target=\"_blank\" href=\"http:\/\/pmStudent.com\" rel=\"noopener noreferrer\">Josh Nankivel<\/a> is a Project Planning &#038; Controls Control Account Manager and contractor for the ground system of the <a target=\"_blank\" href=\"http:\/\/ldcm.nasa.gov\/about.html\" rel=\"noopener noreferrer\">Landsat Data Continuity Mission<\/a>, a joint project between the <a target=\"_blank\" href=\"http:\/\/landsat.usgs.gov\/\" rel=\"noopener noreferrer\">USGS<\/a> and <a target=\"_blank\" href=\"http:\/\/ldcm.nasa.gov\/about.html\" rel=\"noopener noreferrer\">NASA<\/a>. His academic background includes a BS in Project Management, summa cum laude.  He can be found writing and contributing in many places within the project management community, and his primary project management website is located at <a href=\"http:\/\/www.pmstudent.com\/\">pmstudent.com<\/a>. <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Josh Nankivel Fellow blogger Craig Brown over at Better Projects asked &#8220;Why reverse engineer requirements?&#8221; in a recent post.Interesting [&hellip;]<\/p>\n","protected":false},"author":116,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"give_campaign_id":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[439,38,825,50,437,438],"class_list":["post-1248","post","type-post","status-publish","format-standard","hentry","category-goals","tag-business-analyst","tag-project-management","tag-reddit","tag-requirements","tag-reverse-engineer","tag-use-case"],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/posts\/1248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/users\/116"}],"replies":[{"embeddable":true,"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1248"}],"version-history":[{"count":1,"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/posts\/1248\/revisions"}],"predecessor-version":[{"id":14102,"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/posts\/1248\/revisions\/14102"}],"wp:attachment":[{"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}