A GILE SCRUM Presenter Name: Eng. Rasha Farouk Presentation Date: 4 th October 2015.

Slides:



Advertisements
Similar presentations
Iteration Planning.
Advertisements

Facilitated by Joanne Fraser RiverSystems
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agile 101.
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
Agile Project Management with Scrum
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
© Timothy Korson Page 1 Scrum by Dr. Korson For CPTR 209 Software Engineering Version
 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..
Degree and Graduation Seminar Scope Management
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
TOGETHER EVERYONE ACHIEVES MORE
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Brainstorming Steve Chenoweth & Chandan Rupakheti RHIT Chapters 12 & 13, Requirements Text, Brainstorming Techniques document Brainstorming involves generating.
Agile Design and SCRUM Brent M. Dingle, Ph.D. “For the last few centuries, … science has been attempting to break matter down into ever smaller bits, in.
Agile Methodologies for Project Management By – Komal Mehta.
Trusted IT Group. The challenge: 40 active, concurrent IT projects  Unsatisfactory Project Delivery.
SESSION ONE PERFORMANCE MANAGEMENT & APPRAISALS.
© 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Deeper Dive Into: User Stories.
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Goal Setting The foundation of a plan for success includes goal setting and the achievement of goals.
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.
Release and Iteration Planning September 13, 2008.
Stephen Chief Strategy Officer Telerik
Mobile Aps: Agile Mentoring Review
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
Participate in a Team to Achieve Organizational Goal
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Het einde van het beroep van tester - Wat Agile, DevOps en Scrum betekenen voor het testvak -
Introducing Project Management Update December 2011.
What Is Agile? Agile is a group of software development methodologies Scrum Extreme Programming (XP) Lean Etc. Key Characteristics: Small increments Adaptive.
Interacting with consumer Software Engineering. So far… What is Software Engineering? Different software process models waterfall, incremental, spiral.
SCRUM.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
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.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
Software Process Models.
Introduction to Agile. Introduction Who is this guy?
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Software Quality Assurance Chip Ene, February 14, 2015.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
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.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
Agile Project Management and the yin & yang of
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum.
Scrum and TargetProcess
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Scrum Management
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.
Product Backlog List of things that needs to be done to make the product come into existence 
Chapter 3: The Project Management Process Groups: A Case Study
Scrum MODULE 3 – Part 3.
Summarizing Our Models to Date
Sprint Planning April 2018.
Introduction to Agile Blue Ocean Workshops.
Applied Software Project Management
Scrum Science NGSS: Engineering, Technology, Applications of Science
Scrum in Action.
Presentation transcript:

A GILE SCRUM Presenter Name: Eng. Rasha Farouk Presentation Date: 4 th October 2015

Main Topics Pleasing Your Customer. Gathering Requirements. Agile Software Development.

Pleasing Your Customer

Ultimate goal of software development Make your customer happy solving your customer’s problem by delivering – what is needed – on time – on budget

This is NOT easy Important: Need to have a clear idea of who your customer is!! Software is NOT Guesswork – You need to keep the customer in the loop to make sure you’re on the right path even when you’re SURE you know what the customer wants

Great Software Delivers: What is needed – Requirements On Time – Project Planning On Budget – Project Management

Gathering Requirements

Knowing what the customer wants. How?

Requirements Gathering Brainstorming User Stories Planning – Estimation Game By Follow these steps:

Impose Structure. – Identify all of the different things the system has to do. A requirement is: – A single thing that the software has to do. – Written in User’s Language. Translate Entire Problem Statement. – Title: – Description: Requirements Gathering-1:

Return to customer and ask questions: – Did I get this right? – What did you mean by…? – Gather more requirements. – Is this really all of the functionality that you need? – If we built all of this, what would you want in version 2.0? All this work will lead to new or clarified requirements Requirements Gathering-2:

Problem: Not Enough? – you feel that you just don’t have a good grasp on the big picture. – This can be especially true if “customer” ≠ “end user” – Next step is to hold a brainstorming session with as many different stakeholders as possible. It also calls a “blue-sky session” Requirements Gathering-3:

Goal: get stakeholders to generate tons of candidate requirements; not everything will make it into the final system Things to Avoid – The Silent Tomb: Leave job titles at the door, people should not feel afraid to speak up just because the boss is there – Criticizing people rather than ideas – Developer jargon “NOT ‘AJAX’ but ‘rich user interface’” Bluesky Session “Brainstorming session”:

Transform requirements gathered so far into user stories. – A user story describes how the user interacts with the software you’re building. – It should be written from your customer’s perspective and describe what the software is going to do for the customer. – User stories are essentially informal use cases. Next? User Stories - 1

SHOULD – describe one thing the system should do for the customer. – be written using language that the customer understands. – be written by the customer !! – be short. No longer than three sentences. SHOULD NOT – be a long essay – use technical terms unfamiliar to the customer – mention specific technologies (save those for design) Next? User Stories - 2

