Download presentation
Presentation is loading. Please wait.
Published byCarlee Rigley Modified over 9 years ago
1
29 September 2014
2
Interactions There is no “right answer” Typically people and product are fixed … can adapt process (which is where we will start)
4
Fundamental Steps Requirements Design Implementation Test Deployment Maintenance
5
Processes Differ by how often you do the steps Focus and emphasis Points on the spectrum Differences in overhead Three fundamental processes Waterfall Spiral Iterative
7
Waterfall Do it once Traditional model Used for large next version releases, especially when well understood product tightly coupled changes
8
Waterfall 1970s Built on 1950’s stage-wise process Recognized the need for feedback Limited Heavy process
9
Waterfall Pros Simple documentation management Clean design phase Cons Least flexibility No early feedback
11
Iterative (a.k.a. Agile) Many iterations Each iteration is on a fixed cycle Typically biweekly Used for projects with lots of small independent, but well understood, changes small development team strong client involvement
12
Iterative Reaction to waterfall Derived from “evolutionary” process Requirements and specs evolve over time Two well-known models Extreme programming SCRUM
13
Iterative (a.k.a. Agile) Pros Fast feedback on problems Very adaptable to any changes Lots of versions to work with Heavy user involvement Cons Document maintenance Code maintenance Requires good automation
15
Spiral Few iterations Each iteration adds new requirements Used often for projects with less well defined requirements
16
Spiral Risk based Barry Boehm 1988 “A Spiral Model of Software Development and Enhancement”
17
Spiral Pros Adaptation to changes based on risks Good customer interaction Early version Limited iterations provide phase structure Cons Document maintenance
19
Unified Process (hybrid) Spiral within waterfall Recognizes iterations differ Also known as Rational Unified Process (Rational products) Rational Unified Process Phases Core Processes
20
Phases and Milestones Phase Inception Elaboration Construction Transition Milestone Objectives Architecture Initial Operational Capability Product Release
21
Iterations in Phases Phase broken down into iterations Iteration: Complete development loop Resulting in a release
22
Best on Best Practices 1. Develop software iteratively 2. Manage requirements 3. Use component-based architectures 4. Visually model software 5. Verify software quality 6. Control changes to software
24
Cleanroom Development Different from clean room design Harlan Mills, late 80s Principles Software development based on formal methods: formal proofs and validations instead of unit tests Incremental implementation under statistical quality control Statistically sound testing: most likely inputs
25
Process From Ian Sommerville (2008)
26
Strategies Formal specification Incremental development Structured programming Static verification Statistical testing of the system
28
Historically Waterfall: 1970, built on 1950’s stage-wise processes Recognized need for feedback Iterative (agile): late 70s,modeled on evolutionary model Didn’t work well for large products Spiral: 1988, risk-based
29
Reality Most development is toward the agile side But, how fast, how formal differs considerably by … Industry Organization Project
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.