® 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
Dec 04, 2014
®
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
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
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
IBM Software Group | Rational software
4
Understanding reusability
4
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
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
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
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
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
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
IBM Software Group | Rational software
11
Telelogic Synergy—process definitions
1111
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
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
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
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
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
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
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
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
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
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
IBM Software Group | Rational software
22
Optional slides
22
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
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
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
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
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
IBM Software Group | Rational software
28
Internal slides
28
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