Chapter 2.docx

5 Pages
Unlock Document

Ryerson University
Information Technology Management
ITM 430
Aziz Guergachi

Chapter 2 – Iterative, Evolutionary and Agile 2.1 What is the UP? Are Other Methods Complementary?  Software development process describes an approach to building, deploying & possibly maintaining software  Unified Process (UP) has emerged as a popular iterative software development process for building object-oriented systems o UP is very flexible & open, & encourages skillful practices from other iterative methods such as from Extreme Programming (XP), Scrum etc. o UP combines commonly accepted best practices such as an iterative lifecycle & risk-driven development into a consistent & well-documented process description 2.2 What is Iterative and Evolutionary Development?  A key practice in both the UP & most other modern methods is iterative development o In this lifecycle approach, development is organized into a series of short, fixed- length mini-projects called iterations  The outcome of each is a tested, integrated & executable partial system  Each iteration includes its own requirements analysis, design, implementation & testing activities  Iterative lifecycle system grows incrementally over time so this is also known as iterative & incremental development o Since feedback & adaptation evolve the specifications & design, it is also known as iterative & evolutionary development o Refer to figure 2.1 and example under section 2.2  Refer to figure 2.2 Are There Benefits to Iterative Development?  Benefits are o Less project failure, better productivity & lower defect rates o Early rather than late mitigation of high risks (technical, requirements, objectives, usability) o Early visible progress o Early feedback, user engagement & adaptation leading to a refined system that more closely meets the real needs of stakeholders o Managed complexity o The learning within an iteration can be methodically used to improve the development process itself, iteration by iteration How Long Should an Iteration Be? What is Iteration Timeboxing?  Most iterative methods recommend an iteration length btwn 2 and 6 weeks o Small steps, rapid feedback & adaptation are key in iterative development o Long iterations weakens the main motivation for iterative development & increases project risk o A very long timeboxed iteration misses the point of iterative development  Iterations are always timeboxed or fixed in length (ex. under this section) 2.3 What About the Waterfall Lifecycle? The Need for Feedback and Adaptation  In complex, changing systems feedback & adaptation are key ingredients for success o Feedback from early development, programmers trying to read specifications & client demos to refine the requirements o Feedback from tests & developers to refine the design or models o Feedback from the progress of the team tackling early features to refine the schedule & estimates o Feedback from the client & marketplace to re-prioritize the features to tackle in the next iteration 2.4 How to do Iterative and Evolutionary Analysis and Design?  There are approx 20 iterations on a project before delivery (more under section 2.4) o Refer to Figure 2.5 2.5 What is Risk-Driven and Client-Driven Iterative Planning?  The UP(Unified Process) encourage a combination of risk-driven & client-driven iterative planning  This means that the goals of the early iterations are chosen to o Identify & drive down the highest risks o Build visible features that the client cares most about  Risk-driven iterative development includes more specifically the practice of architecture-centric iterative development o This means early iterations focus on building, testing & stabilizing the core architecture  This is important because not having a solid architecture is a common high risk 2.6 What are Agile Methods and Attitudes?  Agile development methods usually apply timeboxed iterative & evolutionary development, employ adaptive planning, promote incremental delivery & include other values & practices that encourage agility rapid & flexible response to change o Refer to figure 2.4  The Agile Manifesto and Principles under this section, review 2.7 What is Agile Modeling?  Agile modeling is the very act of modeling that can & provide a way to better understand the problem or solution space, from this viewpoint, the purpose of doing UML is not for a des
More Less

Related notes for ITM 430

Log In


Don't have an account?

Join OneClass

Access over 10 million pages of study
documents for 1.3 million courses.

Sign up

Join to view


By registering, I agree to the Terms and Privacy Policies
Already have an account?
Just a few more details

So we can recommend you notes for your school.

Reset Password

Please enter below the email address you registered with and we will send you a link to reset your password.

Add your courses

Get notes from the top students in your class.