Software Product Line Engineering Processes, Business, Technology, - - PowerPoint PPT Presentation

software product line engineering
SMART_READER_LITE
LIVE PREVIEW

Software Product Line Engineering Processes, Business, Technology, - - PowerPoint PPT Presentation

Software Product Line Engineering Processes, Business, Technology, Architecture and Organizations Robert Feldt <robert.feldt@chalmers.se> Teachers et al. Robert Feldt (examiner) MSc CS&E 1997, PhD 2002 Software Eng. Currently:


slide-1
SLIDE 1

Software Product Line Engineering

Processes, Business, Technology, Architecture and Organizations

Robert Feldt <robert.feldt@chalmers.se>

slide-2
SLIDE 2

Teachers et al.

slide-3
SLIDE 3

Robert Feldt (examiner)

MSc CS&E 1997, PhD 2002 Software Eng. Currently: Associate Professor BTH & Chalmers Consultant >14 years (Stena, Mobitec, Mimer etc) CTO 1 company, 1 AI Startup Currently: IPhone apps, Ruby, Clojure, C Before: Java, C++, Haskell, ML, MC68k assembler, ... Golf, 2 children (4&8 years), Wine Also only one wife...

slide-4
SLIDE 4

Tony Gorschek (Lecturer)

B.Sc. BA, M.Sc. CS, PhD Software Engineering Entrepreneurial work Consultant >10 years (IBM, IM, IMI, ABB, DHR, Ericsson, Lexicon, EDB, etc) CTO 3 companies Currently: Associate Processor BTH, Assistant Professor Chalmers, Consultant DocEngineering Single malt (>12y), German cars, B&W 803D

slide-5
SLIDE 5

Martin Ivarsson (Lecturer & Assistant)

PhD at CTH in 2010 Requirements Engineering focus Worked with Volvo

slide-6
SLIDE 6

How to reach us?

Email rules! robert.feldt@chalmers.se tony.gorschek@gmail.com martin.ivarsson@chalmers.se

slide-7
SLIDE 7

What is SPL?

Software Product Line = Set of software products

with common features, but each different.

Individual products built from reusable/configurable assets Product line targets specific market/segment

slide-8
SLIDE 8

What is SPLE?

Planned approach to Large-Scale Reuse Line of Multiple Products, instead of Individual software system Domain and Application Engineering DE: Extract commonality for a domain/area AE: Build multiple apps in a domain

slide-9
SLIDE 9

What is SPLE?

Planned approach to Large-Scale Reuse Line of Multiple Products, instead of Individual software system Domain and Application Engineering DE: Extract commonality for a domain/area AE: Build multiple apps in a domain

Dev for reuse

slide-10
SLIDE 10

What is SPLE?

Planned approach to Large-Scale Reuse Line of Multiple Products, instead of Individual software system Domain and Application Engineering DE: Extract commonality for a domain/area AE: Build multiple apps in a domain

Dev for reuse Dev with reuse

slide-11
SLIDE 11

Why SPLE?

slide-12
SLIDE 12

Why SPLE?

Large-Scale Reuse

slide-13
SLIDE 13

Why SPLE?

Large-Scale Reuse Less code Less docs

slide-14
SLIDE 14

Why SPLE?

Large-Scale Reuse Less code Less docs

Reduced:

slide-15
SLIDE 15

Why SPLE?

Large-Scale Reuse Less code Less docs

Reduced:

Time to Market

slide-16
SLIDE 16

Why SPLE?

Large-Scale Reuse Less code Less docs

Reduced:

Time to Market

  • Dev. costs
slide-17
SLIDE 17

Why SPLE?

Large-Scale Reuse Less code Less docs

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

slide-18
SLIDE 18

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

slide-19
SLIDE 19

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

Increased:

slide-20
SLIDE 20

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

Increased:

Reliability

slide-21
SLIDE 21

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

Increased:

Reliability Testability

slide-22
SLIDE 22

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

Increased:

Reliability Testability Learnability

slide-23
SLIDE 23

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

Increased:

Reliability Testability Learnability Consistency

slide-24
SLIDE 24

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs

Increased:

