How Software Engineering Can Benefit from Traditional Industries Practical Experience Report ICSE 2012 Software Engineering in Practice Track

28 

Loading....

Loading....

Loading....

Loading....

Loading....

Full text

(1)

How Software Engineering Can

Benefit from Traditional Industries –

Practical Experience Report

ICSE 2012 – Software Engineering in Practice Track

Dr. Tom Sprenger

CIO

(2)
(3)

Agenda

Brief company presentation

Industrial manufacturing

Mapping of key elements

Pillars of software industrialization

(4)

AdNovum – Swiss Engineering Quality

Core Competence: High-End Security & Software Engineering

Est. 1988 – privately owned

joint-stock company

Zurich (HQ), Bern, Budapest

(Hungary), Singapore

275 employees, 70% graduate

(5)

Customers and Industry Focus

Finance Government

Logistics / Industry •  EFD/BIT

•  EVD/BLW

•  Canton Zurich Tax Authorities •  Canton Zurich Building Management

•  EJPD/BFM

•  UVEK/BAKOM

Insurance

(6)

History of Industrial Manufacturing

(7)

Characteristics of Industrial Manufacturing

Automation

Mechanization / Technologization

Division of Work

Structuring / System Formation

Standardization

Interchangeability of Products/Parts

Measuring and Control

Primary Goals

Continuous predictable production of goods with defined quality

Continuous optimization of costs

Broad consistency with Software Engineering requirements

(8)

Mapping of Manufacturing Key Elements

Analogy: Car assembly line

Industrial Manufacturing Software Engineering

Manufacturing process  Software engineering process

Component supplier selection  Technology management

Supply chain management  Dependency management

Subassemblies / Components  Software repository

Assembly line with quality gates  Automatic build & test

(9)
(10)

Software Engineering Process

Process Models

Waterfall, V-Model, RUP, Spiral,

Iterative, Agile, etc.

Formal Methods

B-Method, Automated theorem

proving, RAISE, VDM, etc.

Process Key Elements

Definition of phases

  Involved roles

  Tasks

  Deliverables

  Checkpoints / quality gates

Common-sense and widely established – at least on paper

(11)

Technology Management

Organisation on 3 Levels   Strategic   Tactical   Operational Managed Process

  Driven by expert group

  “Technology Investigation” Purpose

  Efficient and controlled use of

innovative technology

  Organize the technology landscape

  Knowledge Management

  Cost control

(12)

Technology Management

(13)

13

Dependency

Management

Project Dependencies   Fully qualified   Declarative only Application Web   Visualize dependencies

  Transitive dependencies analytics Purposes

  Know which technologies are in use

  Investigate critical project dependencies

  Reliably identify projects affected by e.g.

a critical security issue in another component

  Gather information about

 software versions in use

(14)

Software Repositories

Artifact Types

  Software components, Tools, etc. Established Standards

  Maven Repository, Nexus, etc. Key Requirements

  Nonambiguous name space

  Strongly managed

  Fully versioned

  Lifecycle meta information Purpose

  Provide software components from a

managed single source

  Central place to company-wide

approve or deprecate components/ component versions

(15)

Automatic Build & Test

Preconditions

  Script-based execution (no user interaction required)

  Make consistent use of versioning

  Source code

  Third-party components

  Standardized project contract

  Defined set of and mandatory build targets (e.g. clear, init, build, dist, test)

  Self-contained project setup Challenge for Testing

  Define clear and reasonable quality and testing goals

  Provide test results in a structured manner Purpose

  Reproducible and predictable build and test results

(16)

Quality & Progress Measuring System

Goal

  Collect data for quality and progress indication

  Provide bases of decision-making for

  Operative decisions within project

  Optimization cycles

Data Requirements

  Automatically collected on at regular intervals

  Structured

  Non-interpreted or rated Two main types

  Process centric data

(17)

Quality & Progress Measuring System

(18)

Process measuring: Optimize efficiency, improve results, minimize risks

(19)

Quality & Progress Measuring System

(20)

Quality & Progress Measuring System

(21)

Quality & Progress Measuring System

(22)

Quality & Progress Measuring System

Product measuring: statistics, fault analysis, performance feedback

(23)

Quality & Progress Measuring System

Product measuring: statistics, fault analysis, performance feedback

  In analogy to the "Analysis Circuits on a Chip” we propose using special type

of tracing as an "embedded measuring system" in software systems

Advantages

  No additional tools are required to collect the data

  Measuring system is part of the software and therefore available from

development to production

  Because the system is part of the software, application-specific context

information can also be taken into account or measured

  System behavior can be tracked instantaneously, or it can be analyzed

(24)

Quality & Progress Measuring System

(25)

Quality & Progress Measuring System

a.1 p.1 p.2 p.3 e.1 e.2 e.3 e.4 e.5

Access Presentation EJB

Methodname Number of Calls Method Time [ms] Cumulative Time [ms] a.1 4 42 85’202 p.3 9 3’684 29’816 p.1 4 528 55’309 e.4 9 25’967 25’967 e.1 340 51’203 51’203 e.2 17 1’865 1’865 ... slow fast C umu la tive T ime 4 9 340 9 17 4

(26)

Conclusions

How to Achieve Industrialization?

  Learn from the best and try to adopt

  Establish key building blocks and key concepts in your software engineering

process derived from industrial manufacturing

  Establish measuring points to achieve structured output

  Set up continuous measuring environment

  Include measuring infrastructure into products/solutions

  Decide about improvement measures based on the output of the established

measuring system

Achievements at AdNovum

  Achieved a drastic improvement in

  predictability of results

  fault prevention

(27)
(28)

AdNovum Informatik AG

Dr. Tom Sprenger, CIO

Röntgenstrasse 22, 8005 Zürich

tom.sprenger@adnovum.ch, www.adnovum.ch

T +41 44 272 6111

Figure

Updating...

References

Updating...

Related subjects :