large software development at ericsson - wasp...

45
Large Software Development at Ericsson Diarmuid Corcoran: Expert Software Architecture / DURA System & Technology

Upload: phamcong

Post on 31-Jan-2018

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Large Software Development at Ericsson

Diarmuid Corcoran: Expert Software Architecture / DURA System & Technology

Page 2: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 2

• Part 1: Setting the Context

• Part 2: Large Scale Development Practices at Ericsson

• Part 3: Some Tools and Techniques Used to Manage Complexity

• Part 4: Some Research Challenges

overview

Page 3: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 3

WHO AM I?

Worked at Ericsson since 1992. Primarily in

software and system roles.

Worked on all the major radio standards: GSM,

WCDMA,LTE,5G

Hold a position as “Expert in Software

Architecture”

Primarily working on software research activities

to support next generation radio networks.

Page 4: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 4

Leading Communication from the startIm

pa

ct

on

so

cie

ty

First mobile designed

3G

Bluetooth

Smartphone

Mobile video call

4G

Ericsson was founded

1900 1950 2000 202018501800

Morse code Signal lamps

Automatic call switching system

Mobile text and data system

Wide spread

Adaption of mobile

communications

Page 5: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 5

The obligatory Ericsson marketing video

› https://www.youtube.com/watch?v=c0TMimgBdsU

Video: This is Ericsson

Page 6: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 6

Wireless Subscriber growth:

Source: Ericsson Mobility Report Nov 2016

• ~10 Years for a new RAN

technology to become

mainstream

• RAN technology lifespan 20-30

years.

• 40% of all mobile traffic passes

through Ericsson systems.

Page 7: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 7

ERICSSON SYSTEM DOMAIN

GSM WCDMA 5GLTE

MME …..GGSNPDN-GWHLR S-GW

Service X

Service ….

Service A

Service B

Service C

Service Y

Service Z

Serv

ice &

Managem

ent

Co

re

Ne

two

rk

Ra

dio

Acce

ss

Devic

es

Software for system

management and services

HW platforms and software for

core network

Diverse radio access platforms:

HW and software

IPR and standards for system

access

Cloud

Platform

Page 8: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 8

Radio Access NETWORK architecture example

5G (being defined)

• Many system nodes

• Many standardized protocols

Page 9: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 9

Different generations of mobile networks

Technology

Standard

Example

systems

Year of

introduction

Application area Approximat

e maximum

data rate

System

Architecture

1G NMT, AMPS 1980 Voice ~10 kbps Highly

Centralized

2G GSM, PDC 1992 Voice + text 10-400

kbps

Highly

Centralized

3G WCDMA, CDMA

2000

2001 Voice + text + data 2 – 80

Mbps

Medium

Centralised

4G LTE 2009 Capacity 50 – 1000

Mbps

Highly

Distributed

5G RAN in Cloud 2020 - X Capacity

- Industry

-Autonomous

Vehicle

>10,000

Mbps

Flexible-

Centralized/Distri

buted

Page 10: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 10

LTE System Architecture

Evolved Core

Evolved Radio Access

Evolved Node B (base station)

L1

L2L3

Page 11: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 11

SO Where do the “SYStem of system” requirements come from

3gpp

eNB System

System

External Requirement Source

Non-Functional

Technology

Oriented

HW Capability

Customer

Specific

Verification

Driven

Internal Requirement Source

Legal

Compliance

Page 12: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 12

3GPP standards ARE EssentialThe 3rd Generation Partnership Project (3GPP) is a collaboration between groups of telecommunications

associations and has become the de facto standards body for developing worldwide cellular standards.

• ~10,000 pages of standard documents describe the LTE eNB.

• Very difficult to interpret the standards if you are not part of the process.

• Patents from standards compliance is a very important source of income.

Page 13: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 13

Key Technical Software challenges in system implementation

Scaling up/down number of

concurrent instances

Handling software robustness in a

sensible way

Powerful abstractions for handling

concurrency and parallelism

Building portable software that

can live over many HW

generations

Finding and defining good

component interfaces

Run-time frame-works that allow

many languages to integrate

seamlessly.

Good test and observability

strategies.

Keeping up with the technology

curve

Page 14: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

How do we build complex software systems at scale.

Page 15: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 15

THE STORY LINE: LARGE SCALE SOFTWARE DEVELOPMENT

“The Early Days” : Waterfall and “V” Model

Rational Unified Model

Agile, Lean and Scrum

Service Based Model?

1970 1995 2012 2020

Page 16: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 16

• Sequential development process.

• Highly specification focused. Less

focus on software.

• Very little opportunity to re-visit

requirements after entry to design

phase.

