an agile development method for multiple product …2017/10/30 · an agile development method for...
TRANSCRIPT
An Agile Development Method for Multiple Product Lines of Automotive Software Systems
Kengo Hayashi*DENSO [email protected]
Mikio AoyamaNanzan [email protected]
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Scenario
1. Background2. Challenges3. Approaches4. Twofold Iterative Process5. Process Design and Process Assets6. Independence Analysis of Variability7. Application and Effectiveness8. Discussion and Future Works9. Conclusions
2
Background1.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Parking Support System with Ultra Sonic Sensors
4
Product evolution is fast and expected to expand into many vehicle variations
Need to deal with both variability and agile evolvability concerns
Ultra Sonic Sensor
ECUElectronic Control Unit
evolve evolve1st gen. 2nd gen. 3rd gen.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Development Organization and Software Architecture
5
Collaboration between two divisions in the practice of SPLE
The derivative team concurrently develops along with MPLEECU
Microcontroller
BSW(Basic SoftWare)
MICROSAR RTE
Application
Comp Comp
Logic
ConfigurationCalibrationProduct
Line 1Evo
APD
B C D E
Evo
ProductLine 2Evo
FPD
G H
Evo
Evo
ProductLine 3Evo
I J LEvo K
ProductLine mEvo
M N POEvo Q
Evo
Time
Legend PD : Product Derivation Evo : Product Line Evolution◆ : Versions of Core Assets ○ : Core Product ● : Derivative Product
The Core Team Develop
The Derivative Team Develop
- Add Security Functions- Change of Automotive Platform
- Improvement of Functionality- Software Architecture Refinement
PD
PD PD
PD
PD PD
PD
PD
PD
- Change of Major Functions
Challenges2.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
SPLE (Software Product Line Engineering)
7
SPLE deals with diversity by separating development into:
• Domain engineering• Application engineering
In practiceSome issues to be solved for SPLE
• Incomplete architecture• Evolutionary change over multiple
generations• Lack of test automation
The cost of application engineering done not become 0
Core Assets
Application 1 Application N+1
…
…
VP1VP2
VP3
VPx
Application N
VP=Variation Point
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
MPLE (Multiple Software Product Line Engineering)
8
The derivative team develops multiple products concurrently
Portfolio management becomes more complicated, and risk increases
Release of C Release of D Release of F Release of H (ver.1)
Release of H (ver.2)
Release of I
Release of J
Develop of Product C
Develop of D Develop of F
Develop of H (ver.1)
Develop of H (ver.2)
Develop of I
Develop of J
Development Schedule
Portfolio Management
Overdelivery︖ Developer release︖Early development︖
Add developer︖Request for overtime︖
Productivity
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Issues in Portfolio Management of MPLE
9
Portfolio
Realize effective portfolio management for stable development
Developer Resources
Core Assets
Development Environment
Issues
It is painful to increase or decrease developers since domain skills are necessary
It is confusing to modify the same asset at the same time
A limitation of the resource of test environments causes a bottleneck of testing
Approaches3.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Overview
11
Issues
Introduce Scrum’s framework to enhance portfolio management
Approach
It is painful to increase or decrease developers since domain skills are necessary
It is confusing to modify the same asset at the same time
A limitation of the resource of test environments causes a bottleneck of testing
Developer Resources
Core Assets
Environments
Scrum with multi projects
Grasp more accurate on
- Time-box- Story point
Incrementally into subdivisions- Feature Oriented
Solution
Twofold Iterative Process Structure
Process Design
Process Assets
Dependency Analysis of Variability
Support
Twofold Iterative Process Structure4.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Twofold Iterative Process Structure
13
<Conventional Agile Method>Learn productivity andfeedback to the planwith single iteration loop
<Twofold Approach>Minor iteration loop
within a project
Major iteration loopacross the multiple projects
Two fold feedback within and across iterative multiple projects
Time
Prod
uctiv
ityTime
Prod
uctiv
ity
<Conventional agile management method>
<Our approach to MPLE>Project A Project B Project C Project D
Project A
Learn & Feedback
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Monitoring Development Size and Productivity
14
Integrated measured velocity = planning guidelines
Burndown chart of Product D
Record of development size
Difference between start to end
time
poin
ts
0time
Burndown chart of Product C
Implementation is reduced by product D
0
Refer recordsin the portfolio plan
pnt
0
Product E Product F
Velocity graph integrating multiple product developments
Stack consumption points of each sprint for all product development
Productivity of development team= moving average of 7 sprints
Increase / decrease from plan
Process Design and Process Assets5.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Process Design and Process Assets
16
The process can be iteratively reusedover the engineeringof multiple applications
Design andReuse Processes asProcess Assets:- Tailoring result- Work procedure- Configuration of artifact
Designed Process maintains the learning effect across the projects
Core Assets
Application 1 Application N+1
…
…
VP1VP2
VP3
VPx
Application N
Process Assets
P1
P2P2-1
P2-2
Px
…
VP=Variation Point
Dependency Analysis of Variability6.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Dependency Analysis of Variability
18
Dividing method and order constraints of development determined by dependency of variation points
Analyze the structureof variability
Analyze the dependencyof the set of variation points
Identify the order ofdivided development unit
Realize incremental development with less regression testing cost
vp2 depends on
vp1
Dependency Variability structure Constraints and dividing method
None
vp1
vp2VPo
vp1
vp2VPo
vp1
vp2VPo
vp1
vp2VPo
vp1
vp2VPo
vp1
vp2VPo
vp1
vp2VPo
vp1
vp2VPo
vp1 and vp2 are inter-
dependent
vp1
vp2VPo
vp1
vp2VPo
Constraints
Application and Effectiveness7.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Application
20
The presenter as the leader of the development team
Statistics obtained from the actual projects
Development duration 10 months
A unit of sprint 2 weeks
Total number of sprints 22 sprints
Total number of projects 11
Size of unit (KLOC) 1 - 20
Development Period and Target Number of Projects
JIRAticket *
Unit NameClass NameEstimated Effort
GitSource CodeProcess Artifact *
Process Description
Stash link
Development Environment with Process Assets
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Stability of the Development
21
Measure the velocity (moving average of 7 sprints)productivity is predictable = development is stable
The development is highly stable if items have iterativeness
Num
ber
of p
oint
s
05
101520
Prod
uctiv
ity
Vola
tility
(%)
Sprint
Less working day long-term
holiday
Including feature
development
Including feature
development
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Leveling the Test Effort and Usage of Test Environment
22
Comparison of test environment usage rate with similar scale development
Lowered usage rate and leveling the peak load
0%
20%
40%
60%
80%
100%
120%
140%
160%
180%
1 6 11 16 21 26 31
Test
Env
iron
men
tU
sage
Rat
e(%)
Development Time(Day)
Conventional
Applicantion
100%
Conventional ApplicationTest days(Day)
12 20
Test hour (H)
77.75 78.32
Average (%)
80.99 48.95
Max (%) 162.50 106.25
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Higher Velocity and Better Manageability of Value Stream
23
Distribution of development period vs development effortfor each development itemsLower development time/period indicates higher velocityLower SD indicates better manageability
Reduced variations and improved velocity of value stream
0
5
10
15
20
25
30
35
0 20 40 60 80 100D
evel
opm
ent Pe
riod
(D
ay)
Development Hours(H)
Application
ConventionalConventional Application
Item Count 11 17Dev. Time (H)
Average 31.53 19.99SD 25.49 13.02
Dev.Period(Day)
Average 16.82 4.82SD 7.21 2.15
SD: Standard Deviation
Discussion and Future Works8.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Discussion and Future Works
Q1. Has the portfolio management been strengthened?
Q2. Is this approach the best?
Q3. Do not apply agile development for domain engineering?
Q4. Is further improvement possible?
25
A1. Yes. Stable productivity was obtained, the development scale was able to be grasped, and it become possible to keep updating the executable plan.
A2. No, but Better. Automatic testing and a more ideal configuration system can realize simpler development.
A3. Domain engineering is easier to apply. However, it is necessary to care the architecture because the architecture is easy to erosion.
A4. Yes. In the future, we plan to develop an architecture accommodating concurrent development with domain engineering.
Conclusions9.
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
Conclusions
Goal
Solutions
Benefits
Future Works
27
• Improvement of manageabilityin concurrent product development on MPLE
• Twofold Iterative Process Structure• Process Design and Process Assets• Dependency Analysis of Variability
• The development is highly stable if items have iterativeness• Lowered usage rate and leveling the peak load• Reduced variations and improved velocity of value stream
• Develop an architecture accommodating concurrent development with domain engineering
/28Agile in Automotive 2017 / 2017.11.15 / Kengo Hayashi / Advanced Safety Eng. Div. 4© DENSO CORPORATION All RightsReserved.
About the Speakers
28
Dr. Mikio Aoyama is a professor of Dep. of Software Engineering, Nanzan University, Nagoya, Japan since 2001.His research interests include requirements engineering,software architecture, and machine learning for theapplications in cloud/edge computing and automotivesystems. Prior to joining academia, Dr. Aoyama has 15years of experience in the development of large-scale real-time distributed systems at Fujitsu Limited.His paper “Agile Software Process and Its Experience” presented at ICSE ’98 is one of the earliest work on agile.
Dr. Mikio Aoyama is a professor of Dep. of Software Engineering, Nanzan University, Nagoya, Japan since 2001.His research interests include requirements engineering,software architecture, and machine learning for theapplications in cloud/edge computing and automotivesystems. Prior to joining academia, Dr. Aoyama has 15years of experience in the development of large-scale real-time distributed systems at Fujitsu Limited.His paper “Agile Software Process and Its Experience” presented at ICSE ’98 is one of the earliest work on agile.
Mr. Kengo Hayashi is a architect and project manager of Advanced Safety Engineering Div., DENSO CORPORATION, Kariya, Japan.He has engaged in the development of car navigation software systems and advanced sensing software system.He is pursuing the doctoral program at Aoyama Laboratory, in the graduate school of software engineering, Nanzan University.His research interests include software management, software product line engineering, and agile development.
Mr. Kengo Hayashi is a architect and project manager of Advanced Safety Engineering Div., DENSO CORPORATION, Kariya, Japan.He has engaged in the development of car navigation software systems and advanced sensing software system.He is pursuing the doctoral program at Aoyama Laboratory, in the graduate school of software engineering, Nanzan University.His research interests include software management, software product line engineering, and agile development.