Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.

Similar presentations


Presentation on theme: "CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson."— Presentation transcript:

1 CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017
March 2017 Dr. Dale Parson

2 Fall 2016 CSC354 SDLC Classics Waterfall, Surgical Team (a.k.a. Chief Programmer), Iterative, Spiral, Rapid Prototyping, and Model-Driven. We went over these in Fall 2016. Slides linked here: Focus this semester on newer, buzzword-compliant approaches.

3 Rational Unified Process
Created by some of the champions of UML. Use-case and requirements driven Architecture centric Not quite functional spec in the same way as Waterfall. Iterative and incremental Emphasis on architecture implies emphasis on system architect, related to Surgical Team. In addition to high-level responsibilities, architect is responsible for unified aesthetic.

4 Four Phases in Rational Unified Process (page 1 of 2)
Inception Planning phase with identifies goals, critical use cases / major scenarios, early architecture & design alternatives, estimate schedule & resources, plan activities, estimate risks. Elaboration Establish major requirements, demo baseline design, establish implementation / test / integration platforms & methodologies. Test scenarios, metrics, establish resources.

5 Four Phases in Rational Unified Process (page 2 of 2)
Construction Complete an alpha-release implementation. Establish remaining activities. Transition Establish final product for release. Establish user readiness & acceptance. Establish support Deployment

6 Additional points on RUP & SEI
RUP has Entry and Exit Criteria Entry Criteria are requirements when entering a stage in the process – artifacts, people, tools, activity to be performed. Exit criteria include artifact reviews, error tracking, acceptance by downstream workers. Software Engineering Institute (SEI) Capability Maturity Model (CMM) Five-level, bureaucratic process model

7 Agile & its kin (newer approaches)
Short releases and iterations Incremental design No architect or architecture. Yes to Refactoring. User involvement Minimal documentation (also, no models) Everything lives in the code & people. Pitfall for newbies. Informal communication. Change.

8 Extreme Programming (XP) is an Agile Approach
Frequent communication Rapid feedback (e.g., pair programming) Simple design Incremental change; refactoring Quality work Metaphor instead of architecture Test-driven development Collective ownership Coding standards

9 Scrum is an Agile Approach
Iterative method based on short sprints. Sprint is a month or less and time-boxed. Duration constant, scope may be adjusted. Potentially shippable product at end of sprint. Three core roles: Product owner represents customer. Development team of 3 to 10 programmers. Scrum master keeps it on track as a coach. Ancillary roles: stakeholders and managers

10 Scrum 3 Pillars, Events Transparency
Inspection of artifacts & progress Adaptation as necessary Events: Planning meeting Daily Scrum – 15ish minute sync meeting Sprint Review – held at end of a sprint Inspect products, demo, adapt backlog Sprint Retrospective – after review Discuss results, learn from them.

11 Scrum Artifacts Product backlog – remaining requirements or user stories Sprint backlog – tasks to be done in current sprint. Each task 4 to 16 hours, developers choose task based on sprint backlog, skills. The increment is current project, i.e., sum of previous + current sprint. Burn down chart – shows remaining log in current sprint backlog. Being used on bigger projects in hierarchical “Scrum of Scrums”.

12 Open Source Development
Small releases Informal, Internet-based communications Customer availability Continuous integration Shared vision Larger, distributed teams (than Agile) Scaling (bigger projects than typical Agile)

13 Risks / Pitfalls of Agile
May not scale to large systems. Heavy reliance on teamwork. Reliance on frequent access to customer. Culture clash among developers. Lack of design documentation does not integrate well with developer turnover.

14 Touted Advantages of Agile
Low cost & overhead. Efficient handling of changes. Fast results. Usable systems.


Download ppt "CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson."

Similar presentations


Ads by Google