At some point during the requirements gathering process, the customer will ask: – How long will all of this take to develop? You need to supply a project estimate which will be the sum of the estimates for your user stories So, now you need to supply estimates for each user story How do we come up with this estimate?

Planning Poker – 1 Planning - 1

The zero card means “this story is already done” or “this story is pretty much nothing, just a few minutes of work”. The question mark card means “I have absolutely no idea at all. None. ” Should be rare. If this card is used too often, the team needs to discuss the stories more and try to achieve better knowledge spread within the team. The coffee cup card means “I’m too tired to think. Let’s take a short break.” Addresses the problem in which two or more team members come up with wildly different estimates for a story i.e. when a single user story generates estimates of say “3 days”, “2 weeks”, and “3 months” from three different developers. The underlying cause for these different estimates is assumptions; what did you assume was true or not true about the project to generate the number that you did? Planning - 2

Place a user story in the middle of the table. Each team member thinks about the story and forms initial estimate in their heads. Each person places the corresponding card face down on the table; note: estimate is for entire user story. Everyone then turns over the cards at the same time. The larger the differences between the estimates, the less confident you are in the estimate, and the more assumptions you need to highlight and discuss. So, the next step in planning poker is: – Put assumptions on trial for their lives – Have each team member list the assumptions they made and then start discussing them? – Again, you need to criticize the assumption not the person – Goal is to get agreement on what assumptions truly apply. Planning - 3

If the assumptions reveal a misunderstanding of the requirements, then go back to the client and get that misunderstanding clarified. Otherwise, start to eliminate as many assumptions as possible, then have everyone revise their estimates and play planning poker again to see if the spread has decreased. Your goal is once estimates cluster around a common number, assign that number and move to the next story. Planning - 4

Your life cycle is thus – Talk to customer: clarify misunderstandings, assumptions. – Play planning poker. – Clarify assumptions, possibly by returning to step 1. – Come to a consensus estimate for the user story. Do this until all user stories have a consensus estimate assigned. Things to watch out for – Big estimates == bad estimates If the story is too big; decompose; try again. Ideal iteration is 20 work days (1 month).

Requirements Life Cycle

Standup Meeting A daily meeting used to – keep the team motivated and aware of progress (or not) – keep your board up-to-date – highlight problems early It should – Track progress and update tasks. – Discuss what happened yesterday and plan today’s activities. – Bring up issues, and last between 5 and 15 minutes “Its so short, no one has time to sit down”

Agile Software Development

Why software projects fail? Unrealistic Schedules. Inappropriate Staffing. Changing Requirements During Development. Poor-Quality Work. Believing in Magic.

Agile Scrum

Prepare Scrum Project Populate Product Backlog Estimate Backlog Using Planning Poker Prioritize Backlog Populate Release Backlog Populate Sprint Backlog SPRINT Sprint Demo Sprint Retrospective

Prepare Scrum Project - 1 The term scrum comes from the game of rugby and a short for scrimmage derived from scrimmage. Old in the context of software development scrum is a method of project management. The purpose is to keep the focus on delivering the highest business value to stakeholders in the shortest time possible.

Prepare Scrum Project - 2 There are three core rules: – the product owner:  represents the stakeholders and is the voice of the customer.  The product owner is accountable for ensuring that the team delivers value to the business. – Team members :  are responsible for delivering potentially shippable products.  the team is composed of three to nine individuals with cross functional skills who do the actual work that is analyze designs develops test document et cetera. – Scrum master :  scrum is facilitated by a scrum master who is accountable for removing impediments to the ability of the team to achieve the sprint gold and produce deliverables.  the ScrumMaster insurers that the Scrum process is used as intended.  and acts as the enforcer of a scrum rules. The core rules are the only ones who are committed to the project. In the scrum process there are a few other roles that may have stake in the product. These stakeholders do not have any formal role in the team and are only involved in the process infrequently.

Populate Product Backlog- 1 The product owner is responsible for: – writing requirements. – Defects. – Enhancement. – Features from the perspective of the end-user. The product owner needs the effort in capturing users stories but expressed desire needs and features other product to be built. Customers, stakeholders, business, IS and any derivative are invited to participate. The product owner writes the user stories and often does so in front of a stakeholder group. the collection of all these users stories is called the product backlog. This product backlog can be thought of as a wish list of the customer that will make the product great.

Populate Product Backlog- 2 The Scrum Master facilitates the process of populating the product backlog and when necessary helps that product owner author user stories. Team members can help contribute input to business or technical user stories. The actual order a the creation of user stories is not important. The goal is to have the backlog to conduct further planning and allow the team or teams to begin work.

Populate Product Backlog- 3 So how do we write user stories? A user story describes a single feature in terms of the user interaction. Specifies the role, requirement, and purpose of a chunk of functionality. They can often have the following format:

Populate Product Backlog- 4 User Stories can often have the following format:

