{"id":1100,"date":"2008-07-07T17:24:18","date_gmt":"2008-07-07T17:24:18","guid":{"rendered":"https:\/\/svapm.org\/2008\/07\/07\/an-outsourcing-progress-report\/"},"modified":"2019-08-07T14:34:50","modified_gmt":"2019-08-07T21:34:50","slug":"an-outsourcing-progress-report","status":"publish","type":"post","link":"https:\/\/svapm.org\/?p=1100","title":{"rendered":"An Outsourcing Progress Report"},"content":{"rendered":"<p>I&#8217;ve written somewhat negatively about outsourcing in the past: primarily issuing warnings about doing it without proper planning, for the wrong reasons, or with expectations set too high.<\/p>\n<p>Recently, someone close to me has had his own outsourcing experience.\u00a0 Software that he and his group would normally develop was being done by a group of software engineers in India.\u00a0 Since there were in-house developers available to do the work, the decision to outsource doesn&#8217;t seem to have been driven by a need to offload anyone&#8217;s work.\u00a0<br \/>\n<!--more--><br \/>\nI don&#8217;t know how the outsource company was selected or if they had any prior experience with the domain, but they had no prior relationship with the primary company, so it was not a matter of maintaining an existing relationship.\u00a0 One is left to speculate that it had to be a cost decision (current or future).<\/p>\n<p>My software-developer friend was relegated to quality monitoring.\u00a0 He reviewed the requirements spec, written by the outsource company, and because he understood the increased importance of the spec in this job, he tried hard to think about what might have been left out.\u00a0 Over the years, some behaviors had become SOP (standard operating procedure) at the company and were rarely included in specifications (right or wrong).\u00a0 Now they had to be spelled out, lest they be missing from the final product.<\/p>\n<p>I had a chance to take a look at the spec, and I admit that I was impressed with its structure and thoroughness, and I thought that there might be a chance that this outsourcing experiment might work.\u00a0 I heard that they were asking good questions and requesting scenarios: good signs.<\/p>\n<p>My friend is now running tests on the nearly-completed software and is now able to begin judging its quality (both of the software and of the spec).\u00a0 He is finding that the software runs the normal cases fine.\u00a0 That&#8217;s a good start.\u00a0 But : :  guess what?\u00a0 The anomalous cases are failing.\u00a0 What happens when a piece of hardware is missing or the network is interrupted?\u00a0 The software freezes.<\/p>\n<p>Were these anomalous cases included in the specs?\u00a0 My friend says &#8220;probably not&#8221;.\u00a0 They were SOP for the in-house group, just &#8220;good engineering practices&#8221;, and would have been done regardless of whether they were spelled out in a spec.<br \/>\nWill the company save money on this development?\u00a0 That remains to be seen.\u00a0 It&#8217;s not known how these &#8220;good engineering practices&#8221; will be handled by the outsource company, whether they will demand compensation for spec changes.<\/p>\n<p>Perhaps the outsourcing experience is simply a way to train this Indian company for future work, and perhaps it&#8217;s irrelevant whether money was saved on this first development.\u00a0 Nonetheless, it&#8217;s a good case study of the role of a requirements spec in an outsourced development as well as a great example of the need to ask the right questions when developing the spec in the first place.<\/p>\n<p>Anita Wotiz<br \/>\n<a href=\"http:\/\/www.duckpondsoftware.com\/\">www.duckpondsoftware.com<\/a> (see the Consulting tab)<br \/>\nInstructor, UCSC Extension, <a href=\"http:\/\/www.ucsc-extension.edu\/ucsc\/public\/category\/courseCategoryCertificateProfile.do?method=load&amp;certificateId=3798438&amp;selectedCategoryId=1000075&amp;selectedProgramAreaId=1000171&amp;selectedProgramStreamId=3785123\">SEQ Program<\/a><br \/>\n<a href=\"http:\/\/www.ucsc-extension.edu\/ucsc\/public\/category\/courseDetails.do?method=load&amp;courseId=3282140&amp;selectedCategoryId=1000075&amp;selectedProgramAreaId=1000171&amp;selectedProgramStreamId=3785123\">Software Requirements Engineering and Management<\/a> (next class starts Aug 5 2008)<br \/>\n<a href=\"http:\/\/www.ucsc-extension.edu\/ucsc\/public\/category\/courseDetails.do?method=load&amp;courseId=3349574&amp;selectedCategoryId=1000075&amp;selectedProgramAreaId=1000171&amp;selectedProgramStreamId=3785123\">Software Project Planning, Monitoring, and Management<\/a> (next class Oct\/Nov 2008)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve written somewhat negatively about outsourcing in the past: primarily issuing warnings about doing it without proper planning, for the [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":0,"comment_status":"open","ping_status":"closed","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":[2,7],"tags":[39,361,360,147,145,38,50,298],"class_list":["post-1100","post","type-post","status-publish","format-standard","hentry","category-leadership","category-goals","tag-best-practices","tag-offshore-outsourcing","tag-offshore-software-development","tag-offshoring","tag-outsourcing","tag-project-management","tag-requirements","tag-ucsc-extension"],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/posts\/1100","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\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1100"}],"version-history":[{"count":1,"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/posts\/1100\/revisions"}],"predecessor-version":[{"id":14008,"href":"https:\/\/svapm.org\/index.php?rest_route=\/wp\/v2\/posts\/1100\/revisions\/14008"}],"wp:attachment":[{"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/svapm.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}