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

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
ITEC 370 Lecture 24 Lifecycles. Review Questions? –Grades for Requirements/Design Doc F give prototype demonstration –Testing plan for your software Maintenance.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agile Development.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile development By Sam Chamberlain. First a bit of history..
Software Life Cycles ECE 417/617: Elements of Software Engineering
Agile
Iterative development and The Unified process
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Current Trends in Systems Develpment
SE-280 Dr. Mark L. Hornick 1 Process Adaptations.
When is Agile the Best Project Management Method? Lana Tylka.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CSC 354 – System Development Life Cycles & Processes, Spring 2015 March 2015 Dr. Dale Parson.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Approaches to Systems Development
Agile Project Management and the yin & yang of
Iterative development and The Unified process
Software Development.
Teaching slides Chapter 2
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Methodologies and Algorithms
Scrum.
Appendix B Agile Methodologies
Wael Ellithy, Ph.D. Arx ICT
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Information Technology Project Management – Fifth Edition
Lecture Software Process Definition and Management Chapter 2: Prescriptive Process Models Dr. Jürgen Münch Fall
Approaches to Systems Development
Rapid software development
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Project Management and the Agile Manifesto
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Object Oriented Analysis and Design
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Agile Methodology MODULE 3 – Part 2.
Lecture 2 Revision of Models of a Software Process
System DEVELOPMENT LIFE CYCLE MODELS
Software engineering -1
CSC 354 – System Development Life Cycles & Processes, Fall 2013
Appendix B Agile Methodologies
Agile Development.
System Development Methods
Presentation transcript:

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 Model-Driven. We went over these in Fall 2016. Slides linked here: http://faculty.kutztown.edu/parson/spring2014/CSC354Spring2014SDLC.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.