• Each group had very limited

interaction. “Talk-Through-Spec”.

• “Big Bang” delivery model. You don’t

find problems until late.

• Super nerve racking from a project

management perspective.

Modified WATERFALL “V” DEVELOPMENT model

Page 17: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 17

• The rational method was a

“framework” that could be applied on-

top of the “V” model.

• Each phase can iteratively

incorporate various disciplines such

as model, test.

• Attempted to make “V” model more

iterative and responsive to

requirements flux.

• Still very engineering focused. But

software is also important.

• Came with a lot of sophisticated tool

support.

• Model driven in our Ericsson version

Rational Unified Process

4+1

Architecture

ModelD

isc

iplin

es

Page 18: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 18

› Lean:

– Eliminate unnecessary artifacts in SW

development process.

– Delivery rapid increments of value.

– Optimize the end-to-end flow of information.

› Agile:

– A reaction to heavy-weight methodologies.

– A set of principals or practices to adhere to.

› Scrum:

– A management framework for handling agile

ways-of-working.

Current: LEAN, AGILE and SCRUM

Page 19: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Move to Agile

Page 20: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 20

Transformation change drivers

Create more value

Reduce leadtime

Build quality in

EMpower people

Page 21: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 21

The Agile Manifesto“We are uncovering better ways of developing

software by doing it and helping others do it.

Through this work we have come to value:”

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

http://agilemanifesto.org/

Page 22: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 22

Traditional Development

• Many information artefact handover points

System

Design

I&V

Team s-1

Team s-2

Team s-n

Team d-1

Team d-2

Team d-n

Team i-1

Team i-2

Team i-n

Feature x

Feature y

Feature x

Feature y

Feature x

Feature y

Page 23: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 23

Agile development› Use Cross Functional Teams (XFT) with end-to-end

responsibility

› Work organized according to Scrum or Kanban

System

Design

I&V

XFT~7 pers.

XFT XFT XFT XFT XFT

Feature x Feature y

...

Page 24: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 24

Agile Way of Working: Roles› Product Owner: ”Keeper of Requirements”

– Keeps track of and prioritizes team’s backlog of Work Items to do

– Is responsible for the value of the work done

› Scrum / Kanban Master: ”Part-Time Team/Project Lead”

– Facilitates the daily scrum / kanban and other meetings for the XFT

› XFT members: ”Implementation Task Force”

– Responsible for delivering good quality code and documentation

– Strive for a broad competence regarding both overall system knowledge and

different disciplines (system, design and test)

– Responsible for the code of the whole product

› Product Guardian: ”Minimize Technical Debt”

– Secures that product architecture doesn’t deteriorate over time

– Coaches teams in his/her area of expertise

› Line Manager: ”Vacation, Sick-leave, Salary”

– Organization & staff handling

– Team coaching

Page 25: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 25

Typical Cross-functional team (XFT)

• 1 Scrum / Kanban master

(part time)

• 1 System competence

(short supply)

• 4 SW developers

• 1 – 2 testers

• Test equipment

Page 26: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 26

Sprint

› Planning horizon: One Sprint

– Team commitment only valid for ongoing Sprint

› Regular meetings in a Sprint

– Daily Scrum

– Sprint planning

– Backlog handling

– Sprint Review / Demo

– Sprint retrospective

weeks

Page 27: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 27

XFT’s organized in programsTeam 1

Team 2

Team n

Project A

Project B

This is in contrast to the projects we used to runS

yste

m

De

sig

n

I&V

Syste

m

De

sig

n

I&V

Feat.

Page 28: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 28

SCAILING UP ”OUT-of-the-BOX” Agile is a massive challenge

Number of teams

Size of products

Typical PDU’s@Ericsson

Smaller number of teams Large number of teams

Size of code is smaller

Huge code sizes

Page 29: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 29

Scaling of the Product Owner (PO) Role

Total PO

(TPO)

Requirement

Area PO

(APO)…

1 m

Operative PO

(OPO)

1 n

XFT XFT

1 k

TPO Prioritizes between

Requirement Areas

TPO defines no of XFTs

per Requirement Area

APO prioritizes features in

its Requirement Area

OPO prioritizes “Work

Items” within its allocated

features

Page 30: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 30

Backlogs at different levels

APO

• Backlog of Features

OPO

• Backlog of Work Items

XFT

• Backlog of Work Item

Page 31: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 31

XFT TEAM COMPETENCES

System Area A

System Area B

System Area Z

……….

Java

Integration

Test

C++

Erlang

XFT 1

XFT 2

XFT N

Option 1:• Allow the teams to be

completely generic.

• Any XFT can implement any

feature.

• The XFT move freely through

