1 / 71

IS 553 Advanced Systems Development Practices

Explore the different methodologies in the marketplace, including philosophies, gurus, frameworks, and life cycle models. Compare and contrast waterfall and iterative models, as well as structured, information engineering, and agile methods.

witte
Download Presentation

IS 553 Advanced Systems Development Practices

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. IS 553Advanced Systems Development Practices James Nowotarski 6 April 2004

  2. Today’s Objectives • Understand methodology marketplace • Understand leading methodology philosophies, movements, products, and gurus of the past, present, and future • Compare and contrast waterfall and iterative life cycle models • Understand distinguishing characteristics of structured methods and information engineering

  3. Today’s Agenda Topic Duration • Recap of last week 10 minutes • Marketplace snapshot 60 minutes *** Break 15 minutes • Philosophies, gurus, frameworks 90 minutes • Quiz 1 and Assignment 5 15 minutes

  4. Today’s Agenda Topic Duration • Recap of last week 10 minutes • Marketplace snapshot 60 minutes *** Break 15 minutes • Philosophies, gurus, frameworks 90 minutes • Quiz 1 and Assignment 5 15 minutes

  5. Core Concepts In IS 553, we will use the terms method and Methodology interchangeably • method/Methodology • A systematic way of doing something • Typically consists of these key content pieces: • Processes (what) • Deliverables (what) • Techniques (how) • Roles (who) • Estimating guidelines (how long)

  6. Core Concepts • Broad categories of methods • Structured methods • Information engineering • Object-oriented methods • Lightweight/Agile methods

  7. Core Concepts • Life cycle model • The iteration and control strategy adopted by a systems development organization • Examples • Waterfall • Iterative/Evolutionary/Spiral • Incremental

  8. Core Concepts The waterfall model is the granddaddy of life cycle models

  9. Version 1 A D I Version 2 A D I Version 3 A D I Core Concepts Iterative/Evolutionary/Spiral life cycle models advocate multiple “threads” through the SDLC phases

  10. Version 1 A D I Version 2 A D I Version 3 A D I Core Concepts Incremental life cycle models advocate delivering the end product piecemeal

  11. Core Concepts • Routes • A “route” is a preconfigured specialization of a methodology, depending on a variety of factors: • custom vs. packaged solution • degree of project team distribution • project team size • technology platform • application type • Examples • Custom Client/Server: Large Project • Custom Client/Server: Small Project • Rapid Application Development (RAD) • Packaged Systems Development • Data Warehouse • SAP implementation

  12. Core Concepts • Rapid Application Development (RAD) • A shortened route with the following characteristics: • high degree of development tool usage and code generation • Joint Application Development (JAD) workshops instead of interviewing • assumes reuse of existing technical architecture and standards • time-boxing (90-day implementation schedule) • highly iterative

  13. Traditional User Design Tech Design Req’ts Analysis Construct RAD User Design Req’ts Construct Core Concepts RAD vs. Traditional

  14. Core Concepts Modeling/Diagramming Technique

  15. Core Concepts Normalization (Process Technique) 1NF = No repeating groups 2NF = 1NF + no partial dependencies (non-key attribute dependent on portion of primary key) 3NF = 2NF + no transitive dependencies (non-key attribute dependent on another non-key attribute)

  16. Optimizing Level Managed Level Defined Level Repeatable Level Initial Level Core Concepts Capability Maturity Model (CMM) • A framework for: • Judging the maturity of an organization’s software processes • Identifying key practices required to increase the maturity of these practices • Levels of maturity

  17. Class Participation Subjective evaluation of participation: A Consistently asks good questions, makes valuable observations, and answers questions effectively B Frequent participant, but not all questions, answers, and observations are effective, or not consistently active C Participates infrequently, or questions/answers do not reflect adequate preparation, or late to class D Very rare participation, or questions/answers reflect little or no preparation, or very late to class F Displays no sign of life, or absent for entire class

  18. People Process Technology Discussion <Insert your heading here>

  19. Today’s Agenda Topic Duration • Recap of last week 10 minutes • Marketplace snapshot 60 minutes *** Break 15 minutes • Philosophies, gurus, frameworks 90 minutes • Quiz 1 and Assignment 5 15 minutes

  20. What does a methodology product consist of? • Content • processes, deliverables, etc. • pre-defined routes • Delivery vehicle (e.g., browser) • Tools for authoring and publishing content • Tools for applying the methodology to a specific project • configuration tools • project planning and estimating tools • process delivery/management tools • project management tools • Deliverable templates tightly coupled with a development and/or execution platform • Knowledge libraries • Training and rollout support • Ongoing support (e.g., help desk) • Maintenance/Updates

  21. =demo’d in class Example: METHOD/1 • Content • processes, deliverables, etc. • pre-defined routes • Delivery vehicle (e.g., browser) • Tools for authoring and publishing content • Tools for applying the methodology to a specific project • configuration tools • project planning and estimating tools • process delivery/management tools • project management tools • Deliverable templates tightly coupled with a development and/or execution platform • Knowledge libraries • Training and rollout support • Ongoing support (e.g., help desk) • Maintenance/Updates

  22. Methodology Marketplace No single vendor dominates this market • IBM’s Rational Software is collecting a fair amount of mindshare • 3 key categories to consider: • methodologies developed and delivered by consultants • methodologies from software tool vendors • methodologies from industry consortia or other groups • Tremendous variability among the products • Content • Delivery vehicles • Integration with development tools

  23. Methodologies Developed and Delivered by Consultants Consulting firms’ methodologies have greatest depth and breadth of content, but not all sell their methodology as a standalone product

  24. Methodologies from Software Development Tool Vendors Customers are increasingly demanding (and receiving) process guidance from their tool vendors

  25. Methodologies from Industry Consortia or Gurus There is a growing interest among large corporate shops in so-called “agile” methods from industry gurus

  26. Key Trends: Content • Component-based development (CBD) • Software reuse • Support for CMM • Agile and/or lightweight processes • Development of mobile applications • Development with/for web services • Distributed development teams, especially offshore • Attention to security

  27. How Does a Methodology Stay Fresh? • Experience • New technologies that cause changes in development processes • Consortia/Gurus • Academics “ . . . those looking for true best practices and leading edge methodologies should turn to the consulting industry rather than tool or software vendors” -- Giga Information Group

  28. Mapping Computing Eras to Technology Maturity Curve • Mainframe • Decentralized High • Distributed Degree of Take-up • Internet • Mobile • ??? Incubation Maturity Adaptation Take Up Time Life Cycle Stage Key SD Process Change Content Dev Components Iterative Dev GUI Design Bus Process Redesign ???

  29. Gartner Group “Magic Quadrant”

  30. Survey Results

  31. Survey Results • Working in IT 8/19 • Some IT experience 18/19 (avg=55 months) • Some work experience 18/19 (avg=73 months) • Some mgmt experience 5/29 • Some IT mgmt experience 4/29 • Current IT job titles • VP-application development • network manager • database analyst • project management office • several formerly in web development

  32. Survey Results Survey Results Favorite News Sources

  33. Survey Results Top Issues in Systems Development • Outsourcing/Offshore 8 • Budget/Cost 6 • Schedule 3 • Security 2 • Build vs. Buy 2 • Emerging technologies 2 • Meeting user needs 2

  34. Survey Results Objectives for this course • Systems development processes 7 • Latest trends 7 • Project management 5 • Methodologies in the real world 4 • Project planning/estimating 4 • Development tools 2 • Analyst skills 2 • Standards 2 • Do’s and don’ts 2 • Marketability 2

  35. Today’s Agenda Topic Duration • Recap of last week 10 minutes • Marketplace snapshot 60 minutes *** Break 15 minutes • Philosophies, gurus, frameworks 90 minutes • Quiz 1 and Assignment 5 15 minutes

  36. Today’s Agenda Topic Duration • Recap of last week 10 minutes • Marketplace snapshot 60 minutes *** Break 15 minutes • Philosophies, gurus, frameworks 90 minutes • Quiz 1 and Assignment 5 15 minutes

  37. Summary Timeline 1960 1970 1990 2000 1980 Mainframe Tech era Decentralized Distributed Internet Stage wise Life cycle model Waterfall Iterative/Incremental Structured Analysis/Design Meth approach Information Engineering Object-Oriented A/D Agile Content Updates • OLTP • UI design • Bus process reengineering • Data/process distribution • CASE tools • Data mgmt • JAD • Prototyping • Multimedia content mgmt • Network design/mgmt • Quality • Security

  38. Summary Timeline 1960 1970 1990 2000 1980 Mainframe Tech era Decentralized Distributed Internet Stage wise Life cycle model Waterfall Iterative/Incremental Structured Analysis/Design Meth approach Information Engineering Object-Oriented A/D Agile Content Updates • OLTP • UI design • Bus process reengineering • Data/process distribution • CASE tools • Data mgmt • JAD • Prototyping • Multimedia content mgmt • Network design/mgmt • Quality • Security

  39. Waterfall Model The waterfall model makes more sense when one considers the context of that IT era • Context • Complex, inflexible programming environments • Hardware costs dominated over labor costs • Access to mainframe computer was carefully controlled, rationed • “High priests of computing”

  40. Waterfall model System requirements Fundamental Steps Software requirements Overhead Steps Analysis Program design Coding Source: Royce, W.  "Managing the Development of Large Software Systems." Testing Operations

  41. Waterfall model System requirements Software requirements Analysis Program design Coding Source: Royce, W.  "Managing the Development of Large Software Systems." Testing Operations

  42. Royce’s 5 Improvements to the Basic Process

  43. 1. Program design comes first System requirements Software requirements Preliminary program design Analysis Program design Coding Testing Operations

  44. That is to say, “Architecture comes first” System requirements Software requirements Architecture design/build Analysis Program design Coding Testing Operations

  45. 3. Do it twice System requirements Software requirements Architecture design/build Analysis Preliminary design Program design Analysis Program design Coding Coding Testing Testing Usage Operations

  46. Why do it twice? “Without this first pass, the project manager is at the mercy of human judgment. With this first-pass ‘simulation,’ he can at least perform experimental tests of some key hypotheses and scope down what remains for human judgment, which in the case of computer program design . . . is invariably and seriously optimistic”

  47. Problems with the Waterfall Process Many of the problems attributed to the Waterfall Process are really problems with the way it was applied, not as it was intended • Problems • Protracted integration and late design breakage • Late risk resolution • Focus on fully elaborated documents and review meetings • Adversarial stakeholder relationships

  48. Protracted integration and late breakage Conventional application of the waterfall model typically results in late integration and performance showstoppers Late design breakage 100% Integration begins Development progress (% coded) Original target date Source: Royce, W. Software Project Management: A Unified Framework. Addison-Wesley (1998).

  49. Summary Timeline 1960 1970 1990 2000 1980 Mainframe Tech era Decentralized Distributed Internet Stage wise Life cycle model Waterfall Iterative/Incremental Structured Analysis/Design Meth approach Information Engineering Object-Oriented A/D Agile Content Updates • OLTP • UI design • Bus process reengineering • Data/process distribution • CASE tools • Data mgmt • JAD • Prototyping • Multimedia content mgmt • Network design/mgmt • Quality • Security

  50. Original Spiral Model Determine objectives, alternatives, constraints Evaluate alternatives, identify and resolve risks Plan next phases Develop/Verify next level product

More Related