“Something called agile”

Slides:



Advertisements
Similar presentations
ITEC 370 Lecture 24 Lifecycles. Review Questions? –Grades for Requirements/Design Doc F give prototype demonstration –Testing plan for your software Maintenance.
Advertisements

What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agenda −Scrum with TFS 2010 using MSF for Agile 5.0 −Planning the Project −How do you plan the project? −Project planning in TFS 2010 −Planning a Sprint.
ECE44x SCRUM Overview slides adapted from Marty Stepp
Agile Project Management with Scrum
Agile Development and Data With Scrum and TDD Andy Leonard VSTeamSystemCentral.com With thanks to Brian Knight, SQL Server MVP SQLServerCentral.com.
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.
Project Management with TFS 1. What TFS offers for Project Management? Work Item tracking 2 Portfolio backlog Backlog Issue tracking Feature Product Backlog.
Scrum CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Introduction to Scrum.
Scrum 1.
Agile development By Sam Chamberlain. First a bit of history..
Agile-SCRUM. Introduction to SCRUM Sanil Xavier What is Scrum?
Agile Methodologies for Project Management By – Komal Mehta.
Trusted IT Group. The challenge: 40 active, concurrent IT projects  Unsatisfactory Project Delivery.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
What is Scrum Process? Where is it used? How is it better?
1 SCRUM 22/02/2009 By Siemen Bastiaens >>
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Current Trends in Systems Develpment
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Project Management.
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.
Stephen Chief Strategy Officer Telerik
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
OFFICE OF INFORMATION AND TECHNOLOGY Mobile Applications Scrum Framework November 21, :00 am (EST) Seal of the U.S. Department of Veterans Affairs.
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.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Het einde van het beroep van tester - Wat Agile, DevOps en Scrum betekenen voor het testvak -
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
SCRUM.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Using Scrum to Improve Teamwork, Communication, Quality and Speed
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.
Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.
Introduction to Agile. Introduction Who is this guy?
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
Agile CRM Applying the Scrum Methodology for Deployment Neil Benson.
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!
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Using Scrum to Improve Teamwork, Communication, Quality and Speed.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Barnes & Noble Alonda Morgan. Agile UX Agile.
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.
Project Management with VSTS
Scrum.
Scrum and TargetProcess
SCRUM.
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 
CEN 4010 Intro to Software Engineering Professor Alex Roque
CSCE 741 Software Process Lecture 04 Availability
Scrum MODULE 3 – Part 3.
Johanna Rothman Agile Team Measurements Chapter 12
Summarizing Our Models to Date
Introduction to Agile Blue Ocean Workshops.
Scrum Science NGSS: Engineering, Technology, Applications of Science
Scrum in Action.
Presentation transcript:

“Something called agile”

Before we start… Paavo Pekkanen Today’s topics: Graduated from EVTEK 2006 Nokia Scrum master Today’s topics: Software development processes in general Scrum software development Roles Practices Artifacts Tools Values

Waterfall process What’s wrong with waterfall? Why can’t we use it? If it’s not broken, don’t fix it! But… Have you ever had any of these problems? Things didn’t go exactly as planned? Delivered software wasn’t exactly what the customer needed Delivering new features to your software takes too much time Well… Of course… But you can’t avoid these problems, can you? You can, if you have the right tool for the right purpose. Maybe you should try Scrum or some other agile method?

Lean, Agile, Scrum – what’s difference? Lean – a “philosophy” to optimize everything Scrum, Kanban & XP – agile process tools with lean characteristics Agile – a project management methodology

“Scrum is not a silver bullet!”

Scrum in a nutshell Scrum defines: Set of practices Roles Split the work into short iterative cycles - “sprints” Typical sprint length is 1-4 weeks Every sprint produces potentially shippable product increment New releases are shipped frequently, but with “small steps” Scrum doesn’t have to be about software development

Project triangle – waterfall Requirements FIXED Optimal project Resources, people Time, schedules

Project triangle – waterfall fail mode 1 Requirements Consequence Not enough people! Optimal project Resources, people Time, schedules

Project triangle – waterfall fail mode 2 Too much stuff to do! Requirements Consequence Optimal project Resources, people Time, schedules

Project triangle – scrum Requirements Optimal project Resources, people Time, schedules FIXED

Project triangle – scrum fail mode Requirements Consequence Not enough people Optimal project Resources, people Time, schedules

“You can only pick two!” Good Cheap Fast

Scrum roles Scrum defines four roles: NO project manager! Business owner Product owner Scrum master Team member NO project manager!

