670 likes | 957 Views
That means no more planning and no more documentation. Just start writing code. We are going to try something called SCRUM. There is almost no testing effort. Scrum and testing. WTF!?!. This is not the way I see it Let me show SCRUM through my eyes.
E N D
That means no more planning and no more documentation. Just start writing code. We are going to try something called SCRUM There is almost no testing effort Scrum and testing WTF!?! This is not the way I see it Let me show SCRUM through my eyes.. Claudiu Draghia www.brainforIT.com
Why Not Waterfall?? “Managing the development of large software system” by Winston W. Royce, page 2: I believe in this concept but the implementation described is risky and invites failure. ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… However I believe the illustrated approach to be fundamentally sound. The remaining of this discussion presents 5additional features that must be added to this basic approach to eliminate most of the development risks. Waterfall is sound and solid development process if applied as it is not based on a feeling Ant it goes on for 9 more pages... The same thing is true for SCRUM...…
What will we do • We will go through the “word” • Take the Wikipedia definition of SCRUM and go through each aspect • What is a software and what is a product? • What are the agile values and principles? • What is iterative and incremental? • Go through the SCRUM ‘s father guideline • Challenge SCRUM and SCRUM adoption • Take a user story and SCRUM it If you are new to SCRUM there quite some strange terms and concepts If something does not make sense just shout my name, I’ll stop and answer your question or reiterate what it means.
What is scrum The word The scrum Following some infringements of the rules play is restarted with a scrum. Eight players from each team bind together in their own 3-4-1 formation in a crouching position. The two formations engage each other head-on to form a single mass off 16 players. The ball is then put into the tunnel between the opposing formations and each team attempts to get control of the ball with their feet. Find out more about the scrum in the pages about how to play rugby.
What is scrum The word
Team and group = individual accountability Individual and mutual accountability = discussion, decision making, problem solving, and planning share information and perspectives = individual goals team goals = concern with outcomes of everyone and challenges the team faces concern with one's own outcome and challenges = purpose, goals, approach to work shaped by team leader with team members purpose, goals, approach to work shaped by manager = How is the surgery? individual failure teams' failure Usually the surgery is a success but the patient dies The customer does not care if you have done the best tests if the application is not working on production
What is scrum • Scrum is an iterative and incremental agile software development framework • for managing software projects and product or application development • for managing software projects and product or application development Your focus is not only the software application but also the product with all its attributes It has to be clear to anyone what is “The Product” How you define the product is up to you. This is the starting point for everything.
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: No matter what you will always put in your time sheet. Individuals and interactions over processes and tools This does not mean we do not need processes. They have to exists and they have to be easily changed and adaptive http://www.agilemanifesto.org/
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Working software over comprehensive documentation This does not mean no documentation. People do not come at the beginning of a project and leave at the end. Business flows are extremely important in understanding changes.
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Customer collaboration over contract negotiation How should the customer see this? Who can explain him this and get his agreement? Contracts have to exists. They way they are made has to be changed
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Responding to change over following a plan. Change without any understanding leads to chaos. Changes need to be understood before done. The plan has to be simple so that we can change it quickly.
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. We deliver all the time. We do not have the time to test everything Customer has to have clear expectations and these should be known to everyone The whole focus is on the customer
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: Changing requirements has to be controlled. Uncontrolled changes lead to chaos. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. Functionality We follow these principles: What does working software mean for you? Security What about the customer? Performance Customer support Deployment Deliver working software frequently, from a couple of weeks to a couple of Months, with a preference to the shorter timescale.
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: Business should know about development, Development should know about business Business people and developers must work together daily throughout the project.
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: This one is for the management and HR. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job……. DONE Before asking for results give us the means. Trust means to give the chance to fail. Failing is always a option…don’t be afraid…
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. The telephone has been in usage since 1950... Give us more... It’s the 21st century
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: Working software is the primary measure of progress. Working software has to be defined If this is the measure then this has to be known and accepted by everyone You have to prove that you respected the definition
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. It’s ok to be exited or nervous for a delivery We follow these principles: Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. This requires discipline and self determination
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: Continuous attention to technical excellence and good design enhances agility. Lessons learned Trainings Best practices Testing approach and methodology
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: Simplicity--the art of maximizing the amount of work not done--is essential. ? Among other things, it means that a team can spend an amazing amount of time building a complex system that will handle all possible eventualities - or it can do only what is needed right now, get it right, and get it out the door.
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: The best architectures, requirements, and designs emerge from self-organizing teams. It is not a democracy but more a meritocracy Leader must arise from the interactions Self-organization = is a process where some form of global order or coordination arises out of the local interactions between the components of an initially disordered system
What is scrum • Scrum is an iterative and incremental agile software development framework February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles. We follow these principles: You will have to find ways of improving In SCRUM this is done at the end of every sprint. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
What is scrum • Scrum is an iterative and incremental • agile software development framework Agile does not refer only to the development team but everyone involved in the product development . It is not a change in a “single place”.
What is scrum ? • Scrum is an iterative and incremental
“Iterating” builds a rough version, validates it, then slowly builds up quality A more iterative allows you to move from vague idea to realization making course corrections as you go. Let’s start….. 1 2 3 4 5
Iterative development If this is different in waterfall and iterative then SCRUM has made visible the mismatch between dev and testing that already existed Waterfall Test Develop Regression results have to be “fast” Testing is no longer a gateway for production Feedback about how the software is behaving faster If bugs are not fixed quickly iterations will be slow Production Definition of done Iterative Develop Test Develop Test Develop Test Development and QC work side by side delivering increments through iterations
What is scrum ? • Scrum is an iterative and incremental
“Incrementing” builds a bit at a time Jeff Patton www.AgileProductDesign.com Incrementing calls for a fully formed idea. And, doing it on time requires dead accurate estimation. Let’s see…. 1 2 3 4 5 Incremental software development methods have been traced back to 1957.
Incremental development Each increment has to be functional and usable. It has to bring business value. It can be $$$$ tomorrow We have “something working” at each milestone Instead of having a final working product
Incremental development How do you eat a elephant?
Incremental development = = They are part of a epic Testing has to validate if the “whole” is working not only the current user story.
“Incrementing” and “Iterating” SCRUM combines both iterative and incremental Let’s watch a SCRUM Mona Lisa 2 1 Start a new sprint and carry on
Increment applies not only to the “end sprint product” but also how you build What is scrum • Scrum is an iterative and incremental Since this is a principle you have to apply it to how you develop software also You create smaller bits that in the end have to fit with the whole Incrementing calls for a fully formed idea. “Iterating” builds a rough version, validates it, then slowly builds up quality “Incrementing” builds a bit at a time
What is scrum • In 1995, Jeff Sutherland and Ken Schwaber jointly presented a paper describing the Scrum methodology, its first public presentation • In 2001, Schwaber worked with Mike Beedle to describe the method in the book Agile Software Development with Scrum • Now he has a website
Schwaber’s SCRUM guide What is scrum The Scrum Team The Development Team Scrum Artifacts The Scrum Master Product Backlog The Product Owner Sprint Backlog Scrum Events The Sprint Sprint Planning Daily SCRUM Review Retrospective
Schwaber’s SCRUM guide The Development Team = THE PIGS Others (not involved in development) = THE CHICKENS The person who says it cannot be done should not interrupt the person doing it. Chinese Proverb
Schwaber’s SCRUM guide Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint Who verifies and validates these? They are just a part of the definition of done 3C These are the acceptance criteria Acceptance criteria need to be clear and testable C apabilities To validate them you need test case onditions C onstrains C Product backlog SCRUM Master Product owner What? Development team
Schwaber’s SCRUM guide Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint The whole purpose of this meeting is for the development team to have a clear understanding about what it required You have to use any means necessary. SCRUM tells you what to do not how to do it. 3C C apabilities onditions C onstrains C Product backlog SCRUM Master Product owner What? Development team
IN SCRUM THIS CAN AHAPPEN ALSO Schwaber’s SCRUM guide Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint 3C C apabilities onditions C onstrains C Product backlog SCRUM Master Product owner What? Development team
Schwaber’s SCRUM guide Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint 3C C apabilities onditions C onstrains C Product backlog SCRUM Master Product owner What? Development team
Schwaber’s SCRUM guide You have to take into account that you have to build iterative and the final product has to be a increment. Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint 3C Story points represent complexity and duration. C apabilities The scale is: 1, 2, 3, 5, 8, 13, 21…. onditions C onstrains C Product backlog SCRUM Master Product owner What? Fibonacci numbers Story Points Planning poker Development team
Schwaber’s SCRUM guide Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint 3C C apabilities onditions C onstrains C How? Product backlog Define activities SCRUM Master Product owner What? Fibonacci numbers Story Points Planning poker Development team
Schwaber’s SCRUM guide Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint You have only 4 hours to drive the direction for the next weeks. YOU have to prepare. Everything related to testing has to be as clear as possible. 3C C apabilities onditions C onstrains C How? Product backlog Define activities SCRUM Master Product owner What? Fibonacci numbers Story Points Planning poker Development team
Schwaber’s SCRUM guide • You have to : • Make a impact analyses • Spot out any dependencies • Evaluate how you can fulfill the definition of done. • Define your activities at least for the next couple of days • You need to have everyone on your side Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint 3C C apabilities onditions C onstrains C How? Product backlog Define activities SCRUM Master Product owner What? Fibonacci numbers Story Points Planning poker Development team
Schwaber’s SCRUM guide Sprint Planning What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved? Time boxed to 8 hours for a one month sprint Sprint Goal 3C C apabilities onditions C onstrains C How? Product backlog Define activities SCRUM Master Product owner What? Fibonacci numbers Story Points Planning poker Development team
Daily SCRUM Routine Beside the SCRUM we meet whenever it is necessary Test case, approach and scripts have to be understood by everyone in the team Testing has to become a secondary skill for everyone It has to be in the best interest of the team (priority& commitment) We attend a SCRUM meeting every day We pick up task voluntarily We never start something that cannot be finished in the current sprint We follow some basic rules If the PO wants something new in the sprint he has to remove something of similar value To do this we have secondary skills to help the team closing the current activities
Schwaber’s SCRUM guide Sprint Goal What did I do yesterday that helped the Development Team meet the Sprint Goal? What will I do today to help the Development Team meet the Sprint Goal? Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal? Daily SCRUM Time boxed to 15 minutes every date Development team SCRUM Master Require more information