Approaches to Systems Development Chapter 10 Outline v
- Slides: 18
Approaches to Systems Development Chapter 10
Outline v. Approaches to System Development SDLC − Review − Approaches to the SDLC • Predictive • Adaptive Approaches Agile Methodologies − XP − Scrum: notes located in Ch 10 Extra - Scrum (pt 1). pptx 2
SDLC: SYSTEMS DEVELOPMENT LIFE CYCLE v Provides overall framework for managing systems development process All projects use some variation of SDLC Phases Core Processes Project Initiation Identify the problem and Obtain approval Ch 11 Planning Plan the Project Ch 11 Analysis Discover and Understand Details Ch 2 -5 Design System Components Ch 6, 8 -9, 12 -13 Implementation Build, Test, and Integrate System Components Ch 13 Deployment Complete System Testing and Deploy the System Ch 14 3
2 Approaches to the SDLC Assumptions Predictive SDLC • can be planned in advance • system can be developed according to the plan Adaptive SDLC Assumptions • Iterative • Must be flexible & adapt • Waterfall Model • Spiral Model • Modified Waterfall • Incremental Development • Agile Development Waterfall* • NOTE: Typically, Waterfall projects today are employing a Modified Waterfall. Agile* • NOTE: Agile projects are adaptive but not all adaptive projects are agile. 4
Predictive Approaches Project Initiation Waterfall � Planning One phase begins when another completes; Specifications are frozen Problems � System requirements “locked in” � Limited user involvement � Too much focus on milestone deadlines Analysis Design Implementati on Deploymen t Support Modified Waterfall � � Overlapping phases Can go backwards Project Initiation Planning Analysis Design Implementation Deployment Support 5
Adaptive Approaches v. Spiral Model An iterative approach − One of the 1 st adaptive approaches Spiral until project completion − Then, deployed! Project Management: − managed differently than a waterfall approach Note: An iteration contains the complete SDLC 6
Adaptive Approaches v. Incremental Development Two Features: − Also, an iterative approach − BUT…System is built in small increments; it is "grown" • As an iteration is completed it is integrated to the whole • Partially deployed in steps Advantage − some functionality gets into the user's hands much earlier 7
Methodology v. A comprehensive guideline to follow for completing every SDLC activity Abstraction used to separate out aspect Models Software to create models or other project components Methodology Tools Techniques Guidelines or instructions 8
Agile Methodologies 9
Agile Philosophy v. A guiding philosophy and set of guidelines for : developing information systems in an unknown, rapidly changing environment − complements Adaptive SDLCs & Methodologies − makes sure developers are fast to respond to changes “Manifesto for Agile Development” agilemanifesto. org • • Value responding to change over following a plan Value individuals and interactions over processes and tools Value working software over comprehensive documentation Value customer collaboration over contract negotiation
Agile Methodologies v. Agile Methodologies include both: Incremental Development – i. e. iterative & deploy multiple times Agile Principles v. A few methodologies that are adaptive development methodologies that incorporate Agile principles: Extreme Programming Scrum 11
Extreme Programming (XP) v. XP An incremental (iterative & deploy multiple times) & agile development methodology − With frequent releases in short development cycles: 2 -week iterations − Main Concepts: • 4 Core Values • 12 Software Engineering Practices • extends these “to the extreme” • Emphasizes Software quality 4 Core Values Open & frequent Keep it simple From Client, users, developers Courage to do it right; re-do if necessary 12
XP - 12 Software Engineering Practices v Planning – quick rough plan; develop user stories; heavily involve users v Testing – "user story" tests written before coding; can be re-run anytime Test-Driven Development & Automated Testing v Pair Programming – one writes (driver), one inspects (navigator), trade turns v Simple Designs – few classes & methods, no duplicate code v Refactoring – improving code quality without changing what it does v Owning Code Collectively – allows anyone to improve code v Continuous integration – unit-tested code is integrated daily v On-site customer – customer must commit to the project v System metaphor –have an easily-understood vision in laymen's terms – e. g. assembly line v Small Releases – small & frequent deployment v 40 -Hour Work Week – don’t overload the developers v Coding standards – follow standards 13
XP Project Approach Project Release # Iteration # User Stories Iteration 1 5 Iteration 2 2 Iteration 1 3 Iteration 2 4 Iteration 3 1 Project 1 Release 2 14
XP Project Approach Project Release # Iteration # User Stories Iteration 1 5 Iteration 2 2 Iteration 1 3 Iteration 2 4 Iteration 3 1 Project 1 Release 1 v Outer layer – 1 x per PROJECT Release 2 Create all user stories Create system metaphor Create all acceptance tests Plan all releases Loop thru each RELEASE (Middle Layer) v Middle Layer – 1 x per RELEASE Plan all iterations Loop thru each ITERATION (Inner Layer) Acceptance testing of the Release Deploy the Release! Project ends when the final release is deployed! v Inner Layer – 1 x per ITERATION Code & unit test each user story Integration testing of user stories 15
Scrum v. See details in: Ch 10 Extra - Scrum (pt 1). pptx 16
XP vs Scrum XP Scrum Work Units Iteration = 2 weeks Sprints = 2 to 4 weeks Rate of Change Can add a feature of equal size (for an unstarted feature within an iteration) Order of Features within an iteration Features prioritized by the customer Must work on features in order! No additions allowed once sprint has started but can remove a feature Features prioritized by the Product Owner Dev Team determines the sequence (but typically works on priority) SW Engineering Practices 12 Principles: test-driven development, pair programming, etc. No engineering practices prescribed But it can be combined w/XP practices 17
Our Textbook v. The Development Approach in our textbook primarily covers/follows: Incremental Development: o Iterative – a project iterates through the SLDC _______ times. o Incremental – ____ multiple times Agile Principles: o Flexibility; embrace ______
- Approaches to systems development
- Approaches to systems development
- Outline critical approaches to interpreting text
- Hollis chenery
- Psychodynamic theories definition
- Four approaches to employee development
- What are the three approaches in community development?
- Approaches to child development
- How to write a quote sandwich
- Payment systems outline
- Payment systems outline
- Payment systems outline
- Outline piaget's theory of cognitive development
- Program development outline
- Decision support systems and intelligent systems
- Principles of complex systems for systems engineering
- Embedded systems vs cyber physical systems
- Engineering elegant systems: theory of systems engineering
- Software