Top Banner
® IBM Software Group © 2008 IBM Corporation Best practices for component-based asset reuse with Telelogic Synergy and Telelogic Change Syed Raza IBM Rational Product Marketing
29

Ibm Best Practices For Reuse In Software Development With Synergy

Dec 04, 2014

Download

Technology

Bill Duncan

 
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: Ibm   Best Practices For Reuse In Software Development With Synergy

®

IBM Software Group

© 2008 IBM Corporation

Best practices for component-based asset reuse with Telelogic Synergy and Telelogic Change

Syed RazaIBM Rational Product MarketingSyed RazaIBM Rational Product Marketing

Page 2: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

2

Agenda

Why software reuse?

How is software reuse achieved

with component-based development (CBD)?

Where do the Telelogic® Synergy™ and Telelogic Change™ tools help?

What are the best practices and

patterns for CBD? (with customer

examples)

Conclusion and Q&A

2

Page 3: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

3

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

3

Page 4: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

4

Understanding reusability

4

Page 5: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

5

The evolution of reuse: component-based development? Component-based development can provide 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

Potential benefits can be enormous, if done right: Lower costs

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 Reliable Quality of Service (QoS)

5

Page 6: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

6

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 Telelogic Change are designed to help companies meet any of the

above initiatives

6

Page 7: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

7

How does CBD relate to service-oriented architecture (SOA)? Here is an example:

Services: intelligent assemblies of component hierarchies

Component reuse

7

Page 8: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

8

CBD challenges

Balancing long-term reference architecture needs and 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 inherently abstract nature of domain

Designing for replacing proprietary components with standard ones

Managing organizational impediments—design centered, economic and cultural

8

Page 9: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

9

Telelogic Synergy—pattern-based configuration management “Out-of-the-box” and customizable