Scrum Roles Business owner “The boss” Supplies resources to the team Sets the direction of the business

Scrum Roles Product owner Sets the direction of the product Collects the new requirements from all of the stakeholders Prioritizes the requirements “The voice of the customer” for the development team Doesn’t have a permission to interfere the daily development work Is NOT a manager of the team

Scrum Roles Scrum master Responsible for the scrum process Facilitates Makes sure the Scrum principals are obeyed Facilitates Takes care of the practical things “Servant leader“ Removes impediments Anything which prevents or slows down the working of the development team “A team’s bulldozer” Acts as a buffer between the development team and the rest of the world Shields the team against any external interference Keeps everything visible! Is NOT a manager of the team

Scrum Roles Development team (scrum team) Typical size: 5–9 people Responsible to deliver the product increment Commits to the sprint goals agreed with the product owner Self-organizing Cross-functional Protected against any external interference  Allowed to be concentrated to work only on things it does the best – delivering the product increment of the current sprint

Can one person have more than just one role? Question Can one person have more than just one role?

Scrum Roles Avoid situation where one person has more than one role Sometimes it’s not possible Scrum master + product owner = conflicts of interest Scrum master + team member = no real scrum master Make sure everyone understands the roles Which responsibilities belong to each role Common mistakes which ARE NOT TRUE: Scrum master is the “Project manager” Product owner is the “Project manager” Product owner is responsible for the business Scrum master controls the requirements (user stories) Team members report to scrum master in daily meetings

Recap – any questions? Business owner Product owner Scrum master “The boss” Product owner Manages the requirements Knows what the customer wants Scrum master Ensures the scrum principles are followed Ensures the development team is fully functional and productive Scrum team / Development team Organizes itself and its work

Scrum Practices – Sprint planning Product backlog Collection of “stuff” to be done “someday” Typically a list of requirement specifications for new features Could include also “studies”, “issues”, “bugs” or any work which takes the development team’s time Single requirement is called PBI, Product Backlog Item Anyone can add new items into the product backlog Items must be prioritized “Features A, D and G are the most important!” Product owner is responsible for the priority order Requires close collaboration with all of the stakeholders Priority must be updated frequently!

Scrum Practices – Sprint planning Sprint backlog A subset of the Product backlog List of the requirements for the current sprint “These are the most important requirements - today!” Content agreed together with the product owner and the scrum team PO doesn’t have the power to decide the content alone Scrum team has the power to “no, that’s impossible” “What’s not in the backlog, doesn’t exist” No one can ask the scrum team to do anything outside the sprint content

Question A big boss enters the development team’s room saying: “I have a very important demo with a customer next week. I need you to implement this sales statistics feature asap!” What happens?

Scrum Practices – Sprint planning Product Backlog Item (PBI) Typically a requirement for a new feature PBI must have A user story, which describes the item An acceptance criteria, which defines the Definition of Done (DoD) Additionally PBI can have Size estimation Story points Team votes the size Accuracy improves slowly Business value estimation “How much we want it?” “How much it hurts us to not to have it” MySQl daily backup and restoration mechanism As a customer, I don’t want to lose my data if the MySQL server crashes. Acceptance criteria: There are automatic daily backups done for all the data in database Restoration scripts are manual After incident occurred, solved and servers running, data restoration should be possible to do in 1 hour These new features are documented internally All these features have been tested and no open bugs remain Other parts of the system has not been broken by these modifications

Recap – any questions? Product backlog Sprint backlog Collection of work to do Sprint backlog A subset of Product backlog Defines the goals for the current sprint Product Backlog Item (PBI) A feature requirement or any other work which takes time

Scrum Practices – Sprint planning Task list TODO list of everything one must do during the sprint Tasks are created from the content of the sprint backlog items Shows the status of the sprint progress Keeps track of the daily development work

Task list example – Beginning of the sprint User story Not started In progress Done Implement the UI As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa Write the test cases Run the test cases Task A As an administrator, I want to…. Task B Task C Task D

Task list example – In the middle of the sprint User story Not started In progress Done Write the test cases As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa Implement the UI Run the test cases Task A As an administrator, I want to…. Task B Task C Task D

Task list example – In the middle of the sprint User story Not started In progress Done Write the test cases Run the test cases As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa Implement the UI Task A Task B As an administrator, I want to…. Task C Task D

Task list example – At the end of the sprint User story Not started In progress Done Write the test cases As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa As an end user, I want to… blaa blaa blaa… so that I can… blaa blaa blaa Implement the UI Run the test cases Task A As an administrator, I want to…. Task B Task C Task D

