In Search Of Silver Bullets

Size: px
Start display at page:

Download "In Search Of Silver Bullets"

Transcription

1 In Search Of Silver Bullets Graham Spittle VP Business Integration IBM Software Development Laboratory at Hursley

2 IBM Software Development Worldwide Silicon Valley Toronto Hursley Beijing Austin Raleigh Böblingen Bangalore

3 IBM Hursley

4 IBM Software in the Marketplace Over 600,000 users of Rational Software 50,000 WebSphere customers, +1 M WebSphere developers More than 6.9 million Eclipse download requests Over 425,000 data management customers 13,000 business partners; 40,000 ISV applications Messaging: +105M seats, 61,000 customer sites Instant Messaging: + 8M Corporate users, 5,000 customers e-learning: + 3.5M LearningSpace seats Over 22,000 worldwide Tivoli Systems Management customers 60 million user licenses of IBM Tivoli Access Manager

5 e-business Challenges Technology Explosion of data Rich media Pervasive applications Deep Computing Next-generation internet Legacy Systems Browsers,.Net Clients, Java Clients... via Adapters & Connectors... via Open Standards Marketplaces Hosted Services Industry Partners Infrastructure Heterogeneous environment Packaged Applications Directories Databases and Storage Devices Windows AIX Linux HP-UX Solaris OS/400 OS/390 z/os Integration with disparate systems Interface to legacy applications Application complexity Inflexibility Maintenance We have to create all this!

6 Software Development Types Product Type Bespoke (Single Customer) / Market (Many Customers) Close to Hardware / Component / Product / Solution Prototype / Normal / High Availability Single Platform / Multi-Platform Development Strategy Waterfall / Agile / Small Team Management System Project Management / Accountability / Teamwork Skills Sources (Local / Remote / External)

7 A Balance of Control and Freedom Objective defined process measurable progress traceability to specs documented work repeatable work organization focused compliance praised Cognitive problem-solving meaningful results relevance to mission peer communication effective work people focused technical insight praised Focus on Just Enough

8 Waterfall Requirements Description Pros Most Common formal process Project Split Into Distinct Phases Suitable for most types of development Potential for very formal process Design Implement Validate Produce Service Cons Lack of Flexibility Implies clear distinction between phases Great difficulty in moving back up the waterfall Slow Learning Process

9 Agile, Spiral, Iterative,. Plan Description Pros Iterative, Incremental, Evolutionary, Light On each increment New capabilities added Existing facilities unaltered Lessons learned Clear testable Milestones Suitable for most types of development particularly prototype or new Tailored process, Flexible, Improving Reflect Validate Design Create Can get much closer to immediate user needs More 'natural' Cons More common in smaller teams Scheduling much more challenging Rational Unified Process Risk led extreme Test led

10 Market and Competitive Pressures What You Would Like Clear and Stable Requirements Waterfall or Incremental Development Process The time The resources Reality Changing Requirements Overlapping Development Phases Market & Customer Time Pressure Limited Resources & Conflicting Needs

11 Change is Continuous Strategic Response = Shortest Cycle Time Sources of Change Request for Additional Function - Market / Customer Pressure Implementation or testing uncovers design error Developer s Good Ideas Try to Control Specification and Product Growth Design Changes Dependencies Code Base Enablers Communications Knowledge Management

12 Time Pressures You start programming I ll find out what they want!

13 The Development Challenge Make it Real for Our Customers Better than Our Competition Better Function Better Quality Faster Cheaper Cost Function Speed To Market Quality

14 Specific Development Techniques Management & Control IPD Integrated Product Development Requirements Gathering and Selection Specification & Design Implementation Management Requirements Design Implement Validate Produce Service Validation Service Improvement A Flexible, Tailored Approach Process Customisation

