{"id":50,"date":"2009-08-14T11:53:04","date_gmt":"2009-08-14T15:53:04","guid":{"rendered":"http:\/\/qimacros.com\/lean-six-sigma-blog\/?p=50"},"modified":"2016-02-03T13:30:22","modified_gmt":"2016-02-03T20:30:22","slug":"spc-for-software-development","status":"publish","type":"post","link":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/spc-for-software-development\/","title":{"rendered":"SPC for Software Development"},"content":{"rendered":"<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\">I just got an email from a guy trying to sell his IT department on Lean Six Sigma and SPC for software development and maintenance. Needless to say the main developers were not too pleased, but basically made the argument that SPC cannot be applied to software cycle development because there are no repetitive processes involved, but rather it is reactionary to external (or unassignable events).\u00a0He wondered:\u00a0How would I be able to apply control charts to this environment. Maybe such an environment cannot be \u2018controlled\u2019?<span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">\u00a0<\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\">\u00a0<\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">This is actually the lame argument that every so called &#8220;artist&#8221;\u00a0<\/span>\u00a0<span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">uses to explain why they shouldn&#8217;t have to learn how to monitor and improve their processes. Everything, including software, follows a process. Just because your process is a random, chaotic walk that produces buggy, feature-poor software that routinely misses due dates, doesn&#8217;t mean that you don&#8217;t follow a process.<\/span><\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">The Software Engineering Institute (SEI) has a capability maturity model (CMMI) that&#8217;s been in existence for 20+ years detailing the stages of software development\/maintenance lifecycles:<\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">1. Chaos<\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">2. Repeatable<\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">3. Defined<\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">4. Measured<\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">5. Optimized<\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">(in other words,\u00a0steps 3-5 are\u00a0DMAIC\/PDCA)<\/span><\/span><\/div>\n<div><\/div>\n<div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">The latest software development process is called &#8220;Agile&#8221;. What&#8217;s Agile? Lean applied to software development. Small batches of functional code delivered biweekly.<\/span><\/span><\/div>\n<div><\/div>\n<\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">If you google &#8220;spc for software development&#8221;, you&#8217;ll find a slew of articles on how to do SPC in software:<\/span><\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">My advice: Don&#8217;t buy this B.S. because it&#8217;s IT&#8217;s way of trying to avoid doing the right things right by clinging to a craftsman model of software development that&#8217;s as silly as cobblers\u00a0trying to resist becoming\u00a0Nike. <\/span><\/span><\/div>\n<div><\/div>\n<div><span style=\"font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;\"><span style=\"font-family: Arial; color: #0000ff; font-size: x-small;\">So much of business today depends on IT for the speed and quality necessary to compete in a global marketplace that IT has to get on board with Lean Six Sigma and SPC or risk killing the company.<\/span><\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>I just got an email from a guy trying to sell his IT department on Lean Six Sigma and SPC for software development and maintenance. Needless to say the main developers were not too pleased, but basically made the argument that SPC cannot be applied to software cycle development because there are no repetitive processes [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[170,90],"class_list":["post-50","post","type-post","status-publish","format-standard","hentry","category-six-sigma","tag-six-sigma","tag-software"],"_links":{"self":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":2,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":681,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts\/50\/revisions\/681"}],"wp:attachment":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/media?parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/categories?post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/tags?post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}