Top Banner
Florian Georg Solution Architect, IBM Software Software Delivery / devOps / Cloud @florian_georg [email protected] Connecting the dots Development Lifecycle integration with open standards
49

Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Jul 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Florian Georg Solution Architect, IBM Software Software Delivery / devOps / Cloud @florian_georg [email protected]

Connecting the dots Development Lifecycle integration with open standards

Page 2: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Edmonton Vancouver

Victoria

Edinburgh London/Staines Milton Keynes

Hursley Warwick

Haifa Rehovot

Beijing Shang Hai

Xian Yamato

Taipei

Valbonne Paris

Pornichet Toulouse

Beaverton Kirkland Seattle

Almaden Agoura Hills Costa Mesa El Segundo Emeryville Foster City

San Francisco SVL/San Jose

Las Vegas

Rochester Minneapolis Eden Prairie

Chicago Ann Arbor

Dublin Boulder Denver Lenexa Phoenix Tucson Austin Dallas

Houston Irving

Bedford, NH Cambridge

Littleton Marlborough

Waltham Westford

Cork Dublin Galway

Boeblingen Kassel Mainz

Bangalore Gurgaon

Hyderabad Mumbai

Pune

Rome

Gold Coast Sydney

Canberra

Herndon Raleigh

Charlotte Lexington, KY

Atlanta Boca Raton

Tampa

West Perth

Krakow

Sao Paulo

Petaling Jaya

Delft Kista

New York, NY Piscataway Pittsburg

Poughkeepsie Princeton Somers

Southbury Helsinki

El Salto

Hong Kong

Singapore

Bucharest

Kanata London

Markham Ottawa

Moscow

US 10,218 Canada 2,988

Latin America 262 EMEA 4,409 AP 6,394 Japan 276

Total 24,547*

Growth Market 7,092 (29%)

Major Market 17,455 (71%)

81 Acquisitions 91 Labs

1198 products 506 releases / year

92% Growth Since 2001 10,000 resources from

acquisitions # customers - 11, 867

% Efficiencies – 7% YoY

*as of 09/30/2011

Example: IBM Software Group – Agile Transformation at Large

Page 3: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Note: Goals are either internal IBM statistics or industry benchmarks.

Metric Goal 2006 Measurement

2011 Measurement

Maintenance  /  Innova-on     50/50   42%  /  58%   31%  /  69%  

Customer  Touches  /  Product   100   ~10   ~  400  

Customer  Calls   -­‐5%  YoY   ~  135,000   ~86,000  (-­‐14%  since  2010)  

Customer  Defect  Arrivals   -­‐15%  YoY   ~  6,900   ~2200  

On  Time  Delivery   65%   47%   94%  

Defect  Backlog   3  Months   9+  Months   3  months  

Enhancements  Triaged   85%   3%   100%  

Enhancements  into  Release   15%   1%   21%  

Customer  Sat  Index   88%   83%   88%  

Beta  Defects  Fixed  Before  GA   50%   3%   85%  

Cost  of  Poor  Quality   ~  $10,000,000   ~  $5,600,000  (-­‐13%  since  2010)  

IBM Rational – Improvements in Software product delivery

Page 4: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Lifecycle Measurements 2008 2010 2012 – 2013 Total Improvement

Project Initiation 30 days 10 days 2 days 28 days

Groomed Backlog 90 days 45 days On-going 89 days

Overall TTD 120 days 55 days 3 days 117 days

Iteration Length 6 weeks 4 weeks 4 weeks 2 weeks

Number of Iterations 6 8 3 N / A

Composite Build Time 36 hours 12 hours 8 hours 400 %

BVT Availability N / A 18 hours < 1hour 17 hours

Iteration Test Time 5 days 2 days 4 hours 4 days

Total Deployment Time 2 days 8 hours 2 hours 2 days

Overall TTP 9 days 3 days 15 hours 8 days

Time Between Releases 12 Months 12 Months 3 Months 9 Months

https://jazz.net/blog/index.php/2013/07/27/improving-throughput-in-the-deployment-pipeline/

Page 5: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

However …

Page 6: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Example: Lifecycle Tools @ Ericsson

http://open-services.net/resources/presentations/should-i-link-or-should-i-sync/

Page 7: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Change Management

OSLC  

Continuous Delivery

OSLC  

Environment Configuration Management

OSLC  

Continuous Integration

OSLC  

Quality Management

OSLC  

Application Monitoring

OSLC  

Cloud-based Provisioning

OSLC  

Service Simulation

OSLC  

Incident Management

OSLC  

