Friday, February 25, 2011

The Lilliputians and their Gremlins

The Denver international Airport baggage handling system has become an example of what not to do when engineering software for anything. It has been said that BAE systems costs for the 193 million dollar system began hemorrhaging 1.1 million a day in interest and operating costs.i Eventually it was replaced with manual baggage handlers. Giese states that one of the major reasons for this failure were lack of communications of the stakeholders and the fact that software quality was an afterthought as was the design and integration of the system.ii

The Capability Maturity Model for Integration (CMMI) from the Software Engineering Institute at Carnegie Mellon University is the de-facto standard methodology for Software development and organizational maturation measure.iii The SEI maintains a common sense staged approach to managing software development and quality through the development life cycle by defining 5 stages of maturity for an organization. Currently the CMMI-DEV standard is at version 1.3 and is available from the SEI directly.iv
The following table describes each of these stages of the CMMI:v

Level
Process Areas
1 Initial
Product and Process Quality Assurance
2 Managed
Integrated Teaming (2 man rule)
Requirements Management
Project Planning
Project Monitoring and Control
Configuration Management
Supplier Agreement Management
Measurement and analysis


3 Defined
Quantitative Project Management
Requirements Development
Technical Solutions
Product Integration
Verification
Validation
Organizational Process Focus
Organizational Process Definition
Organizational Training
Integrated Project Management
Risk Management
Decision Analysis and Resolution
Integrated Supplier Management


4 Quantitatively Managed
Causal Analysis and Resolution
Organizational Process Performance


5 Optimizing
Organization Innovation and Development


The CMMI for Software Development includes the four basic levels of maturity these are numbered as follows:vi
  1. Incomplete
  2. Preformed
  3. Managed
  4. Defined
Essentially the CMMI is a method for defining goals of an organization with respect to it's development requirements in such a manner that the ISO 9000 Series of process standards may be used to obtain Maturity but are not necessary to do so. Any organization by attempting to adhere to CMMI standards will improve and develop a Software Quality Assurance process.
Six Sigma – Originally developed by Motorola in 1986 to improve batch process, Six sigma methods and management may be used to improve software quality, although arguments have been made that it stifles creativity. It's also a very large and involved process and may take any organization years to achieve.
Lean – Dr. Womack developed the LEAN methodology for Toyota in the 1980's, as Toyota has managed to become one of the largest manufacturers of vehicles in north America, LEAN is considered one of the many reasons; it's often reffed to colloquially as the “Toyota Way”.vii Lean's core concepts are to use the minimal amount of effort required to increase customer value.
The Information Systems and Audit Control Association (ISACA), maintains a number of certifications in reference to IT related audit and support operations. The CoBIT standard is a standard of Management and Governance and is not directly related to Software Quality Assurance, however if any organization implements CoBIT Compliance they will have a mature SQA process although it may lack definition.viii
The ITIL Service Management framework is yet another methodology and standard aimed at the formal certification and management any organizations IT Assets and services; should an organization engage in software development the ITSM states that theses processes must be mapped and defined; thus even though the ITIL framework is not a direct SQA standard, it's application would result in a defined and managed process for software quality assurance.ix
Each and every software development project is as unique as the team of developers delivering it; which when considering the respective level of entropy in given set of human genetics is a pretty unique. The DIA project used over 400 electric eyes, over 1000 bar-code scanners and miles of underground rail track. Had they implemented any of the available methods such as the CMMI, SixSigma, Lean, ISO or even CoBIT their process for achieving the goal of an automated baggage system may have been realized.
The Software Quality Assurance methodology is usually a hybrid of the above standards; implemented by development and project management teams assigned the task of delivering the software system; The main benefits of implementing and conforming to SQA standards as defined by the CMMI standard are as followsx:

  • A Clear view of the Software Defect Trend
  • Continuous Software Improvement
  • Reduced Cost of Software Development
  • Greater Productivity
  • Higher Quality Software Products
  • Increased Customer Satisfaction
  • Positive Client View of your Organization
  • Overall Reduced Risk