Reliability Testability Learnability Usability Consistency

slide-25
SLIDE 25

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs Project risc

Increased:

Reliability Testability Learnability Usability Consistency

slide-26
SLIDE 26

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs Project risc

Increased:

Reliability Testability Learnability Usability Consistency Upfront Investment

slide-27
SLIDE 27

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs Project risc

Increased:

Reliability Testability Learnability Usability Consistency Upfront Investment

P R O J E C T

slide-28
SLIDE 28

Why SPLE?

Large-Scale Reuse Less code Less docs Larger extent proven code

Reduced:

Time to Market

  • Dev. costs

Maintenance costs Project risc

Increased:

Reliability Testability Learnability Usability Consistency Upfront Investment

P R O J E C T P R O D U C T

slide-29
SLIDE 29

Course Structure

Lectures (RF, TG & MI) Support/Feedback sessions (MI & RF mostly) Assignment - Alternative Reuse Methods (RF & MI) Assignment - Industry Case Study (TG mostly) Written exam (RF mostly)

slide-30
SLIDE 30

Examination

3 parts: Assignment Reuse: 6p, individual, 2-3p. IEEE Assignment Industry: 34p, groups of 4, 12-15 p. IEEE Written exam: 60p, Individual Grades:

Point total Cth <50 Fail 50-66 3 67-84 4 85-100 5

Point total ECTS <50 Fail 50-59 E 60-69 D 70-79 C 80-89 B 90-100 A

You need at least 50% points on both exam and assignments!

slide-31
SLIDE 31

Written Exam

Mix of: simpler / fact-based questions, practical, technical questions, and larger, essay-like problem solving / evaluation questions. Based on SPLE book + lecture material Will take place Dec. 16 (afternoon) (see Studieportal)

slide-32
SLIDE 32

Assignment Reuse

State-of-the-art in SW Reuse Research, goals:

See alternatives to SPL Closer connection to academic research Research experience - mini-mini study

Small part of course

But will give input to your large assignment => important that we together do well

slide-33
SLIDE 33

Assignment Reuse - basics

Individual assignment

  • 1. Find 3 research papers (IEEE Xplore, ACM Digital

Library, Google Scholar) on Software Reuse (excl. SPL) all related to specific topic/method/theme

  • 2. Read papers and classify type of research (theoretic/

industry, research method etc)

  • 3. Summarize papers and state-of-the-art for theme
  • 4. Present findings in 5 min presentation on workshop
  • 5. We then create collective overview of SPL alternatives
slide-34
SLIDE 34

Assignment Reuse - deadlines

101103 before 09:00: Email with theme and 3 papers (MI) 101103 10:00: Support session for search & paper reading 101115 09:00: 2-3 page IEEE report with summary etc

slide-35
SLIDE 35

Assignment - Industry Case Study

Industry Case Study, goals:

Practical, real-world SPL experience Closer connection to relevant companies Research experience - mini study

Major part of course

You need to put in lots of effort! Support and feedback from us continuously Companies that commit will want something useful back

slide-36
SLIDE 36

Assignment Industry Case Study - basics

Group assignment - groups of 4 assigned by teachers Format:

IEEE Conference Proceedings template 12-15 pages + Appendix + References >= 15 peer-reviewed references

Submission in 3 steps:

101101 Group info email (Name+email+relevant prev grades) (TG) 101117 Company info email (TG) 101124 Case study design (TG) 110107 Complete assignment report (TG)

slide-37
SLIDE 37

Assignment Industry Case Study - grading

A total of 34 points on assignment:

max 27 points for assignment report, max 5 points for presentation, max 2 points for opposition.

slide-38
SLIDE 38

Assignment ICS - presentation

Present your findings for rest of class + teachers

110114, schedule distributed later

15 min presentation + 15 min questions/discussion

Questions from opponents + teachers

Do’s:

Focus on essential info/findings Audience sees the screen Explain diagrams, figs & graphs

Start with main results, limit yourself!

Dont’s:

Spend time on basic/general info Stand in front of screen Point to computer screen Dense slides with lots of text

slide-39
SLIDE 39

