synergy sales software reuse with cbd

29
® IBM Software Group © 2008 IBM Corporation Best Practices for Component-based Asset Reuse With Synergy and Change

Upload: bill-duncan

Post on 04-Dec-2014

1.718 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Synergy Sales Software Reuse With Cbd

®

IBM Software Group

© 2008 IBM Corporation

Best Practices for Component-based Asset ReuseWithSynergy and Change

Page 2: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Why Software Reuse?

How is Software Reuse achieved

with Component-based Development?

Where do Synergy and Change help?

What are the Best Practices and

Patterns for CBD? (with customer

examples)

Conclusion and Q&A

Agenda

Page 3: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Software Reuse - background• Reuse yields software Economies of Scale

• Goal is to increase the productivity, quality, and time-to-market in software development thanks to the deployment of both standard componentry and production automation

• Concept of Reuse is not new – approaches to achieving it keep evolving

Page 4: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Source: Software Architecture in Practice – Len Bass, Paul Clements, Rick Kazman

Nu

mb

er

of

mo

bil

e p

ho

ne

mo

de

ls

time

0

5

10

15

20

25

30

35

Standard Development PracticesReusability driven Engineering

Nokia is able to produce 25-35

phone models per year

(instead of 4-6) because of

Reusability Engineering practices

Page 5: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

400%

200%

100%

Motorola observed 400% productivity improvements in a family of one-way

pagers

Motorola CBSE sphere

Source: Software Architecture in Practice – Len Bass, Paul Clements, Rick Kazman

Page 6: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Reuse benefits in action . . . contd.

The US National Reconnaissance Office required 10% less development resources and reported 90% fewer defects with a family of Satellite Ground Control Systems

HP reported a time-to-market reduction by a factor of 7 and a productivity increase of a factor of 6 in a family of printers

Cummins - Reduced the time it takes to produce software for a Diesel engine from 12 months to about 2 weeks

Page 7: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Understanding Reusability

Page 8: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

The evolution of Reuse: Component Based Development?

Component Based Development (CBD) provides a more powerful and easier-to-use level of reuse than earlier approaches

Began formally in 1968; became mainstream in the 1980s

Lets you manage complexity in a versatile fashion

Benefits are enormous, if done right: Lower cost

The components start to become more valuable over time

Agility in practice and responsiveness

Quality - risk mitigation, trust

Reduced time-to-market (reduced testing times, faster implementation, distributed development, etc)

Higher ROI through shorter delivery cycle times

More reliable software

Reduced maintenance costs

Guaranteed QOS

Page 9: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Component-based Development scope Simplification

Removing one or more steps from an unnecessarily complicated process, or reducing unnecessary variety in the process.

Integration Joining two or more previously unconnected or uncoordinated processes into

a larger coordinated process

Transformation Creating a radically new process

Telelogic Synergy and Change can help you meet any of the above initiatives

Page 10: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

How does CBD relate to SOA?

Services: Intelligent assemblies of components hierarchies

Component Reuse

73% of CIOs see SOA as a business strategy for greater agility

47% use SOA for “strategic business transformation”

SOA-based applications will double in 2 years – how do you control Business Risk?

Source: IDC's Software Developer Network Survey, 2007

Page 11: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

CBD Challenges

Balancing long-term reference architecture needs vs short-term development progress

Managing system evolution - frequency and Impact : Requirements, Lifecycles, Regulations, Technologies, Tools, Languages and Methodologies

Arriving at Component Granularity for system[s] under development

Managing Versions, Upgrades, Configurations, Platforms, and Dependencies

Balancing Testing and Quality Assurance with complex Release and Maintenance cycles

Modeling real-world scenarios through the inherent abstract nature of domain

Designing for replacing proprietary components with Standard ones

Managing Organizational impediments – design-centered, economic and cultural

"Reusing other people's code would prove that I don't care about my work. I would no more reuse code than Ernest Hemingway would use other writer’s paragraphs”

Software Engineer, Apple Corp

Page 12: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Telelogic Synergy – Pattern-based Configuration Management

Out of the box and customizable CM workflows Generalize best development practices

across the organization

Task Based CM Configuration consistency

Project understanding and visibility