I would not recommend that hybrid approaches be used as the CMMI is complete and mature enough to accommodate any software development project regardless of complexity.
Baggage handling is a Big-O, Complex and difficult problem. It requires advanced robotics, software and an iterative and reliable development process to make any kind of inroads. ALSTefxi, Webbxii and Vanderlandxiii currently use CMMI to develop their systems which are the global standards in Baggage sorting and handling. The SEI's CMMI is possibly the easiest of all of the methodologies to implement and offers the greatest return on investment, and offers continual improvement over other standards and methods.
iGibbs, W. Wyat (Scientific American, Septemeber 1994) Despite 50 years of progress, the software industry remains years-perhaps decades-short of the mature engineering discipline needed to meet the demands of an information-age society [Online] World Wide Web, Available from: http://www.cis.gsu.edu/~mmoore/CIS3300/handouts/SciAmSept1994.html (Accessed on February 23rd 2011)
iiDr. Giese, Holder (University of Paderborn, Software Engineering Group 2005) Software Quality Assurance Introduction [Online] PDF Document, Avaialble from: http://www2.cs.uni-paderborn.de/cs/ag-schaefer/Lehre/Lehrveranstaltungen/Vorlesungen/SoftwareQualityAssurance/WS0405/SQA-I-p1-59.pdf (Accessed on February 23rd 2011)
iiiGodfrey, Sally (NASA, 2011) What is CMMI [Online] Powerpoint Presentation, Available from: http://software.gsfc.nasa.gov/docs/What%20is%20CMMI.ppt (Accessed on February 23rd 2011)
ivN.A. (SEI, CMU, 2011) CMMI for Development, Version 1.3 [Online] PDF Document, Available from: http://www.sei.cmu.edu/library/abstracts/reports/10tr033.cfm (Accessed on February 23rd 2011)
vGodfrey, Sally (NASA, 2011) What is CMMI [Online] Powerpoint Presentation, Available from: http://software.gsfc.nasa.gov/docs/What%20is%20CMMI.ppt (Accessed on February 23rd 2011)
viN.A. (SEI, CMU, 2011) CMMI for Development, Version 1.3 [Online] PDF Document, Available from: http://www.sei.cmu.edu/library/abstracts/reports/10tr033.cfm (Accessed on February 23rd 2011)
viiN.A. (LEAN.org, 2011) What is LEAN [Online] World Wide Web, Available From: http://www.lean.org/WhatsLean/ (Accessed on February 23rd 2011)
viiiN.A. (ISACA, 2011) COBIT 4.1 [Online] PDF Document, Available From: http://www.isaca.org/Knowledge-Center/cobit/Pages/Downloads.aspx (Accessed on February 23rd 2011)
ix N.A. (OGC, 2011) ITIL V3 Standards [Online] World Wide Web, Avaialble From; http://www.itil-officialsite.com/BestManagementPractice/BestManagementPractice.aspx (Accessed on February 23rd 2011)
xHefner, Rick, Phd (Northrop Grumman, November 2005) Achieving the Promised Benefits of CMMI [Online] PDF Document, Avaialble from: http://www.dtic.mil/ndia/2005cmmi/wednesday/hefner2.pdf (Accessed on February 23rd 2011)
xiN.A. (ALSTef, 2011) Baggage Handling Systems [Online] World Wide Web, Avaialble From: http://www.alstef.com/Systemes-Aeroportuaires/index.htm?s=10 (Accessed on February 23rd 2011)
xiiN.A. (WEBB, 2011) Baggage Handling Systems [Online] World Wide Web, Avaialble from: http://www.jervisbwebb.com/Categories/BaggageHand.aspx?cid=1 (Accessed on February 23rd 2011)
xiiiN.A. (Vanderland Inc. 2011) Baxtorter Specifications [Online] World Wide Web, Avaialble from: http://www.vanderlande.com/Baggage-Handling/Products/Sortation/BAXORTER.htm (Accessed on February 23rd 2011)

No comments:

Post a Comment