Assignment ICS - SPL Assessment & Improv.

  • 1. Find a product dev company - get them to commit
  • 2. Plan & design case study

BAPO or PLPA as basis for assessment + Reuse alternatives Expand with more questions as you see fit

  • 3. Conduct case study - benchmark current processes

Typically: Interviews + document analysis => state-of-practice

  • 4. Compare state-of-practice to state-of-the-art

As found in Course contents & Peer-reviewed sources

  • 5. Analyze & propose improvements
slide-40
SLIDE 40

Approaching Companies How-to

Find potential companies from press, job offerings, web search, Yellow pages etc Try to find good, logical contact persons via web search Call by telephone - mail does not work If you hit switchboard

Present yourself (Sven Svensson, calling from Chalmers) Best if you have name already, ask for them or ask for logical choice (project manager)

slide-41
SLIDE 41

Approaching Companies How-to 2

Once you reach a person

Introduce yourself: “Hello my name is X X, I’m a student at Chalmers,

can you spare 5 minutes?”

Explain that you are doing a case study where industry input is important. This is a part of a SPLE course (drop our names Dr. Gorschek and Dr. Feldt if you feel it would help make it more official). BEFORE you go into what you need, explain benefit for them

“We are performing a process assessment as a part of the course. The benefit for you is that we will deliver a report to you with our findings which have been quality assured through the course... ALL THINGS ARE TOTALLY anonymous, and your company will be anonymized in our reports... but this should not be a problem as the purpose is to find POSSIBILITIES FOR IMPROVEMENT and this is nothing negative”

slide-42
SLIDE 42

Approaching Companies How-to 3

If everything goes well you will come to what you need.

Start by booking one meeting (say 45min). Then during that meeting (see it as a preparation meeting) you discuss the possibilities for access and what you need. Don’t start your call with "we need 3 interviews and access to process documentation", rather start lightly with a 45 min meeting and go from there. Build confidence during this conversation. At any time you might be interrupted by the person saying that he/she is not the correct person to talk to... then you very nicely ask for a referral (get the persons full name and contact info (tele)). Say thank you and call the new/other person.

slide-43
SLIDE 43

Approaching Companies How-to 4

Now here is the key, when you call the new person, you present yourself and tell that you were referred by X. Start

  • ver.

Prep meeting:

Once you are in this meeting everything is easier Dress nicely (don’t need tie & suite but clean & tidy!) Drop names: “As a part of the SPLE course we are contacting several companies, such as Ericsson, ABB, Volvo etc, to learn from them, and to recommend possibilities for improvement.” If company wants to or have trouble trusting you they can contact us

slide-44
SLIDE 44

Approaching Companies How-to 5

During the meeting

  • ffer to sign a NDA if they want. (Example on course page)

Reassure them again that all results will be anonymized, and if they still are skeptical, offer them to read your report before you are allowed to submit it.

slide-45
SLIDE 45

What we will expect from you

Read books, go to lectures, question/be active Check course home page, read all material “Own” your assignment projects

You have got to drive it! You have got to start early! Now! Read the description in depth! All group members should contribute; we will evaluate this

Follow advise and rules! Ask if anything unclear

slide-46
SLIDE 46

Course home page

For agility we have our own course home page: http://www.cse.chalmers.se/~feldt/courses/sple/ We expect you to check it often! Especially on mornings before course activities

slide-47
SLIDE 47

Books

slide-48
SLIDE 48

Books

slide-49
SLIDE 49

SPLE

Books

slide-50
SLIDE 50

SPLE

Books

slide-51
SLIDE 51

SPLIA SPLE

Books

slide-52
SLIDE 52

SPLIA SPLE Lectures

Books

slide-53
SLIDE 53

SPLIA SPLE Written Exam Lectures

Books

slide-54
SLIDE 54

SPLIA SPLE Written Exam Lectures Assignment

Books

slide-55
SLIDE 55

Lectures - Philosophy

“Book” learning is fine - but direct experience is better Focus on lectures & “book” & paper reading earlier Focus on assignment and “real-world” later

slide-56
SLIDE 56

BAPO - Software Dev Concerns