Task list example

Task list example

Task list example

Who assigns the tasks for individual team members? Question Who assigns the tasks for individual team members?

Scrum Practices – Sprint in action Daily Scrum Daily stand-up meeting for the team to share information The meeting must be so short and efficient that people don’t have to sit, 5 to 10 min Every team member is asked: What did you do yesterday? What will you do today? Do you have any impediments with your work? When it’s not your turn to speak, SHUT UP and listen! Scrum master makes sure the discussion keeps on track

A team starts to use the daily scrum practice, what will change? Question A team starts to use the daily scrum practice, what will change?

Scrum Practices Sprint review meeting All the stakeholders are invited The scrum team demonstrates what was built during the sprint Product owner declares whether the acceptance criteria was met for each item, or not Accepted items have permission to be released

What happens, if an item doesn’t meet the acceptance criteria? Question What happens, if an item doesn’t meet the acceptance criteria?

Scrum Practices Retrospective meeting Feedback meeting after every sprint Facilitated by the scrum master The team considers “What did we do well” “What can we do better?” Translate to actions “Inspect and adapt”

Recap – any questions? Task list Daily scrum Sprint review TODO list for the sprint Team members pick tasks for themselves Daily scrum Daily stand-up meeting to share information Kept short and efficient Sprint review Team demonstrates the outcome of the sprint to Product owner Retrospective meeting The scrum team analyzes their own process

How to write a user story Template: As a <some role>, I want <something>, so that <some value> Describes who wants, what wants and what for in one sentence Examples: “As an end user I want to be able to upload my picture to my profile page, so that my profile page looks cool” “As a sales person, I want to see statistics of my performance in graphical charts, so that I monitor my performance” “As an administrator, I want to have database backups, so that I won’t be in big trouble if something unexpected happens” User story does not define any details of the implementation! Every user story needs a Definition of Done (acceptance criteria)

Definition of Done Definition of Done must describe exactly what “done” means Product Owner must pay careful attention when defining the DoD The scrum team must challenge the DoD, if necessary “What’s not in DoD, is not needed” Item is either “done” or “not done” Example: Story: Picture upload end user can upload his/her picture from profile settings page picture is shown on the left upper corner of the profile page picture is scaled to fit the profile picture box on the profile page functional tests are passed regression tests are passed design documents are updated user's guide is updated Does not define any details of the implementation!

How to define tasks What’s a good size for a task? You don’t know before you try Some tips and hints: If completing the task takes more than you can do in one day, ask yourself: “Can I split this in two?” If it takes more time to write the tasks than doing the tasks, ask yourself: “Am I writing too small tasks?” BUT… If a very small task is critical and easy to forget, maybe it’s a good idea to put it on the task board Be clear on writing the task Any team member must understand what the task is about New tasks occur in every project Any team member can write new tasks when needed Leave some room for surprises Remember the team is self-organized, DON’T assign tasks to people If you pick a task, the rest of the team trust you really do that task You should finish the task before picking the next one

Task examples Story: Tasks: TOTAL HOURS: 39 “As an end user I want to be able to upload my picture to my profile page, so that my profile page looks cool” Acceptance criteria (DoD): end user can upload his/her picture from profile settings page picture is shown on the left upper corner of the profile page picture is scaled to fit the profile picture box on the profile page functional tests are passed regression tests are passed design documents are updated user's guide is updated Tasks: Update DB structure (1h) Implement changes to “Profile settings” page (3h) NOTE: Ask the product owner for picture size limitations Implement changes to “Profile” page (3h) NOTE: picture goes to left upper corner NOTE: picture must be scaled to fit the picture box Code review (4h) Update design documents (1h) Update user’s guide (1h) Write test cases (5h) Test case review (15h) Run functional test cases (4h) Run regression test cases (4h) TOTAL HOURS: 39

What are your organization’s values? Question What are your organization’s values?

Scrum Values Scrum has five values Commitment Be willing to commit to a goal.  Scrum provides the tools for it. Focus Do your job. Focus all your efforts and skills on doing the work that you’ve committed to doing. Don’t worry about anything else. Scrum has five values Commitment Focus Openness Respect Courage WARNING: If your team lacks these values, you will most probably fail in scrum implementation Openness Scrum keeps everything about a project visible to everyone. Respect Individuals are shaped by their background and their experiences. It is important to respect the different people who comprise a team. Courage Have the courage to commit, to act, to be open and to expect respect.

The end Thank you!