490 likes | 722 Views
Open Software Development IBM Software Development Platform Marc Brown, Rational software. Agenda. Where are we today? Challenges in software development (TPF, IT, Embedded, etc.) What is missing? And how can we resolve the issues? IBM Software Development Platform Closing Comments. Agenda.
E N D
Open Software DevelopmentIBM Software Development PlatformMarc Brown, Rational software
Agenda • Where are we today? • Challenges in software development (TPF, IT, Embedded, etc.) • What is missing? And how can we resolve the issues? • IBM Software Development Platform • Closing Comments
Agenda • Where are we today? • Challenges in software development (TPF, IT, Embedded, etc.) • What is missing? And how can we resolve the issues? • IBM Software Development Platform • Closing Comments
The Software Development Paradox Industry Truism? Quality Time-to-Market
How Is Business Doing? • Over 30%1 of software projects are cancelled • Of the remaining 70%, many are over budget, over time, or defective functionally • 52%1 of software projects cost 189%1 original estimates • Only 16%1 of are completed on time and within budget • For large enterprises, this can be as bad as 9%1 1 Standish Group
Why are organizations failing? • Hitting the wall before release (1) • Losing/adding team members • Unforeseen technology difficulties • Unforeseen or changing requirements • 90% done (2) • Riskiest features deferred • Endless Q&A (3) • Poor quality code • Bugs found late are very costly • Negative ROI • Failure Traps – Balance and Guidance Required • Prototype • Scripting • 4GL’s Figure-1 Figure-2 Figure-3
Disparate toolslacking required integrations Software Development Obstacles • Environment Complexity • Limited tooling - legacy tools, compilers, integrations • Lack of built-in debugging and testing capabilities • Host Platforms – Linux, UNIX, zSeries • Application Complexity • Legacy systems – difficult to maintain / understand / modernize • Transaction driven – highly unpredictable events and loads • Strong timing constraints – realtime requirements • Concurrent / Distributed / Networked • Process Complexity • No defined development process • Lack of understanding • Hard to maintain • Architectural enforcement or knowledge • Inadequate testing • Poor performance • Unreliable builds • Changing requirements • Missing integration
IBM Software Development Platform Transforming for Success: What is Required? • Good / Complete Planning • Complete Requirements & Specification Definition (end-user signoff) • Requirement Management and Implementation Control (ie., what shall get built and when) • Clear Responsibility and Accountability of Team Members • Individual workflows • Clear communication paths • Schedule Control • Software Configuration Management, Activity, and Test Managenment • Project Statistics • Clear Communication and Validation • Architectural Enforcement • Test Validation and Support
Agenda • Where are we today? • Challenges in software development (TPF, IT, Embedded, etc.) • What is missing? And how can we resolve the issues? • IBM Software Development Platform • Closing Comments
A open team-based approach IBM Software Development Platform Analyst Architect Developer Tester Deployer Visually construct, transform, integrateand generate code Model, simulate, assemble,and monitor business processes Provision, configure, tune and troubleshoot applications Design, create, and execute tests DB2Lotus RationalTivoliWebSphere Model applications and data Pervasiveand Embedded • Follow a common process • Track project status • Manage requirements • Manage changeand assets • Manage quality IBM and3rd Party Servers Project Manager Partners TEAM UNIFYING PLATFORM IndustryStandards Training & Mentoring Microsoft
Business Model & Monitor Business Process Elicit Requirements IBM Rational Unified Process Develop Iteratively Focus on Architecture Continuously Ensure Quality Manage Change & Assets Development Operations Discover & Design Monitor & Manage Transform, Integrate & Build Test & Deploy Do more with less, improve time to value, leverage open standards The Business Driven Development Process • Key Benefits • Transform the Business of Software Development • Automating the Process of Software Development through open-standards
Business Model & Monitor Business Process Elicit Requirements IBM Rational Unified Process Develop Iteratively Focus on Architecture Continuously Ensure Quality Manage Change & Assets Development Operations Discover & Design Monitor & Manage Transform, Integrate & Build Test & Deploy Do more with less, improve time to value, leverage open standards The Business Driven Development Process • Key Benefits • Transform the Business of Software Development • Automating the Process of Software Development through open-standards
Develop Iteratively Requirements Analysis & Design Planning BusinessModeling • Adopt a flexible process • Create successive iterations of executable releases • Confirm requirements and quality with every iteration Configuration& ChangeManagement Environment Implementation InitialPlanning Test Evaluation Deployment Business Benefits Technology Benefits • Fewer failed projects help reduce costs, minimize waste • Unify distributed teams, contractors, outsourcers • Mitigate risk early in the project lifecycle • Remedy the root causes of project failures • Accurately scope and measure projects Develop Iteratively
Each Iteration Produces a Working Implementation of the Final System Iterative projects engage the development disciplines from the start of the project Develop Iteratively
Risk Reduction Risk Time Address Risks Earlier in the Project Lifecycle Risk Management Period Risk Resolution Period Waterfall Iterative Develop Iteratively
Focus on Architecture • Create models at various levels of abstraction • Implement with component-oriented and service-oriented architectures • Visualize as-built architecture • Validate or refine & iterate Application System Information Implementation Business Business Benefits Technology Benefits • Better align projects with business needs • Higher-level reuse for improved productivity • Faster, more reliable changes • Enables model-driven architecture and development • Scales better than focusing only on code • Facilitates traceability across the lifecycle Focus on Architecture
Spectrum of SolutionsAdopt the right development style for your needs Level of abstraction Business Modeling & Model Execution Rapid Application Development Direct Architected Legacy Integration Modeling & Round-Trip Engineering Code Visualization & Visual Editing Traditional Coding IBM has development solutions that span across: • Development languages • Operating environments • Skill levels • Modeling paradigms Focus on Architecture
Modeling Business, System, and Application Architectures • Document business processes • Capture enterprise assets • Enterprise Architecture • Web Services • Design component-based or SOA software architectures • Key products: • Rational Rose XDE • WebSphere Business Integration Modeler • WebSphere Studio Application Developer • WebSphere Studio Asset Analyzer IBM Rational Rose XDE Developer
Continuously Ensure Quality Attention to quality often begins here • Build in quality from the beginning • Automate testing • Bridge development, testing,and operations teams Attention to quality should begin here COST Iterative Process Business Benefits Technology Benefits • Low risk delivery of unique differentiators • Rapid cycle times • Satisfied service level commitments • Complete asset traceability • Accelerated problem determination • Early detection of system availability risks Continuously Ensure Quality
Manage Change and Assets Software Configuration Management • Manage change • Manage assets • Automate and accelerate workflow Requirements Models Code Tests… Business Benefits Technology Benefits • Quickly respond to change • Develop anytime, anywhere, in parallel • Enable reuse and protect assets • Flexible workflow and process support • Distributed team management • Traceability across the lifecycle Manage Change and Assets
Add promotion calculation Bug 849 Bug 527 New platform New customer transaction New GUI button New web design Bug 98 Bug 348 Bug 251 Bug 179 Build 3 Build 2 Build 1 Managing Change: The Challenge Did requirement462 make it intothis release ? How many severity 1 bugs are left? Analyst Project Manager Is bug 873 fixed in this build? Of course I didn’t forgeta file... Why did the build break? Testers Developers Integrator Manage Change and Assets
UCM Process Manage Activities • To Do Lists • Workflow Manage Artifacts • Versioning: code, models, XML, HTML • Parallel development Unify Artifact and Activity ManagementEnsure predictable results Best Practices Process, Out of the Box Manages High-level Objects • Decades of CM experience • Hundreds of successful CM implementations • Easy to adopt • Optimized for team acceptance • Components • Subsystems • Baselines IBM Rational ClearCase and IBM Rational ClearQuest Manage Change and Assets
Business Model & Monitor Business Process Elicit Requirements IBM Rational Unified Process Develop Iteratively Focus on Architecture Continuously Ensure Quality Manage Change & Assets Development Operations Discover & Design Monitor & Manage Transform, Integrate & Build Test & Deploy Do more with less, improve time to value, leverage open standards The Business Driven Development Process • Key Benefits • Transform the Business of Software Development • Automating the Process of Software Development through open-standards
Tool C C/C++ Development Tools (CDT) Eclipse Platform Workbench Help JFace Tool A Java Development Tools (JDT) SWT Team Workspace Debug Plug-in Development Environment (PDE) Tool B Platform Runtime Eclipse: Universal Platform for Developing Tools • What is Eclipse? • An Open Source Project - eclipse.org • Open, extensible architecture based on standards • Licensed for royalty free world-wide distribution • Strengths • Open standards-based platform for application development tools • Language-neutral / OS-neutral • HTML, Java, C, JSP, EJB, XML, GIF, … • ISV’s and Customers can add/integrate deeper functionality to installed products
Eclipse Enables Deeper Product Integration Analyst Architect Developer Tester Develop Iteratively Continuously Ensure Quality Focus on Architecture ECLIPSE • Role-based user interfaces • Common models for integration across lifecycle • Artifact sharing via Rational Team Unifying Platform CustomerExtensions 3rd PartyISV Tools Manage Change and Assets Project Manager TEAM UNIFYING PLATFORM
Business Process Design Biz Rules BPM BPEL SPEM UML2 BPEL WSDL UML2 J2EE C/C++ Application Development UML XML J2EE WCCM SDO Hyades SQL Java XML CIM IT Infrastructure Eclipse: Based on Industry Standards Comprehensive support for: • Development Languages • Application Servers • Databases • Operating Systems
IBM Requirements & Analysis Solutions Benefits Capabilities • Drive business needs throughout projects • Ensure regulatory compliance • Monitor ROI of technology investments • Analyze business workflows & activities • Capture business requirements • Model enterprise and data architectures
IBM Rational RequisiteProCommunicating and managing requirements effectively • Present requirements contextually • Familiar interface • Prioritize and track requirements • Out-of-box reports • Communicate requirement changes • Integrated with Rational tools
IBM Design & Construction Solutions Benefits Capabilities • Code Visualization and Visual Editing • Modeling & Round-Trip Engineering • Legacy Integration • Rapid Application Development • Model Execution • Maximizes value from both code and models • Eases migration to higher levels of productivity • Maximizes user choices & flexibility
Extend and customize with IBM eServer & IBM middleware tools Extend and customize with partner & customer tools IBM eServer & Middleware Tools Partner Tools & Middleware A single, comprehensive development environment with unprecedented flexibility & extensibility WebSphere Studio An integrated environment for the application lifecycle – from discovery through development to deployment Universal Platform for Development Tools An open, industry-supported development platform IBM WebSphere Studio familyAn open, comprehensive development environment for building dynamic e-business applications • Web Services • Asset Componentization and Impact Analysis • TPF, Embedded, IT Development • Legacy Modernization
IBM Rational Rose XDE familyAn open, integrated, and comprehensive model-driven development environment Extend, customize, or create user definable patterns or templates Assisted modeling and runtime analysis, including multi-model support Multi Platform Support WebSphere, MS, Eclipse Assisted Modeling & Runtime Analysis (Visual Trace) Patterns & Code Templates A single design-to-code development environment with unprecedented flexibility & capability Rose XDE An integrated environment for the application lifecycle – from discovery through development Unified Modeling Language An open, industry-supported modeling language
IBM Software Quality Solutions Benefits Capabilities • Runtime analysis • Component, functional, and performance testing • Cross-platform test execution support • Test planning & reporting • Ensures reliability, functionality, scalability • Reduces cycle time • Accommodates multiple skill sets, roles • Shares responsibility for quality across the team
Rational PurifyPlus familyComplete suite of runtime analysis tools for improving reliability and performance • Designed for C, C++, and Java • Runtime analysis includes four basic functions: • Memory corruption detection • Memory leak detection • Application performance profiling • Code coverage analysis • Support Windows, UNIX, Linux
Rational Performance TesterUncover and correct production-environment performance problems before deployment • Easily create scripts for performance testing • Use Robot’s code automation to shave hours off of your script development time • Manage your testing assets • No more spreadsheets and sticky notes. TestManager controls all functional, performance and manual test assets from your test plans to your test results • Pinpoint your bottlenecks • Use TestManager’s intuitive reports to find your bottlenecks and pinpoint the route causes of your scalability issues
IBM Software Configuration Management Solutions Benefits Capabilities • Develop anytime, anywhere • Ensure predictable results • Understand the impact of change • Enterprise-wide change management • Asset and build management • Process and integrated tool support
Rational ClearCase and Rational ClearQuestUnified Change Management • Manage artifacts, activities, and defects • Activity-based artifact and change management • Consistent project control, protection and traceability
IBM Process & Project Management Solutions Benefits Capabilities • Mitigate risks early in the project lifecycle • Equip the team to work effectively together • Accurately scope projects • Plan and estimate projects • Manage teams with proven best practices • Measure progress based on accurate data
Rational ProjectConsoleAccurate Project Status • Customizable reports on project information • Visual project status and measurement information • Avoid wasting time looking for and/or working from outdated information
Rational Unified ProcessCollaborative Customizable Process • Searchable, Web-based, covers the entire lifecycle • Integrated with tools
IBM Software Development PlatformA Team-based Solution providing integrations without data duplication Requirements How to reproduce bug? What to test? Rational RequisitePro Rational TestManager Rational ClearQuest Avoid Data Redundancy by Sharing Artifacts Across Tools Test Data
Agenda • Where are we today? • Challenges in software development (TPF, IT, Embedded, etc.) • What is missing? And how can we resolve the issues? • IBM Software Development Platform • Closing Comments
Analyst Architect Developer Tester WebSphere Studio Family Rational Functional Tester for Java and Web WebSphere Business Integration Modeler & Monitor Rational Rapid Developer DB2LotusTivoliWebSphere Pervasiveand Embedded Rational Rose XDE family Rational Rose XDE Developer for Java Rational Rose XDE Developer for Visual Studio Rational Performance Tester Rational RequisitePro Rational Robot Rational PurifyPlus • Rational Unified Process • Rational ClearCase • Rational ClearQuest • Rational RequisitePro • Rational TestManager • Rational ProjectConsole IBM and3rd Party Servers Project Manager Partners TEAM UNIFYING PLATFORM Microsoft OpenStandards Training and Mentoring IBM Software Development Platform
Enabling Role-Based Access to Information • Multiple perspectives of common data, optimized for each role • Full traceability across the lifecycle • Maximizes individual and team productivity • Eclipse Meta-model Framework (EMF) • Team API Business Process BusinessAnalyst Use Case SystemsAnalyst Application Design Architect Component Developer Tester Deployment OperationsManager
Requirements and AnalysisSolutions for the analyst, architect, and developer Requirements& Analysis Design & Construction Process and Project Management Software Configuration Management Software Quality
IBM WebSphere Business IntegrationSoftware to connect internal and external applications to exchangeinformation reliably and securely IBM WebSphere Business Integration Connect Enable community integration through connectivity between trading partners Solutions for Industries Business Integration Server Business Integration Connect IBM WebSphere MQ Everyplace Integration of users with mobile devices enabling secure and reliable exchange of information IBM WebSphere MQ High performance communications transport enabling reliable and secure application communication MQ IBM WebSphere MQ Brokers Information transformation, intelligent routing and real-time event distribution