Business - how to make money from products Architecture - technical means to build sw Process - roles/responsibilities/relationsships in sw dev Organisation - mapping roles to org structures

slide-57
SLIDE 57

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

slide-58
SLIDE 58

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics

slide-59
SLIDE 59

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning

slide-60
SLIDE 60

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy

slide-61
SLIDE 61

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn.

slide-62
SLIDE 62

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles

slide-63
SLIDE 63

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities

slide-64
SLIDE 64

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships

slide-65
SLIDE 65

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People

slide-66
SLIDE 66

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People Structures

slide-67
SLIDE 67

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People Structures 2&3

slide-68
SLIDE 68

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People Structures 2&3 4

slide-69
SLIDE 69

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People Structures 2&3 4 5

slide-70
SLIDE 70

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People Structures 2&3 4 5 6

slide-71
SLIDE 71

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People Structures 2&3 4 5 6 7

slide-72
SLIDE 72

Lectures - Overview (BAPO Model)

Business Organisation Process Architecture

Economics Planning Strategy Techn. Roles Responsibilities Relationships People Structures 2&3 4 5 6 7 8,9 & 10

slide-73
SLIDE 73

L2: Variability & Architecture

Introduction to Variability and Variability Management

Motivation Realising variability - adaptation, replacement & extension

Reference architecture

Creation & Variation points

Architecture concerns Experiences from industry

slide-74
SLIDE 74

L3: Variability, scoping & domain analysis

Concrete variation mechanisms Inheritance, Patching, Compile-time config, Configuration, Code generation, Component replacement, Plug-ins Domain design & realisation Ref Architecture Evolution Experiences from industry

slide-75
SLIDE 75

L4:Processes and SPL

Introduction to Processes Process in Product Line Engineering SPL Engineering framework(s) (Domain and Application Engineering sub-process areas) RE, Analysis&Design, Development, V&V, Project management, Configuration Management Coordination, predictability (planning and resources) Control vs. Agility Experiences from industry

slide-76
SLIDE 76

L5: Processes and Organizational Issues

Process in Product Line Engineering Roles and Responsibilities Organizational Structures (orientation, pros and cons) Product Management (incl. Market-driven product development) Global Product Development Experiences from industry

slide-77
SLIDE 77

L6: SPA/SPI

Introduction to Process Assessment and Improvement Inductive vs. Prescriptive (examples from QIP and CMMI) Measurement (e.g. ROI, GQM) Process Assessment (incl. triangulation) Challenges and experience form industry How to do it... examples (case study relevant) QnA w.r.t. case study assessment

slide-78
SLIDE 78

L7: Business Issues for SPL

Business / Markets / Strategies What is the point? Company and Product Strategies Product Line Economics Product Management and Portfolio Management Tools (GAP , IVA, CVA...) How to create usable strategies Examples from industry...

slide-79
SLIDE 79

L8: Transitioning to SPL

Concerns in deciding to go SPLE

Market drivers, Technical factors

Product Line Potential

Essential, Supporting and Exclusion Criteria

Organisational change in general - SPL change in particular Big bang vs Incremental, Extractive vs Proactive Different transitioning strategies

Lessons learned in industry

slide-80
SLIDE 80

L9: Transitioning, FEF, Domain & App Eng

More on Transitioning to SPLs Evaluating SPL with the FEF (Family Eval Framework) Domain and Application Engineering revisited Extra as needed

slide-81
SLIDE 81

L10: Testing and SPL, Challenges

Testing in SPL

Reusing tests

Challenges with SPL Recent research results (SPLC2008) Extra as needed

slide-82
SLIDE 82

SPL vision shares resemblance with (Ford) Production Lines

Customers want different products => Mass customisation => Common Platforms

slide-83
SLIDE 83

Platform

Platform = any base of technologies on which other technologies or processes are built Examples:

Post-it notes platform for Company Post-Its, Book markers etc Canon DSLR cameras - all based on Digic I/II/III

slide-84
SLIDE 84

Domain and Application Engineering

slide-85
SLIDE 85

Acronyms used

SW = Software SPL = Software Product Line SPLE = SPL Engineering (and course book!) Dev = Development