15 Integrated Product Development Investment Review Board (IRB) Understand the Marketplace Perform Marketplace Assessment Perform Market Segmentation Develop Market segment strategy & plans Align & optimize business plans across business units (segments Manage market segments & assess performance Market Planning Process Integrated Portfolio Management Team (IPMT) IPMT Sponsor Business Market Technology Research Leadership Concept Phase Concept DCP Plan Phase Plan DCP Contract Design DCP Develop Phase Qualify Phase Availability DCP Launch Phase Lifecycle Phase EOL DCP Product Development Team (PDT) Offering Team (OT)

16 Management and Control - 1 Integrated Product Development (IPD) Stage Gate Process Cross Functional Heavyweight Teams in every domain Project Management Rigorous Multi-Site Progressive Commitment to deal with changing requirements Cross Product and Component Integration Commitments Management Dependency Management Plan Integration Management via Systems House and Architecture Boards Requirements Design Implement Validate Produce Service

17 Management and Control - 2 Change Control Design Change Request (DCR) Management Problem Tracking Report (PTR) Management Configuration Control (Library Systems) Resources / Pipeline Management Skills Management Effective Cross-Team Communications Knowledge Management Access to essential information on the web Collaboration Tools Management Requirements Design Implement Validate Produce Service

18 Understand Your Customer Management Requirements I want a piece of glass shaped like that! Design Implement Validate Produce Service

19 Understand Customer Requirements - Dialogs Market Viewpoints (Multiple) Independent Software, Solution Vendors Partners Consultants Forums (UseNet, CompuServe,...) Standards Bodies External Surveys Direct (Single) Customer Contacts SHARE, GUIDE and Technical Conferences Customer Involvement Programmes & Customer Partnerships CICS Architecture Forum (CAF) Field Problems & Critical Situations Management Requirements Design Implement Validate Produce Service

20 Understand Customer Requirements - Analysis Requirements Databases (RMP) Market Management Customer Solution Scenarios Research Comparison with Competition Competitive & Win / Loss Analysis Customer Satisfaction Tracking & Analysis Field Problem and Performance Analysis Management Requirements Design Implement Validate Produce Service Experimental User Centred Design / Use Case Analysis Usability Testing Decision Support Centre Solutions Testing Beta and Early Customer Feedback

21 WebSphere Requirements - Selection Management Customer Surveys WebSphere Inner Circle Escalation Process (eg. critsit) PMRs, APARs FITS requirement database Customer briefings Analyst Meetings Sales loss report VADD voted requirements SWG strategies Cross-division requirement (eg. 390 Customer Design Council) Competitive evaluations RFI's and RFP's Services and Sales Feedback Orthogonal Defect Classification Standards Bodies WW Sales Team Business Development deals System House & Architecture Board Internally created Hero coders Beta process UCD Reviews Executive commitments Partner feedback Internal Test Groups System Test Solutions Test Open source development Newsgroups, mailing lists Cross-product requirements Customer cartels ITSO feedback OMSYS, Siebel CTC IBM Academy Teleweb Research Requirements Design Implement Validate Produce Service One Prioritised List

22 Specification & Design - 1 Design for Flexibility and Change Breakage Extension Minimum needed function ( Extreme Programming ) Design Council / Architecture Board or other ownership Object Oriented Methods & Tools UML (Rational Rose) Formal Methods (Z & B) Reuse wherever possible Management Requirements Design Models & Templates Use of Application Servers, OS Services, Components Formal & Informal Large & Small Scale Design Implement Validate Produce Service

23 Specification & Design - 2 IBM, SWG and Platform Imperatives PD Council SWG Architecture Board WebSphere Foundation Architecture Board Design Standards, Guidance & Checklists Management Requirements Design Implement Validate Produce Service Aspect Oriented Software Development Prototyping / Proof of Concept User Centred Design (UCD) Beta Programmes

24 User Centred Design = Focus on your users Management Requirements Goal Intuitive Easy to Buy Easy to Learn Easy to Use Easy to Set Up Fits with other components Useful Engaging Process Design Implement Understand Your Users Understand the environment Design the Total Experience Take the issues on board Evaluate Designs Experiment Assess Competitiveness Feedback to Users Check! Validate Produce Service

25 The Defect Challenge All in all, coders introduce bugs at the rate of 4.2 defects per hour of programming. If you crack the whip and force people to move more quickly things get even worse. Watts Humphreys

26 Implementation = Reduce Work and Error Injection Reuse wherever possible Component Libraries Servers Services Object Oriented Management Requirements Design Implement Validate Produce Service Language Choice - Interpreted, Compiled, Visual Development Tools & Workbenches CMVC, Eclipse Information Development Tools & Workbenches Configuration Control (Library Systems) CVMC, CC/CQ, CVS Aspect Oriented Software Development extreme Programming (Test Led) Orthogonal Defect Classification (ODC)

27 Assess your progress and quality Orthogonal Defect Classification Start Release Defect stream contains rich information on process and product { { Distribution tells "where we are", and measures progress. Quantification helps drive corrective action. - e.g.: defect type distribution. Process Signature (by Defect Type) Percentage Defects Design Unit Test Function Test System Test Function Assignment Interface Timing Activity

28 Validation Inspections Unit Test Check-in Tests Static Analysis Functional Verification Regression Testing Systems Testing Integration & Solution Testing Beta Programmes Product Introduction Services Service Test Combined S. Test Inspections / Reviews Unit Testing Check-in Tests Static Analysis Functional Verification Systems Testing Management Requirements PID Val Build / Regression testing Internal Betas External Betas / PISC Design Implement Validate Produce Service Automation Testing Environment Setup Tracking & Reporting Code Coverage Model Based Testing Integration Test Solutions Test Service Test Combined Service Test

29 Service = Support your customers after shipment Management Support Organisations and structure Requirements Level 1, 2, 3 and Change Teams Design One -Team WW support Implement Collaboration Center Cross Product Support Validate Cross Product Skills Produce Use of the Web esupport ( eclient Service Call Management Critical Situation Management Problem and APAR Management (RETAIN) Fix Management FIN (Fixed in Next) Fix in Error APAR Migration Problem Determination Orthogonal Problem Classification (OPC) Customer Satisfaction (Tracking and Management) (CIS2) New Function Delivery via Service Free / Fee (Pre-Sales / Support Line / Service Contracts) Service Involvement in Investment Decisions Service Test Combined Service Test

30 Quality is much more than absence of defects Customer Essentials Understand and exceed their expectations Provide timely response to requests Understand their business (industry expertise) and deliver real business results, value and thought leadership Provide proactive business advice and solutions Manage the solution effectively Provide the right technical skills and support PLUS effective development quality

31 Better Faster Cheaper Software Development Projects Vary Hugely Balance Process & Ownership Plan for Change Really know your Customer Avoid Writing Code Remove the Defects before they reach your customers

32 Any Questions?

33 References James Bach Thought provoking views on S/W Development Erran Carmel - Research on Global Software Teams IEEE Software Engineering Body of Knowledge Software Engineering Institute Software Methods & Tools Orthogonal Defect Classification The BCS Agile Methodologies Extreme Programming

34 IPD Principles Team Based Management Management system based on cross-functional teams from all functional disciplines: Investment review board (IRBs) Integrated portfolio management teams (IPMTs) Project development teams (PDTs) Offering teams (OTs) Component Development Teams (CDTs) "Heavyweight teams" supported by functional management Structured Process for Development Consists of a market planning process and a product development process Customized by each business unit Applies to all IBM development efforts

35 Team Based Management Investment Review Boards (IRBs) A group of segment executives, chaired by a business unit's general manager, with representation from architecture, development, marketing, finance, and sales, for the purpose of setting strategy and making broad investment decisions, which are implemented by the segment's IPMT(s) and PDTs/OTs. Integrated Portfolio Mgm t Teams (IPMTs) A customer-focused, executive team with global responsibility for a business segment and its portfolio of offerings, including offering development, funding, coordinating the execution, marketing, and tracking the performance of the integrated, end-to-end segment business plan. Project development teams (PDTs) or Offering teams (OTs) A multi-disciplinary team with the responsibility for responding to an IPMT provided set of prioritized customer requirements, including defining, developing, qualifying, marketing, delivering, and supporting an offering throughout its life cycle. The PDT/OT interacts with the IPMT primarily through structured Decision Checkpoints.