Status reports and audits

Roll-back and re-work

Fully integrated with Telelogic Change Change Request Based CM

Insulated Development

Collaborative Development

Integration Testing System Testing

assigned or completed tasks for OWNER for release RELEASE

all completed tasks for release RELEASE

System Testing Baseline

Latest Baseline

Other Purposes are available

all system testing tasks for release RELEASE

Integration Testing Baseline

all completed tasks for release RELEASE for collaborative projects

Page 13: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Leading Imaging and Printing Technology Conglomerate - Oce

Business ChallengeBusiness Challenge

Organizational transformation

Needed to evolve CBD approach and methodology in order to optimize cost and time-to-market capabilities.

Business Partner communication

Customer SuccessCustomer Success

Enhanced team communication and collaboration

Master Component Repository

Standard, automated patterns for linking partner ecosystem

More responsive organization

“Using Telelogic Synergy and Change,

implementing our vision of the software

reuse paradigm was much faster even

with very limited resources.”

Accelerated delivery of products

Reengineering Software Reuse and Componentization with Telelogic Synergy

Lower Total Cost of Ownership

Reduced risk of rework and project delays

Page 14: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Synergy: Process definitions

14

Page 15: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

E.g. Built-in Processes and creating your own

See the URL for the manually created diagram.

Select purposes for the release.

Select which process rule should be used for the available purposes.

Note: You can have multiple process rules for each purpose.

15

Page 16: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Telelogic Synergy - Effective CBD through SCCM support

Controlling exactly what component is published where

Finding all consumers of a given component

Customization of source components and integrating these changes into source component releases

Identification of published vs. internal components

Establishing Reuse mechanisms

Monitoring feature interaction and testing prior to production build

Managing the process of component sharing

Page 17: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Component-based Patterns supportStability

Large number of consumers

SpeedCollaborative WorkLimited number of

consumersSynergy: Process Tailoring trainingDetailed Presentation available on the sales cornerBusiness Focused IT Focused

Requirements

Design

Develop

Test

Implement

DefineRequirements

LegacyAssets

ImplementComponents

Simulate

Build/ReviseApplication Components

Define UMLProcessModel

DefineBus. Process

Model

TestComponents

BPEL

BPMN XMI

Activity Diagrams

Classes,Shells,& Code

Reverse Engineer

IntegrationScripts

Compliance

RegressionScripts

Primary: Controlled Update

Primary: Incremental Update from published

baselines

Primary: Incremental Update

Variation: Incremental Update with active

development of subcomponents

Page 18: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Example CBD Best Practices at customer sites

A large application composed of many components is developed iteratively and rapidly with all components on the same release cycle.

A large application integrating components having their own release cycle, and having dependencies with other evolving components.

Products development projects share components, each project may have the need to modify the components they consume.

A very large project divided in sub-projects that can impact any component of the software application and demonstrates management of parallel development streams and their continuous integration.

Page 19: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Change Management and CBD

Enables breakdown of more complex work into smaller units of work and more control over the organizations development work flow.

A Change request is related to an application

The Change request can require modifying several components.

Each component can be maintained by a different team in a different location.

=> Use of Child CRs to control the change process at the component level

Synergy allows to control which CRs belong to a specific Build

CR 225

Parent

modifiable

in Application modifiable

in component 1

modifiable

in component 2

CR 226

Child

CR 227

Child

Location 2

Location 1

Page 20: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Summary: How Synergy lets you meet CBD challenges

Best Practices for Developing Components and Software Reuse

Native support for a layered architectural approach to design and development thereby promoting true business alignment

A good architectural approach coupled with a promotional model for intra- and inter-component testing,

Metadata to identify characteristics of components as well as dependencies and relationships, including those with associated non-source artifacts

Page 21: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Summary: How Synergy lets you meet CBD challenges

An end-to-end Task-based Change and Configuration Management system (TBCM) providing for higher component interaction thereby establishing a fast, reliable process between component consumers and developers.

Tasks properties allowing you to monitor and design asset relationships with extensible, customizable attributes, thus providing for greater definition, conflict resolution, dependency knowledge, functionality propagation, tailored workflow and change management

