120 likes | 265 Views
Applying product line approaches used in physical products to software. Louis DeMaria Jr. CSCI 577b April 25, 2012. Agenda. How are product lines used in other industries? What is the advantage in other industries How could product lines be implemented in the software industry
E N D
Applying product line approaches used in physical products to software Louis DeMaria Jr. CSCI 577b April 25, 2012
Agenda • How are product lines used in other industries? • What is the advantage in other industries • How could product lines be implemented in the software industry • What would be the advantage in the software industry • Success examples to date in the software industry.
How are product lines used • Product lines are used to create several similar products with slightly varying capabilities • Example: • BMW Vehicles • 1 Series • 3 Series • 328 • 335 • M3 • 5 Series • 7 Series
How are product lines used • In the example vehicles from each series are very similar to each other, but are sold as different models with different capabilities • Vehicle body parts are shared amongst most vehicles of the same series • Many mechanical parts are the same amongst vehicles of the same series and shared amongst vehicles of different series
Advantages • Companies are able to offer a wide variety of different products to customers that essentially perform the same task, but in a way tailored to exactly what the customer is looking for • Allows customers the ability to select products and options to fit their specific needs (often times cost related) • Allows companies the ability to offer “entry level” products to customers • Component reuse is great for maintenance
Product lines in software • Already implemented in some software products • Windows 7 Starter • Windows 7 Home Basic • Windows 7 Home Premium • Windows 7 Professional • Windows 7 Enterprise • Windows 7 Ultimate • Many parts of Windows Vista are found in the Windows 7 family of products
Advantages • User familiarity with the “look and feel” of a product • Windows 7 Home Basic used at home has the same “look and feel” as Windows 7 Ultimate used at work • Adjusting configurations and repairing all versions of Windows 7 is similar • Setting up a network on Windows 7 Starter is the same process as setting up a network on Windows 7 professional • Cuts down on documentation and time required for users to learn how to use the system
Advantages • Fixing bugs is easier • If components are reused throughout a software product line a bug fix in a reused component fixed the component in all versions • If components are different throughout products a bug fix may require fixing several components in order to fix all of the products • Higher Return on Investment • If one component can be developed and used in several products it makes the return on investment of developing that component higher
Advantages • Higher return on investment on developing of system • Cost of developing Windows 7 can be thought of as developing 6 different products without the cost of developing 6 independent products • Customer could purchase additional functionality without removing and reinstalling an entire software package • Think adding and removing a scientific option to a calculator piece of software.
Success Examples • Windows • Linux free vs. enterprise editions • Anti-Virus Guard (AVG) • Anti-Virus • Internet Security • Premium Security • … • COCOMO COCOMOII • Update in CSCI577a to allow COCOMO_II_2000.3 to function correctly
References • http://wwwbmwusa.com • http://www.windows.microsoft.com • http://www.jot.fm/issues/issue_2004_03/column6.pdf • http://www.avg.com/us-en/homepage • http://greenbay.usc.edu/csci577/tools/tutorials/COCOMO2008v2.pdf • http://www.sei.cmu.edu/productlines/