the system doing what is

needed to implement a feature

• Specialization disappears.

Option 2:• XFT can only operate within a

system area zone.

• Specialization keep within the

active area.

What skills does and

XFT need?

Page 32: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 32

› Software and system architectures

need to be specifically designed with

agile in mind.

› Less tight cohesion which tend to be

common in embedded systems.

› More “micro-service” based

architectures that allow component

decoupling.

› System and software architectures

tend to damage when subjected to

long term agile XFT’s

› Technical debt tends to accumulate.

› Product Guardian role tends to be be

weak in the face of a [T,A,O]PO

pushing feature velocity.

AGILE and LEAN ARCHITECTURES

Page 33: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 33

KEY FACTOR: Continuous Integration

Release

System

Design

SW

DesignTest

Quality

Early

Phase

Rel.

Valid.

Quality

Continuous Legacy TestHourly cycle Weekly cycleDaily cycle Sprint cycle

Product Development by XFTs

S D T S D T S D T S D TS D T

Continuous Integration

Release

Before CI

With CISlow feedback

Fast feedback

& constantly

high quality

Constantly high quality

Page 34: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 34

› Very strong test focus. XFT’s tend to

use a test-driven development

approach.

› Empowerment: Teams seem to really

enjoy the feeling of being in charge of

their backlog.

› Some groups show significant

productivity (37%) and quality

increase. Measured by McKinsey.

› Very strong XFT dynamics. Teams

form very tight social groups.

› Much better relationship between

requirements source and

implementation of these.

AGILE: KEY positive aspects

Page 35: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 35

› Breaking teams up and re-deploying

members can be difficult.

› Agile in the large can have a lot of

management like roles. And few

“doers”.

› Some areas show a decrease in

productivity and feature velocity.

› Long term impact on architecture and

technical debt.

› Competence and specialized skill

erosion.

› We might have gone a bit too far with

“the code is the documentation”

concept.

AGILE: KEY negative aspects

Page 36: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 36

Design Tools to Aid in Large Scale System

Development

Page 37: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 37

› Many views to capture various

system aspects.

– Requirements

– System Architecture

– Design Implementation

– System Deployment

– Detailed Algorithms

– Test and Verification

› Many flavors suited to specialized

systems domains

UML as A system design TECHNIQUE FOR MODEL DRIVEN DEVELOPMENT (MDD)

UML: Unified Modeling Language

Page 38: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 38

MODEL DRIVEN DEVELOPMENT

› We build complex systems with lots of

dependencies.

› Complexity has a technological

aspects and a human aspect.

› MDD is a tool to help fight this

complexity

Page 39: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 39

MODEL BASED SYSTEM ENGINEERING – WUM (WCDMA UNIFIED MODELLING)

MDD systems approach using a

process called “MBSE” (Model Based

System Engineering).

Move from highly document driven

process to repository “single source of

information” approach.

Objective: Significant reduction in

specifications faults.

UML-RT based with UML2 + SysML like extensions.

Page 40: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 40

SOFTWARE DESIGN AND IMPLEMENTATION USING MDD WITH UML-RT

Objective: Battle design implementation

complexity using a subset of UML called UML-

RT.

Capsule and state-machine abstractions

provide very powerful abstractions for dealing

with reactive embedded systems.

C++ action language. Run-time system

abstraction to hide the underlying platform.

Page 41: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 41

Research Challenges in Large Scale

Software Development

Page 42: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 42

CHALLENGE #1 : AUTONOMOUS CONFIURATION of SYSTEMS

Data Sense Layer

Data Sense Layer

Data Sense Layer

Au

ton

om

ou

s C

on

tro

l

Reo

rgan

ise

to O

pti

mis

e

Dat

a Sy

nth

esis

• Autonomous communication systems

• Deriving optimal operation based on

massive data awareness.

• Challenge:

• New architectures

• Modelling these system.

Understanding emergent behaviour.

Page 43: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 43

• Much focus on new data driven

architectures.

• New machine learning technologies make

unravelling complex relationships in data

feasible.

• This leads to new insights and

possibilities.

• Challenge: How can we use model driven

approaches to empower data driven

architectures.

CHALLENGE #2 : MACHINE LEARNING and DATA DRIVEN ARCHITECTURES

Modelli

ng H

idden R

ela

tionship

s

Streamed Data

New Insights

Page 44: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software

Public | © Ericsson AB 2017 | 2016-09-05 | Page 44

Q&A

Page 45: Large Software Development at Ericsson - wasp …wasp-sweden.org/.../02/...Development-at-Ericsson.pdf · Large Software Development at Ericsson Diarmuid Corcoran: Expert Software