Process Model.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Unit 2. Software Lifecycle
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Agile and Scrum: Executive Summary June 2, 2011 Bob Schommer, CSP, PMP, MCTS Senior Project Manager Skyline Technologies, Inc.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
ECE44x SCRUM Overview slides adapted from Marty Stepp
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
NAUG NAUG Knowledge Evening – th February 2007.
Scrum CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile development By Sam Chamberlain. First a bit of history..
Object-oriented Analysis and Design
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Scrum Agile Methodology
The Product Owner prioritizes the requirements or features through feedback from the Stakeholders & interaction with the core team The Team.
Introduction to Agile.
What is Scrum Process? Where is it used? How is it better?
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
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.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
An Introduction to Software Engineering
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Introduction to Disciplined Agile Delivery (DAD) Scott W
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Lecture 5 17/9/15. What is Scrum? Scrum is one of the leading agile software development processes Agile framework for completing complex projects. Originally.
Software Process Models.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Software Development - Methodologies
TK2023 Object-Oriented Software Engineering
Object-oriented Analysis and Design
Process 4 Hours.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum.
Agile Training Day 2 November 17, 2015.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
SCRUM.
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.
Software Processes (a)
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Software Process Models
Product Backlog List of things that needs to be done to make the product come into existence 
Approaches to Systems Development
Software Processes.
Requirements and the Software Lifecycle
Scrum MODULE 3 – Part 3.
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Summarizing Our Models to Date
Chapter 2 – Software Processes
An Overview of Software Processes
Software Processes.
Scrum in Action.
Presentation transcript:

Process Model

A method is a disciplined procedure for generating a set of models that describe various aspects of a software system under development, using some well-defined notation. A methodology is a collection of methods applied across the software development lifecycle and unified by process, practices, and some general, philosophical approach.

Model Proses Software Llinear Evolutionaire/iteration Hybrid model Agile Rekayasa Perangkat Lunak - Citra N.,S.Si, MT

Model Waterfall Rekayasa Perangkat Lunak - Citra N.,S.Si, MT

The Systems Engineering Process * Software Engineering 7th ed, Ian Sommerville

SDLC Prototype

Evolutionary development Exploratory development Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements and add new features as proposed by the customer. Throw-away prototyping Objective is to understand the system requirements. Should start with poorly understood requirements to clarify what is really needed. Rekayasa Perangkat Lunak - Citra N.,S.Si, MT

Prototype Evolusioner Identifikasi Kebutuhan Pengguna Mengembangkan Prototipe Tidak Memenuhi Syarat? Delivery Sistem Ujicoba Sistem Prototipe Ya

Prototipe Throw-away Persyaratan Outline Buat Prototype Evaluasi Prototype Spesifikasi Sistem Kembangkan Software Validasi Sistem Delivery Reusable Komponen

Evolutionary development…

Incremental

Incremental development…

Spiral development Process is represented as a spiral rather than as a sequence of activities with backtracking Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required Risks are explicitly assessed and resolved throughout the process

Spiral model of the software process Rekayasa Perangkat Lunak - Citra N.,S.Si, MT

RAD

Extreme programming New approach to development based on the development and delivery of very small increments of functionality Relies on constant code improvement, user involvement in the development team and pairwise programming Good for small teams

eXtreme Programming phase Exploration: Determine feasibility, understand key “stories” for the first release, and develop exploratory prototypes. Planning: Agree on the date and stories for the first release. Iterations to release: Implement and test selected stories in a series of iterations. Refine the iteration plan. Productionizing: Prepare supporting materials (documentation, training, marketing), and deploy the operational system. Maintenance: Fix and enhance the deployed system.

RUP phase model

BOOM Initiation Make the business case for the project.Work also begins on the user experience and on drafts of architectural proof of concepts. The prototyping effort during the Initiation phase should be risk-driven and limited to gaining confidence that a solution is possible. Discovery Conduct investigation leading to an understanding of the solution’s desired behavior. (On iterative projects, requirements analysis peaks during this phase but never disappears entirely.) During this phase, architectural proofs of concept are also constructed.

Construction Complete the analysis and design, code, integrate, and test the software. (On iterative projects, these activities are performed for each iteration within the phase. Design and coding appear in all phases, but peak during this phase.) Final Verification and Validation (V&V) Perform final testing before the product or service is transitioned into production. (While final testing occurs in this phase, testing activities may occur throughout the SDLC—for example, before design or as a replacement for it.) Closeout Manage and coordinate deployment into production and close the IT project.2

The Scrum Framework Scrum is a management and control process that cuts through complexity to focus on building software that meets business needs. Management and teams are able to get their hands around the requirements and technologies, never let go, and deliver working software, incrementally and empirically.  (Ken Schwaber and Jeff Sutherland)

The Scrum lifecycle Planning: Establish the vision, set expectations, secure funding, and develop exploratory prototypes. Staging: Prioritize and plan for the first iteration. Develop exploratory prototypes. Development: Implement requirements in a series of sprints, and refine the iteration plan. Release: Prepare supporting materials (documentation, training, marketing), and deploy the operational system.

Scrum Roles Product Owner: The Product Owner should be a person with vision, authority, and availability. The Product Owner is responsible for continuously communicating the vision and priorities to the development team. It’s sometimes hard for Product Owners to strike the right balance of involvement. Because Scrum values self-organization among teams, a Product Owner must fight the urge to micro-manage. At the same time, Product Owners must be available to answer questions from the team. Scrum Master: The Scrum Master acts as a facilitator for the Product Owner and the team. The Scrum Master does not manage the team. The Scrum Master works to remove any impediments that are obstructing the team from achieving its sprint goals. This helps the team remain creative and productive while making sure its successes are visible to the Product Owner. The Scrum Master also works to advise the Product Owner about how to maximize ROI for the team. Team: According to Scrum’s founder, “the team is utterly self managing.” The development team is responsible for self organizing to complete work. A Scrum development team contains about seven fully dedicated members (officially 3-9), ideally in one team room protected from outside distractions. For software projects, a typical team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. The team has autonomy and responsibility to meet the goals of the sprint.

A product owner creates a prioritized wish list called a product backlog. During sprint planning, the team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces. The team has a certain amount of time — a sprint (usually two to four weeks) — to complete its work, but it meets each day to assess its progress (daily Scrum). Along the way, the ScrumMaster keeps the team focused on its goal. At the end of the sprint, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder. The sprint ends with a sprint review and retrospective. As the next sprint begins, the team chooses another chunk of the product backlog and begins working again.

A Sprint (or iteration) is the basic unit of development in Scrum A Sprint (or iteration) is the basic unit of development in Scrum. The Sprint is a timeboxed effort; that is, it is restricted to a specific duration.[25 The duration is fixed in advance for each Sprint and is normally between one week and one month, with two weeks being the most common. Each Sprint starts with a Sprint Planning event that aims to define a Sprint Backlog, identify the work for the Sprint, and make an estimated commitment for the Sprint goal. Each Sprint ends with a Sprint Review and Sprint Retrospective, that reviews progress to show to stakeholders and identify lessons and improvements for the next Sprints. Scrum emphasizes work that is really done at the end of the Sprint. In the case of software, this likely includes that the software has been fully integrated, tested and documented, and is potentially shippable.