Ibm   Best Practices For Reuse In Software Development With Synergy
Upcoming SlideShare
Loading in...5
×
 

Ibm Best Practices For Reuse In Software Development With Synergy

on

  • 2,909 views

 

Statistics

Views

Total Views
2,909
Views on SlideShare
2,897
Embed Views
12

Actions

Likes
2
Downloads
89
Comments
0

2 Embeds 12

http://www.slideshare.net 10
http://www.techgig.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Ibm   Best Practices For Reuse In Software Development With Synergy Ibm Best Practices For Reuse In Software Development With Synergy Presentation Transcript

  • Best practices for component-based asset reuse with Telelogic Synergy and Telelogic Change Syed Raza IBM Rational Product Marketing
  • 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
  • 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
  • Understanding reusability
  • 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)
  • 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
  • How does CBD relate to service-oriented architecture (SOA)? Here is an example: Services: intelligent assemblies of component hierarchies Component reuse
  • 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
  • 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
  • Leading imaging and printing technology conglomerate Reengineering software reuse and componentization with Telelogic Synergy Business challenge
    • Organizational transformation
    • Needed to evolve CBD approach and methodology in order to optimize cost and time-to-market capabilities
    • Business partner communication
    Customer 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
  • Telelogic Synergy—process definitions
  • 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
  • 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
  • Component-based pattern support Telelogic Synergy: Process tailoring training detailed presentation available on the sales corner Stability Large number of consumers Speed collaborative work Limited number of consumers Business-focused IT-focused Requirements Design Develop Test Implement Define requirements Legacy assets Implement components Simulate Build/revise application components Define UML process model Define Bus. process model Test components BPEL BPMN XMI Activity diagrams Classes, shells and code Reverse- engineer Integration scripts Compliance Regression scripts
  • 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
  • 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
  • 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
  • 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
  • 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 design Test EA and business process Production Portfolio/product management Measurement Product integrations Telelogic Dashboard ™ Telelogic System Architect ® Telelogic Focal Point ™ Release mgmt. Requirements Telelogic DOORS ® and Telelogic DOORS Fastrak ™ Telelogic Synergy Telelogic Tau ® and Telelogic Rhapsody ® Telelogic DOORS/T3 and quality center integrations Telelogic Change and Telelogic Synergy Configuration and change mgmt. Implementation Telelogic Tau, Telelogic Rhapsody and Eclipse and .NET integrations
  • 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
  • Copyright information
    • © Copyright IBM Corporation 2008
    • IBM Corporation Software Group Route 100 Somers, NY 10589 U.S.A.
    • Produced in the United States of America October 2008 All 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
  • Optional slides
  • 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
  • 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 modified by any product development team.
  • 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
  • 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?
  • 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
    B V1.0 B V1.1 B xx Committer A Consumer B B V1.2 B yy B V1.3 Consumer A Committer B
  • Internal slides
  • 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 Confidential