Systems Analysis & DesignThe CHAOS Report (1994)The CHAOS Report (1994) FindingsProject Success FactorsSystems Analysis & DesignThe Cost of DefectsProcess DefinedJuggle Juggle JuggleThe Importance of ProcessesCapability Maturity Model Integration (CMMI )A Practical Example of Process ImprovementSlide 12Waterfall ModelWaterfall Model (continued)Software Process Models Waterfall Model (continued)Software Process Models Drawbacks of The Waterfall ModelSlide 17Slide 18Slide 19Slide 20Software Process Models Agile MethodsSlide 22The Big ?The Rise of Computer Science◦Machine Language (1st Gen)◦Assembly Language (2nd Gen)◦Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)◦CASE (4th Gen)?IT System ComplexitySystems Analysis & DesignThe CHAOS Report (1994)Produced by the Standish Group via surveys, focus groups, and case studieshttp://www.standishgroup.com/sample_research/chaos_1994_1.phpProject Resolution Types◦Success = On-Time, On-Budget, Fully Featured◦Challenged = Over-Time, Over-Budget, Fewer Features◦Impaired = CancelledA lot of interesting findings about Software Development track recordThe CHAOS Report (1994) FindingsProject Success Factors“The three major reasons that a project will succeed are user involvement, executive management support, and a clear statement of requirements. There are other success criteria, but with these three elements in place, the chances of success are much greater. Without them, chance of failure increases dramatically.” – The Chaos Report (1994), Standish GroupProject Success Factors% of Responses1. User Involvement 15.9%2. Executive Management Support13.9%3. Clear Statement of Requirements13.0%4. Proper Planning 9.6%5. Realistic Expectations 8.2%6. Smaller Project Milestones 7.7%7. Competent Staf 7.2%8. Ownership 5.3%9. Clear Vision & Objectives 2.9%10. Hard-Working, Focused Staf 2.4%Other 13.9%p.3: "Systems analysis and design emerged from the need to perform certain activities around, and particularly prior to, the steps involved in developing a computer system using software engineering tools and techniques." Systems Analysis & DesignThe Cost of DefectsSpecification Planning Programming OperationCost of DefectsA process: a series of steps involving activities, constrains, and resources that produce an intended ouput of some kindA process involves a set of tools and techniquesProcess DefinedPhase I Requirements◦All balls must remain in motion◦Only one person at a time can touch a ball (ball must be passed in the air)◦Each person may only touch one ball at a time◦Juggle for 15 seconds without dropping the ballPhase II Requirements◦All phase I requirements apply◦The ball cannot be passed to the person by your sideJuggle Juggle JuggleImpose consistency and structure on a set of activitiesGuide us to understand, control, examine, and improve the activitiesEnable us to capture our experiences and pass them alongThe Importance of ProcessesCapability Maturity Model Integration (CMMI )Carnegie Mellon UniversityA Practical Example of Process ImprovementWaterfall modelV modelPrototyping modelOperational specificationTransformational modelSpiral modelPhased development: increments and iterationsAgile methodsSoftware Development Process Models or Software Development Life Cycle (SDLC)One of the first process development models proposedWorks for well understood problems with minimal or no changes in the requirements Simple and easy to explain to customersIt presents a very high-level view of the development processsequence of process activities Each major phase is marked by milestones and deliverables (artifacts)Waterfall ModelWaterfall Model (continued)This version difers from the book but the idea is the same:There is no iteration in waterfall modelMost software developers apply a great many iterationsSoftware Process ModelsWaterfall Model (continued)Provides no guidance on how to handle changes to requirements/design during development (assumes requirements/design can be frozen)Views software development as manufacturing process rather than as creative processThere is no iterative activities that lead to creating a final productLong wait before a final productLacks Business Process Redesign!Software Process ModelsDrawbacks of The Waterfall ModelShorter cycle timeSystem delivered in pieces◦enables customers to have some functionality while the rest is being developedAllows two systems functioning in parallel◦the production system (release n): currently being used◦the development system (release n+1): the next versionSoftware Process ModelsPhased Development: Increments and IterationsSoftware Process ModelsPhased Development: Increments and Iterations(continued)Incremental development: starts with small functional subsystem and adds functionality with each new releaseIterative development: starts with full system, then changes functionality of each subsystem with each new releaseSoftware Process ModelsPhased Development: Increments and IterationsPhased development is desirable for several reasons◦Training can begin early, even though some functions are missing◦Markets can be created early for functionality that has never before been ofered◦Frequent releases allow developers to fix unanticipated problems globaly and quickly◦The development team can focus on diferent areas of expertise with diferent releasesSoftware Process ModelsPhased Development: Increments and IterationsEmphasis on flexibility in producing software quickly and capablyAgile manifesto http://www.agilemanifesto.org/Value individuals and interactions over process and toolsPrefer to invest time in producing working software rather than in producing comprehensive documentationFocus on customer collaboration rather than contract negotiationConcentrate on responding to change rather than on creating a plan and then following itSoftware Process ModelsAgile MethodsExtreme programming (XP)Crystal: a collection of approaches based on the notion that every project needs a unique set of policies and conventionsScrum: 30-day iterations; multiple self-organizing teams; daily “scrum” coordinationSoftware Process ModelsAgile Methods: Examples of Agile ProcessWhat about process redesign?◦What does it profit the business if all we do is automate the process as is?◦What about
View Full Document