DOC PREVIEW
UT Dallas CS 6359 - S2_Chapters2-3

This preview shows page 1-2-17-18-19-36-37 out of 37 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1What will we learn?Iterative DevelopmentUnified Process (UP)Iterative MethodologyThe Iterative ProcessEmbrace ChangeIteration ConvergenceThe BenefitsWaterfall LifecycleExampleExampleSlide 13Agile Methods and AttitudesThe Agile PrinciplesThe Agile PrinciplesAgile ModelingA Clarification …UP – The Key PracticesUP PhasesUP PhasesThe UP DisciplinesSlide 23UP Disciplines and PhasesUP Development CaseMore on Agile MethodsWhen Do Agile Methods Work Best?Agile Development: SampleAgile Development: SampleAgile Development: SampleAgile Development: SampleThe Case Studies We Will Work WithThe Case StudiesCase One: The NextGen POS SystemCase Two: The Monopoly GameTakeaways from Chapter 2 - 3Next …Object-Oriented Analysis and DesignCHAPTER 2: ITERATIVE, EVOLUTIONARY, AND AGILECHAPTER 3: CASE STUDIESSLIDES: BY DR. SEMPER1What will we learn?We will learn what iterative development is, and why it worksWe will learn what Agile Modeling is, and how it works We will explore the Unified ProcessWe will contrast iterative (or evolutionary) development methods with sequential (i.e. Waterfall) methods2Iterative Development Suppose you were assigned to write a movie script for a company. They know what they want, in terms of what kind of movie, how long, setting, etc., but they need you to fill in the details. How would you do it? You could spend a lot of time talking to them, getting as much information as possible, and then write the script and send it to them and hope you nailed it …Risky: Chances of getting it all right are slim, and if you missed you need to go back and start making changes and edits, which can be complicated if you want the story line to work You could also start with a draft, and send the incomplete version to them for feedbackThey would understand that this is not finished, but just a draft. They provide feedback, you add more details, and the cycle continuesEventually, you end up with the finished product that is close to what they wanted This is how iterative development works3Unified Process (UP)A widely adopted process for building, deploying, and possibly maintaining software Flexible and open, can adopt practices from other methods such as ScrumWe will concentrate on Agile UPIterative and evolutionary development Development is organized into a series of short, fixed length mini-projects called iterations Note – emphasizes early programming and testing of partial systems, even before all requirements are finalized! Direct contrast to sequential methods (i.e. Waterfall), where coding is not started until the requirements phase is finished.Each iteration enlarges and refines the project, with continual feedback and adaption as the main drivers4Iterative MethodologyDoesn’t this contradict what we learned in Chapter 1 … analysis first, then design? We will see more on this throughout the course, but for now understand that iterative development does not simply mean “start coding”. There is analysis and design work first.Each iteration is fixed length, called timeboxedTypical iteration: Spend the first day analyzing the current state of the project, defining goals for the current iteration, and then working on design in small teamsThen teams work on implementing new code, testing, more design discussions, and conducting daily builds of partial system Usually involves demonstrations and evaluations with stakeholders (customers or customer reps)Also planning for next iteration – each iteration may involve analysis and design work5The Iterative Process6Requirements DesignImplementation &Test & Integration & More DesignFinal Integration & System TestRequirements Design3 weeks (for example)The system grows incrementally.Feedback from iteration N leads to refinement and adaptation of the requirements and design in iteration N+1.Iterations are fixed in length, or timeboxed.TimeImplementation &Test & Integration & More DesignFinal Integration & System TestEmbrace ChangeRather than try to “freeze” the requirements so code can be developed to rigid design, accept the fact that change will occur and use it in the development process Maybe the customer changes mind after seeing early partial system buildsThis has become very popular because it reflects the way the real world works Also, coding technology has enhanced code generation methodsOOA/OOD is critical to this approach, since having well defined objects makes it easier to add to or modify the systemNote that this does not mean there are no requirements, or that changes should be encouraged Beware of “feature creep” – we will see more later This is structured change, not chaos7Iteration Convergence8Early iterations are farther from the "true path" of the system. Via feedback and adaptation, the system converges towards the most appropriate requirements and design. In late iterations, a significant change in requirements is rare, but can occur. Such late changes may give an organization a competitive business advantage. one iteration of design, implement, integrate, and testThe BenefitsEarly feedback – invaluable!Better success rate for projects More likely that the customer will get what they want in the endIf process is properly executed, early mitigation (resolution) of high risks, rather than laterBy breaking the project into clearly defined iterations (cycles), the complexity is much more manageableDon’t need to solve the entire project first – no paralysis by analysisAgain, natural fit with OOA/OODConstant feedback and input from the customer improves the end product9Waterfall LifecycleProbably an attempt to apply standard product development methods to software Fully define requirements (and usually design) before codingWhy is Waterfall so prone to fail?Software development is not mass production – highly unlikely that all requirements are fully understood up frontRequirement are also not as stable as we would like, especially for large complex projectsChange Request process works, but can be cumbersome and slowNote it is possible to change requirements later in the project for Waterfall, but it is hard and slowTry to avoid combining this approach with an iterative approachDon’t try to identify all use cases or do complete OOA before coding can startSoftware design and implementation becomes more complex as understanding of the system increases10ExampleBefore first iteration, work with customer in a Requirements Workshop to identify a few critical Uses CasesHighest risk, most


View Full Document

UT Dallas CS 6359 - S2_Chapters2-3

Documents in this Course
Lecture2

Lecture2

63 pages

Lecture3

Lecture3

49 pages

Lecture4

Lecture4

48 pages

Lecture5

Lecture5

47 pages

Lecture6

Lecture6

45 pages

Lecture7

Lecture7

63 pages

Lecture8

Lecture8

77 pages

Lecture9

Lecture9

48 pages

Lecture10

Lecture10

84 pages

Lecture11

Lecture11

45 pages

Lecture12

Lecture12

134 pages

Lecture13

Lecture13

62 pages

Lecture14

Lecture14

76 pages

Project

Project

2 pages

Chapter_1

Chapter_1

25 pages

Load more
Download S2_Chapters2-3
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view S2_Chapters2-3 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view S2_Chapters2-3 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?