180 likes | 421 Views
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House. Mark Parker (800) 984-9346 mark.parker@outliertech.com. Overview. Sequential
E N D
National Association for Regulatory AdministrationSeptember 13, 2011IT’s NOT Like Building a House Mark Parker (800) 984-9346 mark.parker@outliertech.com
Overview • Sequential (Waterfall, BDUF – Big Design Up Front) development that proceeds from one phase to the next in purely a sequential manner; each phase must be completed and perfected before moving to the next phase. In a sequential model, there is no going back to a previous phase and no overlapping of phases. • Iterative and Incremental (XP – Extreme Programming, RAD – Rapid Application Development, UP – Unified Process, RUP – Rational Unified Process, Spiral, Scrum) development that proceeds in repeatable iterations to iteratively and incrementally enhance and evolve a program until it is accepted by the user. The goal for design and development of any iteration is to be simple, straightforward and modular, supporting redesign at any time or as tasks are added. In an iterative and incremental model, iterations may be repeated and phases may overlap. There are many different methodologies for software development, each describing approaches to a variety of tasks or activities that take place throughout the software development lifecycle. Generally speaking, all software development methodologies fall into one of two categories.
Sequential Software Development Waterfall, BDUF – Big Design Up Front Requirements Design Code Test Deploy
Iterative and Incremental Software Development XP – Extreme Programming, RAD – Rapid Application Development, UP – Unified Process, RUP – Rational Unified Process, Spiral, Scrum
Scientific Method and Iterative Development http://en.wikipedia.org/wiki/Iterative_and_incremental_development http://www.makeitsolar.com/science-fair-information/01-the-scientific-method.htm • Choose Your Topic • Identify Problem • Research Problem • Develop Hypothesis • Design Experiments • Test the Hypothesis • Analyze Results • Formulate Conclusions • Initial Planning • Planning • Requirements • Analysis • Design • Implementation • Testing • Evaluation
Outcomes Experiment Iteration • Increased Knowledge • Decision Point • Problem Solved • Increased Knowledge • Decision Point • Deployment
Unified Process - UP • Risk Focused • Results Oriented • Architecture Based • Use Case Driven • Developer Centric • Stakeholder Collaborative
Why Iterative? “The fundamental reason that a project iterates is to reduce risk.” 100% Project Risk Exposure Project Schedule Target Completion Date Sequential (Waterfall) Iterative and Incremental
Unified Process Hierarchy Evolution Phases Inception Elaboration Construction Transition Iterations
Evolution • Defines the deliverable • A small part or component of a larger information system • Is a 3 to 6 month development effort
Inception Phase • Risk Focus • Business • Questions • Are we building the right thing? • Is the solution feasible? • How Much? • Outcome • Agreement to fund
Elaboration Phase • Risk Focus • Architectural • Questions • What are the unknowns? • What are the technical risks? • How will the technical risks be mitigated? • Outcome • A stable, proven, executable architecture
Construction Phase • Risk Focus • Logistical • Questions • Do our assumptions and earlier decisions hold? • Will it be done on time? • Are the users ready? • Outcome • A useful, tested, deployable and documented solution
Transition Phase • Risk Focus • Roll-out • Questions • Is it acceptable? • Is it being used? • Can the customer maintain and further enhance the solution? • Outcome • The solution is in “actual use”
Unified Process Summary • Reduces Risk (All Stakeholders) • Large projects are broken down into “Mini Projects” • Multiple review and decision points throughout the process • Based on the Scientific Method • Focuses on Delivering Business Value
The Book Managing Iterative Software Development Projects By Kurt Bittner Ian Spence
Thank you Mark Parker (800) 984-9346 mark.parker@outliertech.com