Page 22: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Summary: How Synergy lets you meet CBD challenges

Business DomainDevelopment Domain

Enterprise & Embedded

Release MgmtRelease Mgmt

EA and BusinessEA and Business

ProcessProcess

ProductionProduction

Portfolio/ProductPortfolio/Product

ManagementManagement

MeasurementMeasurement

RequirementsRequirements

Analysis & Analysis & DesignDesign

TestTest

Telelogic Telelogic IntegrationsIntegrations

Telelogic Telelogic DashboardDashboard

System ArchitectSystem Architect

Focal PointFocal Point

DOORS Fastrak & DOORS Fastrak & DOORSDOORS

Telelogic Telelogic SynergySynergy

Tau &Tau &RhapsodyRhapsody

DOORS/T3 &DOORS/T3 &Quality CenterQuality CenterIntegrationsIntegrations

Telelogic Change &Telelogic Change &Telelogic SynergyTelelogic Synergy

Configuration & Configuration & Change MgmtChange Mgmt ImplementationImplementation

Tau, Rhapsody &Tau, Rhapsody &Eclipse & .Net Eclipse & .Net

IntegrationsIntegrations

In a broader sense, an asset maybe a software component, a design pattern, an architecture layer, a business process, a test algorithm, etc. Its development framework should therefore combine with Application Lifecycle Management disciplines such as Requirements Management, Enterprise Architecture, etc to provide a scalable and systematic approach to development, resulting in higher quality products and faster time-to-market.

Page 23: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Optional Slides

Page 24: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Example CBD Best Practices at customer sites

A large application composed of many components is developed iteratively and rapidly with all components on the same release cycle.

A large application integrating components having their own release cycle, and having dependencies with other evolving components.

Products development projects share components, each project may have the need to modify the components they consume.

A very large project divided in sub-projects that can impact any component of the software application and demonstrates management of parallel development streams and their continuous integration.

Page 25: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Development of Families of Products using a Shared Component Repository

Context Often a component is owned by a specific team, which controls its evolutions and

implements the requirements of the components consumer. This approach lacks flexibility when organizations developing families of products need to be more reactive to customer requests.

A component can be modified by any product development team

Page 26: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Shared Component RepositoryCollaborative Process

When should this approach be used?

The Organization is developing product families that share a common set of components,

There are independent projects that reuse and possibly require modifications on shared components,

It is not possible for a central team maintaining the shared components to cope with the change and adaptation requests,

There is a strong focus on project execution, shared components must not get in the way of delivering the projects,

The organization is open to new development techniques such as those established in the Open Source community, and accept coordination of shared components changes,

Page 27: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Shared Component RepositoryCollaborative Process (2)

Principles: No dedicated team for the shared components,

No (permanent) component ownership,

Component Customers that find bugs, need new features, new components, become contributors to the Consumed Components,

When changes to a component are performed and verified they are published on the repository, so they become available for the other projects.

An Architecture Board composed of the architects from the various customers & contributors defines and updates the roadmap for the shared component: What is / What should / What will be in the repository

What is required for components / Who will use them

Page 28: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Shared Component RepositoryCollaborative Process (3)

An Executive Board decides which project can modify a component and helps avoid unnecessary parallel modifications: Explicit separation between component interfaces and implementation

Permission to fix the implementation does not give the right to modify the interface

B V1.0 B V1.1

B xx Committer A

Consumer B

B V1.2

B yy

B V1.3

Consumer A

Committer B

Page 29: Synergy Sales Software Reuse With Cbd

IBM Software Group | Rational software

Delco Electronics Systems

Business Challenge: (Automotive)

Software quality is critical, standards drive development (Six Sigma, etc.)

Compressed product cycles

Component development and reuse

Customer Success:

World’s largest vehicle electronics and components company; supplies electronic systems and transportation component systems for mobile applications.

12 development sites with 200 to 300 different programs being developed simultaneously

SYNERGY’s task-based and project-oriented paradigm offers built-in support for component reuse, enabling Delphi to reduce development time and costs

“We’re trying to go to shrink-wrapped component reuse. We realize the strategic significance of being able to reuse components and reduce development time.”

Todd Alden, Senior Software Strategist, Software Process Group