Cloud  

Apply  configura.ons  

Update  configura.ons  for  deployment  

No.fy  change  

No.fy  applica.on  

build  

Provision  pa<ern  

Provision  environment  

No.fy  change  

Execute  tests  Plan  tests  

Create  development  defect   Create  incident  

Monitor  applica.on  

Invoke  services  

Configure  monitoring  agents  

Configure  service  stubs  

Deployment Design

OSLC  

Generate  automa.on  Example: On Premise Delivery

Page 8: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Example: Mobile Quality Assessment

Tester End Users Developer

Over the air build distribution 1 In app bug reporting 2

Crash log reporting

4

In app user feedback 3

LOB/Digital Marketer

Sentiment Analysis 5

Builds

User Feedback Crash logs

Bugs Bugs vs. Crashes

Quality Dashboard with Sentiment Analysis

8

Page 9: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Example: IBM DevOps Services PaaS Delivery on Bluemix

Page 10: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Software Delivery and DevOps

Involves different disciplines, roles and tasks

across heterogeneous tools and repositories

Page 11: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Single Repository Point-to-Point

Universal Metadata Common Platform

Some Tool Integration Approaches

Page 12: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Open Services for Lifecycle Collaboration (OSLC)

@ http://open-services.net

Access all lifecycle data without moving it out of the repositories it was created in

http://oasis-open.org/

Page 13: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Domain Workgroups

Page 14: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Semantic Web and Linked Data

Page 15: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

The data is the thing

Resources and relationships

Tools operate on the data

Tools execute the process

Tools expose their data in a common way (REST)

Page 16: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Lifecycle Tool Change

Management

Lifecycle Tool Quality Management

Lifecycle Tool Requirements Management

Service Management Help Desk

Service Management Deployment

Page 17: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 18: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 19: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 20: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 21: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Example: Implementation of Cross-Discipline Traceability

Page 22: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 23: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 24: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 25: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 26: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 27: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 28: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

OSLC Specification Components

Discovery

Delegated UI for Create and Select

HTTP C.R.U.D. for Resources

Query

UI Previews for Resource

Links

Standard Resource Representations

Page 29: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

OSLC Service Providers (core spec)

Page 30: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

30

Page 31: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Rootservices document

[...]

[...]

curl –-header “OSLC-Core-Version: 2.0” https://jazz.net/sandbox01-ccm/rootservices Spec versioning through HTTP-Headers

Page 32: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

ServiceProviderCatalog

[...]

•  Service Provider <-> “Container” (e.g. one project) •  Catalog lists all available Providers for this

application

Page 33: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Services – Creation Factories

•  ResourceType may be OSLC “core”, or “tool specific” •  Resource Shapes define “understood” properties

Page 34: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Services – Query Capability

OSLC core query spec: http://open-services.net/bin/view/Main/OSLCCoreSpecQuery

Page 35: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Services – Creation / Selection Dailogs

Page 36: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Delegated UI Explained

#1 Click to launch

delegated UI

#2 iframe's src set to

delegated UI's URL

#3 Selection made

#4 OK pressed – sends message (link+label) to parent window

Page 37: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Eclipse Lyo

http://eclipse.org/lyo/

Page 38: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

OSLC4J – JAX-RS based providers

38

Page 39: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

REST Client

Page 40: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Case Study: SPRINT

Page 41: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 42: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 43: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 44: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going
Page 45: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

P2P towards “Hub”

Page 46: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Prototype: EverOpen

Not using Eclipse Lyo

http://bluemix.net https://hub.jazz.net/project/

florian.georg.ch.ibm.com/EverOpen2/overview

Page 47: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Architecture Overview

47

Evernote Cloud Service

Note Store Notebook

Note Tag

Jazz Team Server

Project Area

Work Item (Story, Task, Defect ...)

Developer / Tester

Web Client

Eclipse Rich-Client

OSLC Bridge Selection

Dialog

Creation Dialog Coll.

Req.

implements / is implemented by

(URL link)

Team Member

Web Client

Mobile

Rich-Client

Expose as RDF/XML: Note à OSLC Requirement Tag à OSLC Requirement Collection

call delegated UI (over HTTP)

Page 48: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

48

Page 49: Connecting the dots - Eclipsewiki.eclipse.org/images/5/59/Connecting-the-dots-v2.pdf · Project Initiation 30 days 10 days 2 days 28 days Groomed Backlog 90 days 45 days On-going

Resources

§  http://open-services.net/

§  http://www.oasis-oslc.org/

§  http://wiki.eclipse.org/Lyo

49