Populate Product Backlog- 5 Example:

Populate Product Backlog- 6 In addition each user story has conditions of satisfaction. These conditions: – enable the team members to know when they have met the requirement for a user story. – these are not test cases but significant business acceptance criteria.

Populate Product Backlog- 7 In our example conditions of satisfaction could be:

Estimate Backlog Using Planning Poker - 1 This product backlog is the customer's wish list. That will make the product great. The product owner would like to have created or built estimates in the product backlog for work. Several valid estimation techniques are available including expert judgment proxy estimation based on past projects. All these techniques require that we choose a unit of estimation and measurement.Story points are among the most effective units have estimation. Story points tell us how big a user story is relative to others either in terms of size or complexity.

Estimate Backlog Using Planning Poker - 2 When it comes to choosing numbers to represent the sizes. Sequence works will be 0 1/2 one to Story points are created by and are specific to the team that estimated them and will likely include a degree of complexity. That is understood only by the team doing the estimating. The estimation process will be facilitated by the Scrum Master. The product owner read too the user story together with the conditions have satisfaction to the team and begins a conversation to put the user story into context. the product owner will answer questions,clarify expectations and provide explanations about what exactly the story entails. The Scrum Master can read these details as discussions proceed and jot down things to be read.

Estimate Backlog Using Planning Poker - 3 Every team member pulls out our estimate card. So no one else can see it after everyone has picked their estimate card. They are revealed at the same time. If everyone is holding the same number. This established as the relative estimate of the story. If estimate cards are different we discuss it. Let's look at that example, our team members holed up three five and 13 at this point. We want to hear from who select 3 and 13 why if three and why if 13. Anyone from the team who will participate in completing the story can talk and ask questions. The team member holding the 13 could say I am developer and this is going to be really hard to code. I need to set up a database set up the environment and so on. The team member holding the three could say you are right and I'm going to come up in my estimates. After everyone has a chance to talk, each team member picks a number again from the card deck. At once the cards are revealed. This time the team members holed up 8, 8 and 13. At this point, the Scrum Master will ask the team member holding a 13 to explain why a 13? if agreeable to the team, every one switches to 13.

Estimate Backlog Using Planning Poker - 4 This is not a vote and the majority doesn't rule team members keep going until the consensus is reached. Once the team agrees on the estimate, the Scrum Master will mark the user story card with the estimate number and the product owner will put it back on the backlog in no particular order. One challenge with a relative estimation is how to get started and which story to pick first.

Prioritize Backlog - 1 Priorities a product backlog is the one beast that has been elaborated on extensively in the s/w industry. After the team completes populating and estimating the product backlog, the next step is to determine a logical sequence to build or implement the user stories. The product owner is responsible for prioritizing the product backlog and ensuring that the team delivers to the customers.

Prioritize Backlog - 2 There are many factors that drive the product backlog prioritization. The product owner will group the stories into high, medium and low categories. Arriving at their correct set of prioritization is not easy. It takes a lot of negotiations with different stakeholders and users have the systems to arrive at the final priority list. There are several techniques. The product owner will organize the user stories in priority order.

Prioritize Backlog - 3 Ranking the highest priority stories first, medium and low priority stories can remain in the backlog without being ranked. The Scrum Master facilities the process by working closely with the product owner and does not directly prioritize the backlog. Team members are typically observers and may offer input if requested.

Prioritize Backlog - 4 A good product backlog has the following characteristics: – it is prioritized to ensure that the team builds the most important features first. – It is estimated by the team to give the product owner clarity and enabling him to answer questions such as "when will these stories be done?“ – It includes all the work necessary to complete the project. – It is constantly changing and involving to reflect the current realities above the project.

Populate Release Backlog The product owner is responsible for: – Planning and populating the release backlog – To ensure that the team delivers to the customer the release backlog. – To ensure that the team delivers to the customer the most valuable functionality first. the product owner takes input from stakeholders and business to plan the release. Team members provide contextual input but only upon request from the product owner.

Populate Sprint Backlog - 1 The product owner prioritizes the release backlog prior to the sprint planning exercise during spring planting. The Scrum team makes a commitment to the product owner to implement the user stories during the sprint. The Scrum Master facilitates the process of planning the sprint and ensures the team does not pull more user stories into the sprint backlog. If it exists the Scrum team moves the agreed sprint user stories to the Sprint backlog. team members ask clarifying questions to the product owner when necessary to further understand the details regarding the user story. And the scrum Master facilitates the team and product Owner discussions.

Populate Sprint Backlog - 2 Team members can nominate when applicability specific technical user stories that help the project progress forward and communicate these technical needs and their importance to the product owner once a sprint has started. The product owner may not add or change anything to the sprint backlog The Scrum Master protects the team from interference from outsiders while working within the Sprint. If the team indicates that it has excess bandwidth during the Sprint, the product owner may suggest to the team which additional user stories to pull.