1 / 59

McMaster Education Series How IBM Applies Process to Create Quality Products

McMaster Education Series How IBM Applies Process to Create Quality Products. IBM Toronto Software Development Lab. Introduction. How IBM applies process to create quality products. Agenda. IBM Organizational Overview Product Process Quality Continual Improvement.

Download Presentation

McMaster Education Series How IBM Applies Process to Create Quality Products

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. McMaster Education SeriesHow IBM Applies Process to Create Quality Products IBM Toronto Software Development Lab

  2. Introduction How IBM applies process to create quality products.

  3. Agenda • IBM Organizational Overview • Product • Process • Quality • Continual Improvement

  4. Why We Are Here

  5. IBM Organizational Overview

  6. IBM Software Group IBM Software Group is one of the largest software companies in the world

  7. eBay • eBay selected WebSphere, IBM’s e-infrastructure software, as the technology foundation for its next-generation trading platform

  8. CNN uses IBM software and hardware to manage its archives of over 200,000 hours of digital material CNN

  9. Air Canada has introduced 142 IBM self-service kiosks to improve the passenger experience at eight Canadian airports. Up to 50% of Air Canada's passengers are using the kiosks during peak periods, enjoying an 80 per cent reduction in check-in time Air Canada

  10. SWG Worldwide Locations

  11. Toronto Lab Mission We develop products or provide services in Toronto for all of the Software Group brands

  12. Examples of Toronto Lab Technology & Key Products • Database Management Technology • DB2 Universal Database • DB2 for VSE and VM (SQL/DS) • DB2 Connect • Application Development Technology • WebSphere Development Studio • WebSphere Business Integration Tools • VisualAge Tools (C++, Java, TPF) • XL Fortran • Rational Developer for Java / Web • Tivoli Intelligent Orchestrator • Electronic Commerce Development • WebSphere Commerce • User Centered Design, Globalization, Media Design

  13. Platforms Supported by Toronto Lab Products • Linux • Solaris • HP • Windows • AIX • OS/390 • OS/400 • OS/2 • VM / VSE

  14. Roles in the Toronto Lab • Managers • Project managers • Development managers • Team Leaders • Architects • Developers • Designing/writing code • Writing user guides • Testers • Customer Service Analysts • Other roles (eg. IT, Finance, HR) • Software Engineering Process Group (SEPG)

  15. SEPG Provides Support to the Toronto Lab • Process education • Process modeling, definition and assessment • Sharing of best practices and tools

  16. Agenda • IBM Organizational Overview • Product • Process • Quality • Continual Improvement

  17. Definition of Product • A product is a piece of software that is used to build applications • An application is a software system that meets a specific customer need Application Developer Product Developer Product Application e.g. Bank Teller System, Airline Scheduling System e.g. WebSphere Application Server, DB2 Database

  18. Definition of Product • A product is a piece of software that is used to build applications • An application is a software system that meets a specific customer need • Intended for use by multiple customers • Can be deployed world-wide • Complex translation and globalization • Must conform with various industry and regulatory standards • Intellectual property must be protected • Multiple versions in use at same time Product Developer Product e.g. WebSphere Application Server, DB2 Database

  19. McMaster Education SeriesHow IBM Applies Process to Create Quality Products IBM Toronto Software Development Lab

  20. Agenda • IBM Organizational Overview • Product • Process • Quality • Continual Improvement

  21. Software Development Approaches • Just jump in and do it • Also known as “heroic effort” • Many projects depend on heroic efforts • Can succeed if enough experience • Established process • Teams typically fall back on tried and proven approaches • Use as is or tailor it to your project • Invent a process • Existing processes do not meet team’s needs

  22. What are the pitfalls of heroic effort? Think about a team assignment where there wasn’t much of a plan to follow and people just jumped in and did their best. What were some of the problems that were encountered? • Project status is difficult to gauge • People work independently and not aware of what others are doing • Inconsistencies and missing interfaces • Hit and miss on schedule and deliverables • Best practices not shared

  23. Plan or Process • If you want to do something once, you need a plan; if you want to do something repeatedly, you need a process

  24. Plan or Process • A plan tells you what you need to do: • Create design specification • A process tells you how to do it: • The architect or lead developer obtains and understands the approved product requirements • He/she creates a design spec which describes: the overall architecture, internal & external interfaces, applicable standards & any extensions required, etc. • The design spec is reviewed by other developers for completeness and accuracy • The project manager approves the design spec

  25. Why do we have process ? • To identify the key activities (manageable pieces ) and their logical sequence • To make the approach consistent and repeatable • To allow for measures to gauge progress and foster continuous improvement • To enable scalability (the larger the team, the more difficult it is to work without a process) • To ease adoption of best practices • To avoid known pitfalls • To improve quality

  26. Break the problem into manageable pieces Functional Perspective

  27. Break the problem into manageable pieces Procedural Perspective Functional Perspective

  28. Break the problem into manageable pieces Procedural Perspective Functional Perspective

  29. There can be different levels of process Executives Managers Teams Developers Development Requirements Design Hi-level Design Finance IPD Code Lo-level Design Marketing Test Sales IPD = Integrated Product Development (IBM’s business management process)

  30. Typical development process flow Requirements Design1 Design2 Design3 Design4 Design5 Code1 Code2 Code3 Code4 Code5 Test1 Test2 Test3 Test4 Test5 System-level Testing

  31. Process Model Requirements Design3 Code3 Test3

  32. Process Model Requirements Project Plans approved (entry criteria) Process steps Design3 Specifications Specs Approved (exit criteria)

  33. Process Model • Entry criteria • Inputs • Description of activities/steps • Outputs • Exit criteria • Measurements

  34. Sample Lab Process • Actual Design Process from the IBM Toronto Lab

  35. Metrics identify if you are on course and on schedule London An airplane may be off course 90% of the time But uses real time corrections to reach destination Toronto

  36. By taking process measurements in real time projects are better able to meet their commitments. Target Finish 100 ActualFinish % of Test Phase Success 0 Week 1 Week 2 Week n Time

  37. Process Metrics • Establish targets by phase (e.g. Design, Code, Test). For example… • # of design / code reviews held • % of test cases run • # of operating system platforms supported & tested • Monitor and track progress on a regular basis • Take corrective action to bring back “on course” • Metrics can be used to: • Show project progress • Gauge process effectiveness • Foster continual improvement

  38. Process Summary • Heroic efforts • Plan vs. process • Decomposition into manageable pieces • Different levels of process depending on your role • Process models • Process measurements

  39. Agenda • IBM Organizational Overview • Product • Process • Quality • Continual Improvement

  40. What is Quality Quality is meeting or exceeding the customers’ expectations and requirements • Customer satisfaction is the ultimate validation of quality • Quality is in the eye of the beholder, …. our customer! • Software Quality measurements • customer satisfaction • reliability • product defects

  41. How Does IBM Create Quality Products • Follow defined processes • Use the customer feedback • Use tools(modeling, code generation, code checking, automation) • Re-use common code • Continually improve: • Process, Tools, Product function • Testing ? You do not “test” quality into products!

  42. Products have higher Quality when built right the first time • Finding defects with testing is ineffective and expensive • It is possible to remove defects before writing code • Create Architecture and Design documents • Review / Revise / Approve at each stage • Write Code then run unit tests to find localized defects • Conduct additional testing as necessary • Expensive with tight schedules • Fixing defects after the customer installs it … is very expensive

  43. Understand the customer’s needs and expectations • Customer Surveys • Usability sessions / focus groups • Beta test programs • Customer-reported problems and defects • Marketing and Sales feedback, trade shows, seminars

  44. Planning for improving Customer Satisfaction The Quality Plan • Understand customer product requirements • Choose quality objectives • Example … Usability • Set Quality targets • Executive review and approval

  45. Quality metrics planned for Development Target Finish Metric ActualFinish Start Time

  46. Monitoring quality in real-time

  47. Verification of Quality through testing Testing is another form of process V Requirements System Test Design Function Test Code Unit Test

  48. Verification of Quality through testing • Usability test • Customer beta test • Documentation test • Performance test • Translation Verification test • Product CD (packaging) test

  49. Defects during Development Phases • Is it possible that you inject defects while developing your product? • It does happen! • Design reviews and code inspections are a couple of methods for detecting bugs, or defects in the design or code • Corrective and preventive actions taken • Defects will be analyzed to determine root cause and fixed

More Related