CSC 355 Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson Fall 2016 CSC354 SDLC Classics Waterfall, Surgical Team (a.k.a. Chief Programmer), Iterative, Spiral, Rapid Prototyping, and ModelDriven. We went over these in Fall 2016. Slides linked here: http://faculty.kutztown.edu/parson/spring2014/CSC 354Spring2014SDLC.ppt
Focus this semester on newer, buzzword-compliant approaches. 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. 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. 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
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
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. 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 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 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. 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. 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)
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.
Touted Advantages of Agile Low cost & overhead. Efficient handling of changes. Fast results. Usable systems.
Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES...
"The traditional tools of risk management used by H&S professionals, documenting safe systems of work through method statements base on risk assessments are variable in quality" "There is a theory gap in the understanding of how to develop, use and...
LSB and the NSS in transition, it is required considerable amount of time and investment toward the modernization. It is a learning process about the modern management and structure of statistics organization as to establish itself as national leading producer...
Floury Food Safety Training From Virtual To Reality For Youth/FFS. 2016-2-TR01-KA205-036086 "Funded by the Erasmus+ Program of the European Union. However, European Commission and Turkish National Agency cannot be held responsible for any use which may be made of the...
MKF. Having a professional practice transforms the products a librarian produces. Here is how I define IP: …It fosters a more scientific, data-driven approach which lead to scopes and standards for practice. Maybe the Information Practitioner is a hybrid.
The design of the scale represents the widely used method of measuring student growth and rating teacher impact on that growth. In some instances of the use of this method, the rating categories are numeric (e.g. 85-100% = 3.51-4.00 Points)....
Thoburn and Ainsworth, 2014. Youth in Residential Care - USA. In 2014, 56,000 foster youth in residential care (14% of the U.S. foster care population) Youth in residential care 3 times more likely than other youth in foster care to...
Ready to download the document? Go ahead and hit continue!