configuration management (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 rework

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

9

Page 10: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

10

Leading imaging and printing technology conglomerate

Reengineering software reuse and componentization with Telelogic Synergy

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

Accelerated delivery of products

Lower total cost of ownership

Reduced risk of rework and project delays

10

Page 11: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

11

Telelogic Synergy—process definitions

1111

Page 12: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

12

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

12

Page 13: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

13

Telelogic Synergy—more effective CBD through software change and configuration management support Better controlling what component is

published where

Finding the 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

13

Page 14: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

14

Component-based pattern supportStability

Large number of consumers

Speed collaborative workLimited number of

consumers

Business-focused IT-focused

Requirements

Design

Develop

Test

Implement

Definerequirements

Legacyassets

Implementcomponents

Simulate

Build/reviseapplication components

Define UMLprocessmodel

DefineBus. process

model

Testcomponents

BPEL

BPMN XMIActivity diagrams

Classes, shellsand code

Reverse- engineer

Integration scripts

Compliance

Regressionscripts

14

Telelogic Synergy: Process tailoring training detailed presentation available on the sales corner

Page 15: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

15

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 that each have their own release cycle, and have dependencies with other evolving components

Product development projects share components; each project may have the need to modify the components it consumes

A very large project divided into subprojects that can impact any component of the software application and demonstrates management of parallel development streams and their continuous integration

15

Page 16: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

16

Change management and CBD

Supports breakdown of more complex work into smaller units of work and more control over the organization’s development workflow A change request (CR) is related to an

application

The change request can require the modification of several components

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

Use of child CRs to control the change process atthe component level

Telelogic Synergy helps you 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

16

Page 17: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

17

Summary: how Telelogic Synergy can help you meet CBD challenges Best practices for developing components and software reuse

Native support for a layered architectural approach to design and development, which helps promote true business/IT alignment

A good architectural approach coupled with a promotional model for intra- and intercomponent testing

Metadata to help identify characteristics of components as well as dependencies and relationships, including those with associated nonsource artifacts

17

Page 18: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

18

Summary: how Telelogic Synergy can help you meet CBD challenges (continued) A comprehensive task-based change and configuration management (TBCM)

system providing for higher component interaction helps establish a faster, more reliable process between component consumers and developers

The ability to define task properties can enable you to monitor and design asset relationships with extensible, customizable attributes, helping to provide greater definition, conflict resolution, dependency knowledge, functionality propagation, tailored workflow and change management

18

Page 19: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

19

Summary: how Telelogic Synergy can help you meet CBD challenges (continued) In a broader sense, an

asset may be a software component, design pattern, architecture layer, business process, test algorithm, etc. Therefore, its development frame-work should combine with application lifecycle man-agement disciplines such as requirements manage-ment and enterprise architecture to provide a scalable and systematic approach to development, resulting in higher-quality products and faster time to market.

Business domain

Development domain Enterprise and embedded

Analysis and Analysis and designdesign

TestTest

EA and businessEA and business

processprocess

ProductionProduction

Portfolio/productPortfolio/product

managementmanagement

MeasurementMeasurement

ProductProductintegrationsintegrations

Telelogic Telelogic DashboardDashboard™™

Telelogic Telelogic System System

ArchitectArchitect®®

Telelogic Focal Telelogic Focal PointPoint™™

Release mgmt.Release mgmt.

RequirementsRequirements

Telelogic Telelogic DOORSDOORS® ® and and

Telelogic DOORS Telelogic DOORS FastrakFastrak™™

Telelogic Telelogic SynergySynergy

Telelogic TauTelelogic Tau®® and Telelogic and Telelogic RhapsodyRhapsody ® ®

Telelogic Telelogic DOORS/T3 andDOORS/T3 andquality centerquality centerintegrationsintegrations

Telelogic ChangeTelelogic Changeand and

Telelogic SynergyTelelogic Synergy

Configuration Configuration and change and change

mgmt.mgmt.ImplementationImplementation

Telelogic Tau, Telelogic Tau, Telelogic RhapsodyTelelogic Rhapsody

and Eclipse andand Eclipse and.NET integrations.NET integrations

19

Page 20: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

20

For more information

To learn more, please visit:

www.telelogic.com

Learn more about IBM Rational® software at: IBM Rational software IBM Rational Software Delivery Platform Process and portfolio management Change and release management Quality management Architecture management

Rational trial downloads Leading Innovation Web site developerWorks® Rational IBM Rational TV IBM Business Partners IBM Rational Case Studies

20

Page 21: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

21

Copyright information© Copyright IBM Corporation 2008

IBM CorporationSoftware GroupRoute 100Somers, NY 10589U.S.A.

Produced in the United States of AmericaOctober 2008All Rights Reserved

IBM, the IBM logo, ibm.com, Rational, and Telelogic are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at ibm.com/legal/copytrade.shtml

Other company, product, or service names may be trademarks or service marks of others.

References in this publication to IBM products or services do not imply that IBM intends to make them available in all countries in which IBM operates.

The information contained in this document is provided for informational purposes only and provided “as is” without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. Without limiting the foregoing, all statements regarding IBM future direction or intent are subject to change or withdrawal without notice and represent goals and objectives only. Nothing contained in this documentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

IBM customers are responsible for ensuring their own compliance with legal requirements. It is the customer’s sole responsibility to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer's business and any actions the customer may need to take to comply with such laws.

RAP14038-USEN-00

21

Page 22: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

22

Optional slides

22

Page 23: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

23

Examples of 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 that have their own release cycles and have dependencies with other evolving components

Product development projects share components, and each project may have the need to modify the components it consumes

A very large project divided into subprojects that can impact any component of the software application and demonstrates management of parallel development streams and their continuous integration

23

Page 24: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

24

Development of families of products using a shared component repository Context

Often a component is owned by a specific team that controls its evolutions and implements the requirements of the component’s consumer. This approach lacks flexibility when organizations developing families of products need to be more reactive to customer requests.

A component can be modifiedby any product development team.

24

Page 25: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

25

Shared component repository collaborative 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

25

Page 26: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

26

Shared component repository collaborative process (continued) Principles:

No dedicated team for the shared components

No (permanent) component ownership

Component customers that find bugs, need new features or new need 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 and 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?

26

Page 27: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

27

Shared component repository collaborative process (continued)

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

27

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 28: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

28

Internal slides

28

Page 29: Ibm   Best Practices For Reuse In Software Development With Synergy

IBM Software Group | Rational software

29

IBM and reuse/CBD

Software reuse issues and CBD offer a good opportunity for us to sell into a diverse set of customers.

IBM has a mature offering for supporting CBD though its ELM products, notably Telelogic System Architect and Telelogic Tau, Telelogic Rhapsody, Telelogic Synergy and Telelogic Change. We should actively encourage multiproduct opportunities.

Too often customers using CBD methods to develop software systems would not only have SCCM issues.

There will be instances where customers are more interested in methodologies and are seeking a solution for design and deployment.

A good approach in such cases would be to work together with the extended IBM sales teams—a solution sell.

IBM

Con

fiden

tial

29