Economies of Scale in Software Economies of Scale: “The increase in efficiency of production as the number of goods being produced increases.” Question to Consider: “Can we increase the efficiency of software production?”
Economies of Scale in Software Software Product Line Successes Planning for Success IDI’s Offerings
Bell Labs / AT&T / Lucent Product Line: 5ESS TM switching system (many flavors) Virtually every phone call goes through a 5ESS 10 Million lines of software source code In 1990’s, certain aspects of software redesigned Used “software product line” methods Software Engineering Productivity improved 3x to 5x Success Stories for Software Product Line Methods
Success Stories for Software Product Line Methods Owen Firmware Cooperative - Hewlett Packard Product Line: printers / copiers / scanners / fax devices Cooperation of engineering teams across U.S. Teams contribute to Owen and receive from Owen Productivity: 1/4 of the staff Time to Market: 1/3 of the time Quality: 1/25th the number of bugs
Success Stories for Software Product Line Methods Cummins, Inc. (diesel engines) Product Line: electronically controlled engines 9 engine platforms, 4-18 cylinders, 10 fuel systems In 1993, needed 20 new systems, had staff for 6 Embraced “software product line” methods Cycle times reduced to 1/10th Productivity improvement of 3.6x ROI of 10:1
Other Product Line success stories… Nokia - mobile phones A-7E Operational Flight Program, U.S. Naval Research Laboratory MARKET MAKER Software AG Boeing - the “Bold Stroke” avionics software family Philips - the “PKI Telecommunications Switching System” Philips - televisions sets Salion, Inc. - enterprise software for handling RFQs Ericsson AXE family of telecommunication switches General Motors Powertrain etc. Success Stories for Software Product Line Methods
Universal elements in these Success Stories Achieved Economies of Scale in Software Development Built an Infrastructure we now call Software Product Lines Change was led at Executive level Experienced dramatic improvements in Productivity, Quality, and Time to Market Differences between the Success Stories Incremental change vs. Re-engineering 1-generation vs. 2-generations of change Created new methods vs. Pre-existing best practices* Some radically modified their Business Model as a result. *Their successes became what we now call “best practices”. Success Stories for Software Product Line Methods
How can the “Software Product Line” process change Business Model? Software Product Line enables “Mass Customization” Gives customer more choice Customer becomes co-creator of product Reinvents the purchasing experience Strengthens the vendor - customer relationship Example: Buying a computer... Vs. Success Stories for Software Product Line Methods
Success Stories for Software Product Line Methods CelsiusTech Systems AB (now part of SAAB Group) Product Line: Naval command & control systems Originally developed to contract awarded 2 contracts simultaneously Only staff for 1 contract at a time Response - Designed 1 system with flexibility Called “Ship System 2000” Have now produced over 50 variants Surface ships & submarines Navies around the world
Deming Taught Us: Process drives Quality Software Product Lines Teach Us: Process drives Quality, Productivity, and Time to Market Ultimately, process can enable a new Business Model Success Stories for Software Product Line Methods
Software Product Line Successes Planning for Success IDI’s Offerings Economies of Scale in Software
“Plan for Success” Your measure of Success depends on where you want to go. Build infrastructure for tomorrow’s Success. For Hewlett Packard... Vision = Cost containment Strategy = Software Reuse Action = Infrastructure for Reuse Result = cost savings; quality improvement For DELL... Vision = Customer Relationship Strategy = Mass Customization Action = Infrastructure for Customization Result = DELL is a household name Planning for Success
What process is best for your definition of Success? Planning for Success More Mature Answers: “How precisely is your process managed?”Answers: “How well does your process handle growth?” More “Scalable”
What process is best for your definition of Success? Planning for Success Development Cost per Product - Time to Market - Product Defects New Product Launches or Customizations “Unscalable” process X “Highly Scalable” process X If success for you is Mass Production, lowest possible cost, low number of product variants... If success for you is Mass Customization, an infinite number of product variations...
Planning for Success Product Line: IT dept. in Insurance company Number of Products:4 in-house applications Immediate Need:Reduce cost Business Case for Change:Reduce cost, improve Quality Product Line: Music Synthesizer Keyboards Number of Products:3 models, 10 options Immediate Need:Reign in spiraling costs Business Case for Change:Fast Time to Market Product Line: Enterprise Asset Management Number of Products:1 suite, 20 modules, 500 options Immediate Need:Avoid preventable defects Business Case for Change:Customer Relationship
Planning for Success - Alice Product Line: IT dept. in Insurance company Number of Products:4 in-house applications Immediate Need:Reduce cost Business Case for Change:Reduce cost, improve Quality XX Alice’s Plan for Success: Recommendation: Use method for conventional projects, such as RUP, XP, MSF, etc.
Planning for Success - Bob Product Line: Music Synthesizer Keyboards Number of Products:3 models, 10 options Immediate Need:Reign in spiraling costs Business Case for Change:Time to Market X X Bob’s Plan for Success: Recommendation: Use Software Product Line approach Use tool & process with upgrade path to at least Level 4
Planning for Success - Charles Product Line: Enterprise Asset Management Number of Products:1 suite, 20 modules, 500 options Immediate Need:Avoid preventable defects Business Case for Change:Customer Relationship X X Charles’ Plan for Success: Recommendation: Use Software Product Line approach Employ tools to manage variability Employ tools to automate checks & balances Tools must be adaptable to current systems
Conclusions Software Product Line Successes Planning for Success IDI’s Offerings
IDI’s Offerings Management Consulting Process Scalability Assessment Developing a Software Product Line strategy Product Line Studio TM solutions Collaborative Asset Management Technical Documentation System Basic Requirements Traceability Basic Software Architecture Management Customization of Software Customization of Documentation Customization of Requirements Highly Scalable Software Product Lines Deployment Technical Consulting Training
IDI’s Offerings Management Consulting Process Scalability Assessment Step 1: Assess current software engineering processes X? Plan for Success: 2006
IDI’s Offerings Management Consulting Process Scalability Assessment Step 1: Assess current processes Step 2: Participate in corporate strategic planning
IDI’s Offerings X Plan for Success: Management Consulting Process Scalability Assessment Step 1: Assess current processes Step 2: Participate in corporate strategic planning Step 3: Determine ideal process scalability & maturity ? 2006
IDI’s Offerings Plan for Success: Management Consulting Process Scalability Assessment Developing a Software Product Line strategy X X ?
IDI’s Offerings Management Consulting Process Scalability Assessment Developing a Software Product Line strategy Product Line Studio TM solutions Collaborative Asset Management Technical Documentation System Basic Requirements Traceability Basic Software Architecture Management Customization of Software Customization of Documentation Customization of Requirements Highly Scalable Software Product Lines
IDI’s Offerings Management Consulting Process Scalability Assessment Developing a Software Product Line strategy Product Line Studio TM solutions Collaborative Asset Management Technical Documentation System Basic Requirements Traceability Basic Software Architecture Management Customization of Software Customization of Documentation Customization of Requirements Highly Scalable Software Product Lines Deployment Technical Consulting
IDI’s Offerings Management Consulting Process Scalability Assessment Developing a Software Product Line strategy Product Line Studio TM solutions Collaborative Asset Management Technical Documentation System Basic Requirements Traceability Basic Software Architecture Management Customization of Software Customization of Documentation Customization of Requirements Highly Scalable Software Product Lines Deployment Technical Consulting Training