kunskapsbaren 2011 linköping - att produktifiera mjukvara
DESCRIPTION
Kristoffer Johanssons och Henric Anderssons presentation från Kunskapsbaren 2011 i Linköping den 12 maj. Ämnet var "Att produktifiera mjukvara".TRANSCRIPT
![Page 1: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/1.jpg)
![Page 2: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/2.jpg)
Presentation of the presenters
HENRIC ANDERSSON, Method development and industrial PhD candidate Saab Aeronautics
![Page 3: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/3.jpg)
PresentationMy background
• Agriculture/farming 4 years• MsC in Control Engineering• ABB Carbon 3 years
• Modeling and simulation• Saab Aeronautics 14 years
• Flight Control• Project Management• Systems Engineering• Product Lines• Research / PhD study
![Page 4: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/4.jpg)
Presentation of Kristoffer Johansson
KRISTOFFER JOHANSSON, Project Manager and business developer at HiQ
![Page 5: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/5.jpg)
Presentation Kristoffer JohanssonMy background
• Ms.C Software engineering• Consultant & entrepreneur (6 years)
• Medical Technology• Project Manager & Agile
Teamleader• Simulation of embedded
systems• SW Developer
• Defence & Security• Simulation of embedded
systems• Project Manager & Agile
Teamleader• SW Developer
![Page 6: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/6.jpg)
Agenda
•Introduction•Product Line basics•Software Build•Organization•Profits•Summary
![Page 7: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/7.jpg)
Introduction
•What is productification?•What is a Product Line (PL)•Why PL (HW & SW)•Who needs it / can benefit from it
Introduction
![Page 8: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/8.jpg)
Universal Business Goals
•High quality•Quick time to market•Market dominance•Market agility•Product alignment•Low cost production•Low cost maintenance•Mass customization
Introduction
![Page 9: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/9.jpg)
Few systems are overall unique
• Most organizations produce families of similar systems differentiated by features.
• A reuse strategy makes sense.• Traditional reuse strategies have had little economic
benefit.
Basic Pro Enterprise
Ab
c
Ab
cd
Ab
cd
e
ProductLine
Configuration ConfigurationConfiguration
Introduction
![Page 10: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/10.jpg)
Agenda
•Introduction•Product Line basics•Software Build•Organization•Profits•Summary
PL Basics
![Page 11: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/11.jpg)
(software) Re-Use principles
1. The copy-and-paste method 2. The configuration method
Two methods for software/information reuse
/***************** source file** created 1989-0* by Karl Svenss* company ltd*
/**_A/**_B/**_D/**_C
/**
abc
Config Process
Single Source
/**_D
/**_C
/**_B
/**_A
d
MultipleInstances”read-only”
Reference: MS Word Help
PL Basics
![Page 12: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/12.jpg)
(software) Re-Use principles
1. The copy-and-paste method 2. The configuration method
Two methods for software/information reuse
/**_A
/**_B
/**_D
/**_C
/**
abc
Config Process
/**_D
/**_C
/**_B
/**_A
d
What is the maintenance effort needed in the long term?
/**_A
/**_B
/**_D
/**_C/**
_A/**_B
/**_D
/**_C
/**
abcd
/**
abcd
/**_D
/**_C
/**_B
/**_A
/**_D
/**_C
/**_B
/**_A
Variants
Versions
PL Basics
![Page 13: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/13.jpg)
Examples of copy-and-paste
• Parts of this presentation
• Several files and objects are copied every day we work• Drives the storage volume requirements• Problem with ”information-divergence”• Increasing maintenance cost• Boring work to update the same data at different places
• A whole repository with general models• Even more boring…..
PL Basics
![Page 14: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/14.jpg)
Examples of SPL
• Saab; early examples from ”CelciusTech” • see ”Software Product Lines: Practices and Patterns”
• Configuration by means of filters, views and generation• Several databases with report generators• E.g. Excel, DOORS; filters and views
• Embedded Computer Systems• Uses parameters for configuration• Primarily configuration at run-time• Parameters stored in Configuration files / DataBase (ConfDB)• Used in many products from e.g. Saab/Gripen, Scania, Ericsson…
PL Basics
![Page 15: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/15.jpg)
Basic components of a SPL architecture PL Basics
Source: On Software Engineering, http://sftweng.wcorona.com
![Page 16: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/16.jpg)
Agenda
•Introduction•Product Line basics•Software Build•Organization•Profits•Summary
SW Build
![Page 17: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/17.jpg)
17
Check-out Compile ExecuteProduct
Linerepository
%Source codepragmaif alpha then goodelse badendif
0100110100110010010110000101011110001001000100
SW BuildSoftware production / build process
![Page 18: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/18.jpg)
Binding Time (1)
• Check-out-time binding
Feature_A?
Check OutVariant f
Check OutVariant g
RepositoryCheck Out
Yes
No
Build
SW Build
![Page 19: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/19.jpg)
Binding Time (2)
• Compile-time binding
#if FEATURE_Af()#elseg()#endif
SW Build
![Page 20: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/20.jpg)
Binding Time (3)
• Run-time binding
if (feature_A) f() else g();
SW Build
![Page 21: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/21.jpg)
Binding Time overview
Binding at
Aspect
Check-out-time
Compile-time Run-time
Creates Different source code variants
Different object code variants
Different instances
Used for Reliable configuration
Implementation oriented configuration
Fast reconfiguration
Example When security / IRP aspects is important
Target / platform variation
Reconfiguration at end-user site
SW Build
![Page 22: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/22.jpg)
Industrial usage of binding time
• There are more alternatives• model-time• design-time• translation-time• link-time• load-time• …
• Different binding times may be used concurrently in a SPL
SW Build
![Page 23: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/23.jpg)
Agenda
•Introduction•Product Line basics•Software Build•Organization•Profits•Summary
Organization
![Page 24: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/24.jpg)
Organizational changes when adopting software product lines The three essentialls
Source: www.sei.cmu.edu
Organization
![Page 25: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/25.jpg)
Organization for and ordinary production without software product lines
Source: www.biglever.com
Organization
![Page 26: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/26.jpg)
Organization and production with an software product line
Source: www.biglever.com
Organization
![Page 27: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/27.jpg)
Initiation: strategies, challenges and risks
Source: www.sei.cmu.edu
Organization
![Page 28: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/28.jpg)
Initiation: strategies, challenges and risks
• Strategies• Find business value• Priorities the work• Establish firmly the interest for the Software
Product Line• Challenges
• Getting everyone onboard• Gain the right competence for managing an
software product line• Design & Architecture• Process & Methodology• Management
Organization
• Risks• The workflow doesn't support the product line vision• Shortcuts undermine the software product line vision• To long leadtime to establish the product line
![Page 29: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/29.jpg)
Agenda
•Introduction•Product Line basics•Software Build•Organization•Profits•Summary
Profits
![Page 30: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/30.jpg)
Productivity graph Profits
0
20
40
60
80
100
120
0 5 10 15 20 25
Total Number of Products
To
tal
En
gin
eeri
ng
Eff
ort
Light_Weigh SPL
Ord SPL
Conventional
![Page 31: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/31.jpg)
Lightweight software product lines
• minimize differences between single-system and product line engineering in order to minimize impact on:
• organization• processes• tools• infrastructure
• utilize an incremental adoption strategy• Example: Develop a reference architecture concurrently with
the production of the present product.• Use off-the-shelf software product line tools and technology• minimize the need for complex and costly merging
Profits
![Page 32: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/32.jpg)
Agenda
•Introduction•Product Line basics•Software Build•Organization•Profits•Summary
Summary
![Page 33: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/33.jpg)
Shorter time to marketQuality improvementIncreased productivity …
Conclusions – Introducing and using product line approach
• Achieve new business goals• Efficiency improvements• Cost reduction
• Reuse & Re-enter• Requirements• Design models• Source code• Test cases
• Increase quality in our products
• More fun at work!
Summary
![Page 34: Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara](https://reader033.vdocuments.mx/reader033/viewer/2022060201/559ab1ce1a28abc5378b4609/html5/thumbnails/34.jpg)
THE END
34