Your SlideShare is downloading. ×
0
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Synergy Sales Software Reuse With Cbd
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Synergy Sales Software Reuse With Cbd

931

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
931
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
46
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Standard template for internal and external Rational presentations. If internal presentations are confidential, please add: “IBM Confidential” to the slide masters. Select: View / Master / Slide Master and add “IBM Confidential”
  • Transcript

    • 1. Best Practices for Component-based Asset Reuse With Synergy and Change
    • 2. <ul><li>Why Software Reuse? </li></ul><ul><li>How is Software Reuse achieved </li></ul><ul><li>with Component-based Development? </li></ul><ul><li>Where do Synergy and Change help? </li></ul><ul><li>What are the Best Practices and </li></ul><ul><li>Patterns for CBD? (with customer </li></ul><ul><li>examples) </li></ul><ul><li>Conclusion and Q&A </li></ul>Agenda
    • 3. Software Reuse - background <ul><li>Reuse yields software Economies of Scale </li></ul><ul><li>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 </li></ul><ul><li>Concept of Reuse is not new – approaches to achieving it keep evolving </li></ul>
    • 4. Source: Software Architecture in Practice – Len Bass, Paul Clements, Rick Kazman 0 5 10 15 20 25 30 35 Standard Development Practices Reusability driven Engineering Nokia is able to produce 25-35 phone models per year (instead of 4-6) because of Reusability Engineering practices Number of mobile phone models time
    • 5. 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 400% 200% 100%
    • 6. Reuse benefits in action . . . contd. <ul><li>The US National Reconnaissance Office required 10% less development resources and reported 90% fewer defects with a family of Satellite Ground Control Systems </li></ul><ul><li>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 </li></ul><ul><li>Cummins - Reduced the time it takes to produce software for a Diesel engine from 12 months to about 2 weeks </li></ul>
    • 7. Understanding Reusability
    • 8. The evolution of Reuse: Component Based Development? <ul><li>Component Based Development (CBD) provides a more powerful and easier-to-use level of reuse than earlier approaches </li></ul><ul><ul><li>Began formally in 1968; became mainstream in the 1980s </li></ul></ul><ul><ul><li>Lets you manage complexity in a versatile fashion </li></ul></ul><ul><li>Benefits are enormous, if done right: </li></ul><ul><ul><li>Lower cost </li></ul></ul><ul><ul><ul><li>The components start to become more valuable over time </li></ul></ul></ul><ul><ul><ul><li>Agility in practice and responsiveness </li></ul></ul></ul><ul><ul><li>Quality - risk mitigation, trust </li></ul></ul><ul><ul><li>Reduced time-to-market (reduced testing times, faster implementation, distributed development, etc) </li></ul></ul><ul><ul><li>Higher ROI through shorter delivery cycle times </li></ul></ul><ul><ul><li>More reliable software </li></ul></ul><ul><ul><li>Reduced maintenance costs </li></ul></ul><ul><ul><li>Guaranteed QOS </li></ul></ul>
    • 9. Component-based Development scope <ul><li>Simplification </li></ul><ul><ul><li>Removing one or more steps from an unnecessarily complicated process, or reducing unnecessary variety in the process. </li></ul></ul><ul><li>Integration </li></ul><ul><ul><li>Joining two or more previously unconnected or uncoordinated processes into a larger coordinated process </li></ul></ul><ul><li>Transformation </li></ul><ul><ul><li>Creating a radically new process </li></ul></ul><ul><ul><li>Telelogic Synergy and Change can help you meet any of the above initiatives </li></ul></ul>
    • 10. 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
    • 11. CBD Challenges <ul><li>Balancing long-term reference architecture needs vs short-term development progress </li></ul><ul><li>Managing system evolution - frequency and Impact : Requirements, Lifecycles, Regulations, Technologies, Tools, Languages and Methodologies </li></ul><ul><li>Arriving at Component Granularity for system[s] under development </li></ul><ul><li>Managing Versions, Upgrades, Configurations, Platforms, and Dependencies </li></ul><ul><li>Balancing Testing and Quality Assurance with complex Release and Maintenance cycles </li></ul><ul><li>Modeling real-world scenarios through the inherent abstract nature of domain </li></ul><ul><li>Designing for replacing proprietary components with Standard ones </li></ul><ul><li>Managing Organizational impediments – design-centered, economic and cultural </li></ul>&quot;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
    • 12. Telelogic Synergy – Pattern-based Configuration Management <ul><li>Out of the box and customizable CM workflows </li></ul><ul><ul><li>Generalize best development practices across the organization </li></ul></ul><ul><li>Task Based CM </li></ul><ul><ul><li>Configuration consistency </li></ul></ul><ul><ul><li>Project understanding and visibility </li></ul></ul><ul><ul><li>Status reports and audits </li></ul></ul><ul><ul><li>Roll-back and re-work </li></ul></ul><ul><li>Fully integrated with Telelogic Change </li></ul><ul><ul><li>Change Request Based CM </li></ul></ul>
    • 13. Leading Imaging and Printing Technology Conglomerate - Oce “ 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 Business Challenge <ul><li>Organizational transformation </li></ul><ul><li>Needed to evolve CBD approach and methodology in order to optimize cost and time-to-market capabilities. </li></ul><ul><li>Business Partner communication </li></ul>Customer Success <ul><li>Enhanced team communication and collaboration </li></ul><ul><li>Master Component Repository </li></ul><ul><li>Standard, automated patterns for linking partner ecosystem </li></ul><ul><li>More responsive organization </li></ul>
    • 14. Synergy: Process definitions
    • 15. E.g. Built-in Processes and creating your own <ul><li>See the URL for the manually created diagram. </li></ul><ul><li>Select purposes for the release. </li></ul><ul><li>Select which process rule should be used for the available purposes. </li></ul><ul><li>Note: You can have multiple process rules for each purpose. </li></ul>
    • 16. Telelogic Synergy - Effective CBD through SCCM support <ul><li>Controlling exactly what component is published where </li></ul><ul><li>Finding all consumers of a given component </li></ul><ul><li>Customization of source components and integrating these changes into source component releases </li></ul><ul><li>Identification of published vs. internal components </li></ul><ul><li>Establishing Reuse mechanisms </li></ul><ul><li>Monitoring feature interaction and testing prior to production build </li></ul><ul><li>Managing the process of component sharing </li></ul>
    • 17. Component-based Patterns support <ul><li>Primary: Controlled Update </li></ul><ul><li>Primary: Incremental Update from published </li></ul><ul><li>baselines </li></ul><ul><li>Primary: Incremental Update </li></ul><ul><li>Variation: Incremental Update with active </li></ul><ul><li>development of subcomponents </li></ul>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, & Code Reverse Engineer Integration Scripts Compliance Regression Scripts
    • 18. Example CBD Best Practices at customer sites <ul><li>A large application composed of many components is developed iteratively and rapidly with all components on the same release cycle. </li></ul><ul><li>A large application integrating components having their own release cycle, and having dependencies with other evolving components. </li></ul><ul><li>Products development projects share components, each project may have the need to modify the components they consume. </li></ul><ul><li>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. </li></ul>
    • 19. Change Management and CBD <ul><li>Enables breakdown of more complex work into smaller units of work and more control over the organizations development work flow. </li></ul><ul><ul><li>A Change request is related to an application </li></ul></ul><ul><ul><li>The Change request can require modifying several components. </li></ul></ul><ul><ul><li>Each component can be maintained by a different team in a different location. </li></ul></ul><ul><ul><li>=> Use of Child CRs to control the change process at the component level </li></ul></ul><ul><li>Synergy allows to control which CRs belong to a specific Build </li></ul>CR 225 Parent modifiable in Application modifiable in component 1 modifiable in component 2 CR 226 Child CR 227 Child Location 2 Location 1
    • 20. Summary: How Synergy lets you meet CBD challenges <ul><li>Best Practices for Developing Components and Software Reuse </li></ul><ul><li>Native support for a layered architectural approach to design and development thereby promoting true business alignment </li></ul><ul><li>A good architectural approach coupled with a promotional model for intra- and inter-component testing, </li></ul><ul><li>Metadata to identify characteristics of components as well as dependencies and relationships, including those with associated non-source artifacts </li></ul>
    • 21. Summary: How Synergy lets you meet CBD challenges <ul><li>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. </li></ul><ul><li>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 </li></ul>
    • 22. Summary: How Synergy lets you meet CBD challenges <ul><li>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. </li></ul>Business Domain Development Domain Enterprise & Embedded Release Mgmt EA and Business Process Production Portfolio/Product Management Measurement Requirements Analysis & Design Test Telelogic Integrations Telelogic Dashboard System Architect Focal Point DOORS Fastrak & DOORS Telelogic Synergy Tau & Rhapsody DOORS/T3 & Quality Center Integrations Telelogic Change & Telelogic Synergy Configuration & Change Mgmt Implementation Tau, Rhapsody & Eclipse & .Net Integrations
    • 23. Optional Slides
    • 24. Example CBD Best Practices at customer sites <ul><li>A large application composed of many components is developed iteratively and rapidly with all components on the same release cycle. </li></ul><ul><li>A large application integrating components having their own release cycle, and having dependencies with other evolving components. </li></ul><ul><li>Products development projects share components, each project may have the need to modify the components they consume. </li></ul><ul><li>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. </li></ul>
    • 25. Development of Families of Products using a Shared Component Repository <ul><li>Context </li></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>A component can be modified by any product development team </li></ul></ul>
    • 26. Shared Component Repository Collaborative Process <ul><li>When should this approach be used ? </li></ul><ul><ul><li>The Organization is developing product families that share a common set of components, </li></ul></ul><ul><ul><li>There are independent projects that reuse and possibly require modifications on shared components, </li></ul></ul><ul><ul><li>It is not possible for a central team maintaining the shared components to cope with the change and adaptation requests, </li></ul></ul><ul><ul><li>There is a strong focus on project execution, shared components must not get in the way of delivering the projects, </li></ul></ul><ul><ul><li>The organization is open to new development techniques such as those established in the Open Source community, and accept coordination of shared components changes, </li></ul></ul>
    • 27. Shared Component Repository Collaborative Process (2) <ul><li>Principles: </li></ul><ul><ul><li>No dedicated team for the shared components, </li></ul></ul><ul><ul><li>No (permanent) component ownership, </li></ul></ul><ul><ul><li>Component Customers that find bugs, need new features, new components, become contributors to the Consumed Components, </li></ul></ul><ul><ul><li>When changes to a component are performed and verified they are published on the repository, so they become available for the other projects. </li></ul></ul><ul><li>An Architecture Board composed of the architects from the various customers & contributors defines and updates the roadmap for the shared component: </li></ul><ul><ul><li>What is / What should / What will be in the repository </li></ul></ul><ul><ul><li>What is required for components / Who will use them </li></ul></ul>
    • 28. Shared Component Repository Collaborative Process (3) <ul><li>An Executive Board decides which project can modify a component and helps avoid unnecessary parallel modifications: </li></ul><ul><ul><li>Explicit separation between component interfaces and implementation </li></ul></ul><ul><ul><li>Permission to fix the implementation does not give the right to modify the interface </li></ul></ul>B V1.0 B V1.1 B xx Committer A Consumer B B V1.2 B yy B V1.3 Consumer A Committer B
    • 29. Delco Electronics Systems <ul><li>Business Challenge: (Automotive) </li></ul><ul><li>Software quality is critical, standards drive development (Six Sigma, etc.) </li></ul><ul><li>Compressed product cycles </li></ul><ul><li>Component development and reuse </li></ul><ul><li>Customer Success: </li></ul><ul><li>World’s largest vehicle electronics and components company; supplies electronic systems and transportation component systems for mobile applications. </li></ul><ul><li>12 development sites with 200 to 300 different programs being developed simultaneously </li></ul><ul><li>SYNERGY’s task-based and project-oriented paradigm offers built-in support for component reuse, enabling Delphi to reduce development time and costs </li></ul><ul><li>“ 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 .” </li></ul><ul><li>Todd Alden, Senior Software Strategist, Software Process Group </li></ul>

    ×