Software Process Models.

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Agile Project Management with Scrum
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Scrum CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
© Timothy Korson Page 1 Scrum by Dr. Korson For CPTR 209 Software Engineering Version
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Software Life Cycles ECE 417/617: Elements of Software Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
Object-oriented Analysis and Design
Chapter 6 Systems Development.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Agile.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Process: A Generic View
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
What is Scrum Process? Where is it used? How is it better?
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Chapter 2 Process: A Generic View
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 2 Process: A Generic View
SCRUM introduction 6 April Scrum Team are known as pigs because they’re committed to delivering Sprint Goal People who are involved but not dedicated.
Software Process Models.
Stephen Chief Strategy Officer Telerik
Writing Functional Specifications
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
SCRUM.
What is project management?
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Software Engineering CE 501 Prepared by : Ashwin Raiyani.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter 2.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Software Development Framework
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
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.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Chapter 2 Process: A Generic View
Scrum MODULE 3 – Part 3.
Burn Down charts for Project Management
Object Oriented Analysis and Design
© University of Liverpool
Case Study: Financial Services
Software engineering -1
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Sprints.
Presentation transcript:

Software Process Models

15

Development Phase Techniques O Team creation Scrum believes that a development team should perform as a sport team, every team member working independently but towards the same goal. Scrum suggests that a team has a maximum of members. The team facilitator is called the Scrum master. His/her job is to implement and manage the Scrum process in the project. 16

Development Phase Techniques O The Scrum team as a whole defines the practices, meetings, artifact and terminology of SCRUM for the team, and the Scrum Master ensures adherence to these "norms" identified. O Scrum masters serve a facilitator role and their authority is mostly indirect. O Scrum masters focus most of their time in managing outside interference for the Scrum team and solving outside impediments or ‘Blockers’ that cannot be solved by the Scrum team. 17

Development Phase Techniques O Backlog creation There are 3 types of backlogs: O Product - Acts as a repository for requirements targeted for release at some point. These are typically high level requirements with high level estimates provided by the product stakeholders. O Release - Requirements pulled from the product backlog and identified and prioritized for an upcoming release. The release backlog contains more details about the requirement and low level estimate which are usually estimated by the team performing the work 18

Development Phase Techniques O Sprint - At the beginning of each sprint, the team has sprint planning with an end result being a backlog of requirements/sub-requirements that the team anticipates completing at the end of the sprint. By completing, that means fully coded, tested and documented. These are the items that the team will "Burndown" against throughout the duration of the sprint. The sprint backlog breaks the release backlog requirement into manageable chunks that can be accomplished typically in hrs. 19

Development Phase Techniques O Project segmentation The whole project gets divided into periods of time with a maximum duration of 4 weeks. One period is called a Sprint and every team gets a backlog to execute within the given Sprint. 20

Development Phase Techniques Scrum meetings O During the sprint, the team conducts daily scrum meetings. O The meetings are held in the same place at the same time every work day. O The meetings don’t last for more than 30 minutes. A scrum master is appointed. O The scrum master is responsible for asking every team member the following three questions: 21

Development Phase Techniques O What have you done since the last scrum meeting? O What has impeded your work? O What do you plan on doing between now and the next scrum meeting? O Conversation is restricted to the team members answering the above questions. O Meetings can be established for immediately after the scrum meeting based on answers to the above questions. The scrum master is responsible for making decisions immediately, if required to remove impediments to progress. O The scrum master is responsible for noting impediments that must be resolved external to the meeting and causing them to be removed. 22

Development Phase Techniques O Phases The Scrum development process consists of 5 major activities “Review release plans”, “Distribution, review and adjustment of product standards”, “Sprint”, “Sprint review” and “Closure”. 23

Development Phase Techniques O Sprint The Sprint phase is where the software development takes place. A Sprint consists of the following sub-activities: Develop, Wrap, Review and Adjust. This phase has no sequence. Sometimes a backlog item must be developed, wrapped and reviewed and sometimes a backlog item must be only reviewed or adjusted. It totally depends on the backlog item 24

Development Phase Techniques O Sprint review Each Sprint is followed by a Sprint review. During this review the software developed in the previous Sprint is reviewed and if necessary new backlog items are added. The reviewers consist of project stakeholder, managers, developers and sometimes customers, sales and marketing. The activities, Sprint and Sprint review are repeated until the product is deemed ready for distribution by the project stakeholders. Then the project goes into the closure phase where the product is made ready for release and distribution. 25

Development Phase Techniques O Closure In this stage activities like last debugging, marketing and promotion take place. By finishing this activity the project is closed. Because of the unpredictability of the software development process it’s not possible to define exactly when this activity will take place and so the project may take shorter or longer than planned. But by using the controls given by Scrum one can make calculations on the duration of the project. 26

The Unified Process (UP) 33 inception

The Unified Process (UP) O A framework for OO SE using UML O Has its roots in the industrial experience within Ericsson O Successor methodologies led by Rational and Objectory O Status: a widely adopted industrial standard O Uses the Unified Modeling Language (UML) O Several OOA and OOD methods were proposed during the 80’s and early 90’s O UP combine the best features of each individual method. O Rational Corporation developed automated tools to support UML methods. 34

The Unified Process (UP) - Phases 1. Inception (feasibility study) O Document a vision of the product O Who are the expected users of the system O What is the preliminary high-level architecture of the system O What is the development plan and what are the development costs? 2. Elaboration O Use cases are specified in detail O Software architecture is developed and specified 3. Construction – developing and testing code 4. Transition – corresponds to beta testing. 5. Production – deployment, monitored use of software 35

UP Phases 36

UP Work Products 37

Personal Software Process (PSP) O The Personal Software Process (PSP) is a structured software development process that is intended to help software engineers understand and improve their performance, by using a "disciplined, data-driven procedure"

Personal Software Process (PSP) The PSP aims to provide software engineers with disciplined methods for improving personal software development processes. The PSP helps software engineers to: O Improve their estimating and planning skills. O Make commitments they can keep. O Manage the quality of their projects. O Reduce the number of defects in their work. The goal of the PSP is to help developers produce zero-defect, quality products on schedule. Low-defect and zero defect products have become the reality for some developers and TSP teams, such as the Motorola division in Florida that achieved zero defects in over 18 projects through implementing PSP techniques.

Personal Software Process (PSP) Recommends five framework activities: O Planning O High-level design O High-level design review O Development O Postmortem Stresses the need for each software engineer to identify errors early and as important, to understand the types of errors 40

Team Software Process (TSP) O In combination with the Personal Software Process (PSP), the Team Software Process (TSP) provides a defined operational process framework that is designed to help teams of managers and engineers organize projects and produce software products that range in size of sizes beyond from small projects of several thousand lines of code (KLOC) to very large projects greater than half a million lines of code.Personal Software Process O The TSP is intended to improve the levels of quality and productivity of a team's software development project, in order to help them better meet the cost and schedule commitments of developing a software system.

Team Software Process (TSP) O Each project is “launched” using a “script” that defines the tasks to be accomplished O Teams are self-directed O Measurement is encouraged O Measures are analyzed with the intent of improving the team process 42

The Primary Goal of Any Software Process: High Quality 43 Remember: High quality = project timeliness Why? Less rework!