agile unified process up
play

Agile Unified Process (UP): Agile Process Overview Introduction to - PDF document

Overview Agile Unified Process (UP): Agile Process Overview Introduction to an OOA/D Agile Unified Process (UP) Basics Process Introduction to an OOA/D Process Eunjee Song Agile Process Principles Dept. of Computer Science


  1. Overview Agile Unified Process (UP):  Agile Process Overview Introduction to an OOA/D  Agile Unified Process (UP) Basics Process  Introduction to an OOA/D Process Eunjee Song  Agile Process Principles Dept. of Computer Science Baylor University Slide Sources: Applying UML and Patterns by C. Larman and Introduction to OOA/D Process s lides by Dr. R. France Introduction to an OOA/D Process - 2 What is an agile process? Why agile processes? A process that continuously adapts and adjusts  Internet “ age ” characterized by rapid to changes in technologies and demands  changes derived from experiences gained  Increased pressure to develop new services during the development during the development, and enhance existing services quickly to gain and enhance existing services quickly to gain competitive advantage  changes in software requirements and  Focus is on producing “ quality ” code quickly  changes in the development environment. and economically Introduction to an OOA/D Process - 3 Introduction to an OOA/D Process - 4 Agile UP Basics Iterative/incremental process  No detailed overall plan  High-level plan that outlines major outlines and estimates end-time (Phase Plan) Feedback from Requirements Requirements iteration N leads to  Iterative, incremental, time-boxed Design refinement and Design Time adaptation of the  Each iteration is a mini-project Implementation & Implementation & requirements and design in iteration Test & Integration Test & Integration & More Design & More Design N+1.  Detailed plan for each iteration (Iteration Plan)  Detailed plan for each iteration (Iteration Plan) Final Integration Final Integration  Each iteration has a non-extensible fixed duration & System Test & System Test  Risk-driven, quality-focused  Tackle high-risk, high-value issues in early iterations 3 weeks (for example)  Build a cohesive core architecture in early iterations Iterations are fixed in The system grows length, or timeboxed . incrementally.  Continuously verify quality Introduction to an OOA/D Process - 5 Introduction to an OOA/D Process - 6 1

  2. Phases 1 2 3 4 5 ... 20 requirem ents workshops Activities and iterations organized around 4 major phases in UP: Im agine this will ultim ately be a 20- Inception  iteration project. requirements requirements software software  Early exploration of problem to determine project feasibility In evolutionary iterative developm ent, the  What ’ s the perceived business value? requirem ents evolve over a set of the early iterations, through a  What are the risks? series of requirem ents 90% 90% workshops (for Elaboration exam ple). Perhaps  after four iterations and 50% workshops, 90% of the  Requirements detailing (major requirements identified) requirem ents are 30% defined and refined. 20% 20%  Iterative implementation of “ core ” architecture 10% Nevertheless, only 2% 5% 8% 10% of the software is 10% of the software is Iteration 1 It ti 1 Iteration 2 It ti 2 Iteration 3 It ti 3 It Iteration 4 ti 4 It Iteration 5 ti 5 Construction built.  a 3-week iteration  Iterative development of remaining low-risk elements week 1 week 2 week 3  Prepare for deployment M T W Th F M T W Th F M T W Th F Transition   Beta tests team agile start de-scope final check-in dem o and next kickoff m eeting m odeling & iteration and code- 2-day iteration clarifying iteration coding &  Deployment design, goals if freeze for the requirem ents planning goals with the team . testing too m uch iteration workshop m eeting; 1 hour UM L work baseline 2 hours whiteboard sketching. 5 hours M ost O O A/D and Use-case m odeling applying UM L during during the workshop this period Introduction to an OOA/D Process - 7 Introduction to an OOA/D Process - 8 UP Disciplines (Workflows) Iterations vs. Phases  Business modeling: modeling of business processes and concepts development cycle  Requirements: requirements analysis and iteration phase specification  Design: solution analysis and synthesis  Implementation: Code realization of design inc. elaboration construction transition  Test: Verification of implementation  Deployment: Installation and operation of system increment final production milestone release in environment release An iteration end- A stable executable The difference  Configuration & Change Management point when some subset of the final (delta) between the At this point, the significant decision product. The end of releases of 2 system is released  Environment subsequent for production use. or evaluation each iteration is a iterations. occurs. minor release. Introduction to an OOA/D Process - 9 Introduction to an OOA/D Process - 10 Principles - 1 A four-week iteration (for example). A mini-project that includes work in most Note that disciplines, ending in a stable executable. although an Our highest priority is to satisfy the customer through early and  iteration includes work in most continuous delivery of valuable software. disciplines, the relative effort and Welcome changing requirements, even late in development.  emphasis change Business Modeling Agile processes harness change for the customer's competitive over time. Focus of this Requirements advantage. This example is book suggestive, not Design Deliver working software frequently, from a couple of weeks to a  literal. couple of months, with a preference to the shorter timescale. Implementation Business people and developers must work together daily Test  throughout the project. Deployment Build projects around motivated individuals.  Configuration & Change Management Give them the environment and support they need, Project Management and trust them to get the job done. Environment The most efficient and effective method of conveying information  to and within a development team is face-to-face conversation. Introduction to an OOA/D Process - 11 Introduction to an OOA/D Process - 12 2

  3. Principles - 2 Conclusions  Working software is the primary measure of progress. Some aspects of a software development project can benefit   Agile processes promote sustainable development. from an agile approach while others can benefit from a less- The sponsors, developers, and users should be able agile or more predictive approach. to maintain a constant pace indefinitely. Practical software development processes can be classified  along a spectrum depending on their degree of "agility".  Continuous attention to technical excellence and good design enhances agility.  At one extreme are the predictive processes in which the process steps are defined in detail early in the project, and  Simplicity--the art of maximizing the amount of work project project goals goals remain remain relatively relatively stable stable throughout throughout the the not done--is essential. t d i ti l execution of the process.  The best architectures, requirements, and designs  At the other end are the purely agile processes in which emerge from self-organizing teams. process steps and project goals are dynamically determined  At regular intervals, the team reflects on how to  The agility of a process is determined by the degree to which a project team can dynamically adapt the process based on become more effective, then tunes and adjusts its changes in the environment and the collective experiences of behavior accordingly. the developers.  Current agile processes are close to the purely agile end Introduction to an OOA/D Process - 13 Introduction to an OOA/D Process - 14 3

Recommend


More recommend