Agile & Scrum: What Are These Methodologies And How Will .

3y ago
64 Views
2 Downloads
98.30 KB
7 Pages
Last View : 9d ago
Last Download : 3m ago
Upload by : Brady Himes
Transcription

Agile & Scrum: What are thesemethodologies and how willthey impact QA/testing roles?Marina Gil SantamariaSummer 2007

The idea behind the Agile approach is thatinstead of building a release that is hugein functionality (and often late to market),an organization would adapt to dynamicchanging conditions by breaking a releaseinto smaller shorter cycles of 1 to 6 weekscalled sprints.INTRODUCTIONAgile Software Development is a methodology for undertaking softwaredevelopment projects in which incremental functionality is released in smallercycles, and work is performed in a highly collaborative manner by self-organizingteams that embrace and adapt changes to ensure that customer’s needs are trulymet. Agile Software Development is not new, in fact it was introduced in the 1990sas a way to reduce costs, minimize risks and ensure that the final product is trulywhat customers requested. The idea behind the Agile approach is that instead ofbuilding a release that is huge in functionality (and often late to market), anorganization would adapt to dynamic changing conditions by breaking a release intosmaller shorter cycles of 1 to 6 weeks. Each cycle is called an iteration, or sprint,and it’s almost like a miniature software project of its own, because it includes all ofthe tasks necessary to release the incremental new functionality. In theory, at theend of each sprint, the product should be ready for a GA release. Agilemethodology emphasizes real-time communication, preferably face-to-face, versuswritten documents and rigid processes. In addition, one of the most broadlyapplicable techniques introduced by the agile processes is to express productrequirements in the form of user stories. Each user story has various fieldsincluding an “actor”, a “goal” or task that they need to perform, an explanation of“why” it is needed and the associated value, and a corresponding “priority”.Most agile teams include all the people necessary to release software. At aminimum, this includes programmers and the group or team they are developingthe application for, often referred to as their "customers" (customers are the peoplewho define the product; they may be product managers, business analysts, or actualcustomers). Typically an agile team will also include a ScrumMaster, testers,interaction designers, technical writers, and managers.Scrum is really a project managementmethodology to facilitate agile softwaredevelopment.What is scrum? Scrum is really a project management methodology to facilitateagile software development, and enable the creation of self-organizing agile teams.A ScrumMaster is like a traditional project manager in the sense that he/sheoversees the centralization of team communication, requirements, schedules andprogress. But it is also very different because his/her main responsibility is tofacilitate team communications and provide guidance and coaching, while removingimpediments to the ability of the team to deliver its goals. Unlike a traditionalproject manager, the ScrumMaster doesn’t direct the team, because an agile team isbased on the philosophy that a team member is committed to the other teammembers, not to a management authority.Agile & Scrum: What are these methodologies and how will they impact QA/testing roles?Page 2

The product backlog is the master list ofPHASES OF AN AGILE PROJECT MANAGED VIA SCRUMAgile can be customized to fit each corporation in terms of size, iteration time,experience, etc, but typically an agile project will have these phases and milestones.all requirements desired in the productthat the product owner has drafted in theform of user stories1. Kickoff meetingAlthough this may seem routine for any project, with an agile development projectthis is a key element for getting the project launched. The goal of this meeting is toget everybody on the team together to review the product backlog (which is themaster list of all requirements desired in the product that the product owner hasdrafted in the form of user stories), as well as the user personas (or the profile ofeach type of product user). In my opinion, this is a nicer and clearer way tointroduce product requirements, because you really have more visibility into who isusing the product, what are they trying to achieve and why, right from thebeginning. A kickoff meeting usually lasts at least half a day with everybodytogether going over a “story writing workshop” -- in which stories are selected andthen decomposed into programmable tasks and written in a white board togetheralong with the time estimates for completion. Sometime real customers are invitedto the kickoff meeting as well to review and clarify the product backlog with theagile team.2. Sprint/iteration planningOn an agile team all the members jointlyassociate level of difficulty to specifictasks, and remove or add additionalstories and/or tasks as needed; tasks aredistributed among the team on a pervolunteers basis.The next step is the sprint/iteration planning, in which the team collectivelydecides the sprint goal and sprint backlog (list of prioritized work to be done forthat particular sprint). While the team is collectively creating the sprint backlog,stories need to be broken into either sub-stories or smaller tasks. During thiscollective team exercise you can really see the differences in project management (atleast if you have a more rigid and formal waterfall like type of background), becausethere is no management authority that assigns tasks to team members. On an agileteam all the members jointly associate level of difficulty to specific tasks, they canremove or add additional stories and/or tasks, and tasks are distributed among theteam on a per volunteers basis. Unlike a traditional project manager function, theScrumMaster role in this meeting is to maintain the backlog list in the meetingbased on team feedback and consensus, make sure that nobody is volunteering fortoo many tasks to the point of overload, and facilitate the process of buildingpersonal commitment to the team.3. Scrum meetingsNow that the Sprint planning is ready in the form of sprint backlog –which isdynamic and not set in stone, in fact it is very likely that it will adapt and changebased on new stories, new tasks and/or impediments found throughout theAgile & Scrum: What are these methodologies and how will they impact QA/testing roles?Page 3

iteration --, scrum meetings will be set at the same time and in the same place ona daily basis. If you have never attended a scrum meeting, these meetings are verydynamic in nature and fast, never more than 30 minutes, and ideally 10-15 minutes.The objective is to go around so each team member can answer 3 questions: whathave I accomplished since the last meeting (developed, tested, written, etc), whatwill I be working on next, and what are the problems, if any, preventing me fromaccomplishing my goals. These meetings are very important to make sure that theteam moves towards achieving their sprint goal, or adapts/evolves and changespriorities and tasks as needed if new stories, impediments or new scenarios areencountered.4. Final acceptance meetingAt the end of the sprint or iteration, usually a final acceptance meeting takesplace, which is typically done by presenting what the team has accomplished, andby delivering a demo to the customer or to a larger audience.5. Sprint Retro MeetingAt the end of an iteration there is also a sprint retro meeting, similar to apostmortem meeting at the end of other traditional projects, so the team getstogether to evaluate what worked well, and what needs to be improved during theirnext iterationTOP 3 THINGS A QA PROFESSIONAL SHOULD EXPECT WHEN ANORGANIZATION ADOPTS AGILE/SCRUM DEVELOPMENTTECHNIQUESTesting is not a phase at the end; it reallyis integrated throughout the entireiteration cycle, and it goes hand in handwith programming tasksExpect a peer to peer relation with yourdevelopment counterparts, bettercommunication and more collaborationAgile and Scrum are really changing the way testing is perceived throughout theproject. Testing is not a phase at the end; it really is integrated throughout the entireiteration cycle, and it goes hand in hand with programming tasks. In my experience,when comparing a testing role performed within an agile project, or when usingmore rigid and formal approaches, I have found that with agile methodologies thereis:1. Better communication and more collaboration among QA &development folksGone are the days of “give me requirements” and “I will give you bugs and reportsback” QA folks are involved in the project from the start – along with theirdevelopment counterparts--, and they have access to the same information aboutproduct requirements and customer needs at the same time. This participationAgile & Scrum: What are these methodologies and how will they impact QA/testing roles?Page 4

from the onset, combined with the fact that development and QA are part now ofthe same agile team, that they get together on a daily basis, and that they have fullvisibility into the tasks that each other is performing towards the overall success ofthe sprint, means better and more frequent communication among themselves. Inaddition, because the entire team meets everyday (development, QA, productmanagement, etc) there are more opportunities for collaboration and more viewpoints towards performing a particular task. Also the traditional “rivalry” that youmay find among QA and development is eliminated because there is a single agileteam now working to achieve a common goal.2. A new “peer to peer” relationship between development and QApersonnelYou should be prepared to “speak up” much more. Agile methodologies are allabout building self-organized teams, and the voice of a QA engineer/tester carriesthe same weight than a developer. Think about it. In the daily scrum meeting eachteam member gets asked about their accomplishments (testing, developing, writingproduct documentation, etc), future plans, and obstacles, treating all of themembers as equal partners. On an agile team the question of “how are we going totest it”, is as important as “how are going to build it”. In addition, because testerstend to be exceptionally good at clarifying requirements and identifying alternativescenarios, (especially when they have full visibility into product requirements andcustomer needs), they provide valuable input on design and architectural decisionsthroughout the project, right from the beginning. And these contributions translateinto more respect and appreciation from their development counterparts.3. Looking for ways to optimize testing efforts will be a “must”You really need to think about automation, and planning and performing yourtesting efforts very efficiently. With shorter development cycles of typically nomore than 6 weeks, and with builds being released all the time, testing efforts reallyneed to be optimized as much as possible, because there is not separate test phaseas such. One of the ways to achieve this is by leveraging both Exploratory Testingand Automated Testing throughout the project. Exploratory testing will come veryhandy when looking for bugs, opportunities to improve, and missing features. Soyou should plan on “exploring” the product at the beginning of each new sprint, orany time that there is a change done to a product feature within the sprint cycle.Similarly, you will need to plan and build your scripts to perform automatedfunctional and regression testing within the sprint, because there is not enough timefor performing thorough manual testing. One of the things to remember is thatthere are no really lengthy requirement document or specifications –other that thestories encapsulated on the backlog files --, so the only way to make sure that eachfeature is fully developed, tested, and accepted by the product owner beforecounting it as "DONE!", is by using the sprint backlog as your own test plan (orwriting a test case or script for every feature). Some teams are treating test casescenarios as entries that need to be added to the product/sprint backlog files forplanning and tracking purposes. Another factor to consider is that development ismuch more heavily engaged in testing, so you should leverage this, and work veryclosely with them to plan and build more automated scripts that cover realisticscopes.Agile & Scrum: What are these methodologies and how will they impact QA/testing roles?Page 5

Be prepared to speak up, deliver betterquality products and have a funempowering experience!CONCLUSIONIf you enjoy being involved in product decision making, helping to shape how aproduct looks and works, and working in a collaborative environment thatencourages team work and peer to peer relationships with your developmentcounterparts, you will enjoy working on an agile project. On the down side, agilesoftware development can be a little bit intimating at the beginning. Agile is allabout embracing and rapidly adapting to changes –which might be hard to accept atthe beginning-- plus there are new processes, and new communication styles inplace, so you might feel a little reluctant about it. However, once you get into thedynamics of agile software development, it can be a very fun and empoweringexperience!Agile & Scrum: What are these methodologies and how will they impact QA/testing roles?Page 6

White Paper Title[Month] 2008Author: Marina Gil-SantamariaOracle CorporationWorld Headquarters500 Oracle ParkwayRedwood Shores, CA 94065U.S.A.Worldwide Inquiries:Phone: 1.650.506.7000Fax: 1.650.506.7200oracle.comCopyright 2008, Oracle and/or its affiliates. All rights reserved.This document is provided for information purposes only and thecontents hereof are subject to change without notice.This document is not warranted to be error-free, nor subject to anyother warranties or conditions, whether expressed orally or impliedin law, including implied warranties and conditions of merchantabilityor fitness for a particular purpose. We specifically disclaim anyliability with respect to this document and no contractual obligationsare formed either directly or indirectly by this document. This documentmay not be reproduced or transmitted in any form or by any means,electronic or mechanical, for any purpose, without our prior written permission.Oracle is a registered trademark of Oracle Corporation and/or its affiliates.Other names may be trademarks of their respective owners. 0408

Agile Software Development is not new, in fact it was introduced in the 1990s as a way to reduce costs, minimize risks and ensure that the final product is truly what customers requested. The idea behind the Agile approach is that instead of building a release that is huge in functionality (and often late to market), an organization would adapt to dynamic changing conditions by breaking a .

Related Documents:

This Scrum and Scrum Master Guide is a free, quick reference material designed to help aspiring scrum masters discover the ins and outs of Scrum. It throws light on the fundamental principles of the scrum, scrum terminologies, Agile Manifesto, scrum theories, scrum tools, different roles, responsibilities, and more. SCRUM & SCRUM MASTER

Agile Estimating and Planning by Mike Cohn Agile Game Development with Scrum by Clinton Keith Agile Product Ownership by Roman Pichler Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and .

Training Formal Change Management training for key positions Agile certification -Product Owner -Scrum Master Agile team -Led by Scrum Master -Two day, self-paced Agile frameworks -Kanban: maintenance -Scrum: enhancements Scrum teams -Size: 7 2 -Team members Dedicated Scrum room Master Scrum Master

EXIN Agile Scrum Master is a certification that looks to confirm both skills and knowledge of the Agile framework and Scrum methodology. Agile Scrum is about working together to successfully reach a goal. Agile methodologies are popular approaches in software development and are increasingly being used in other areas.

Agile Software Development with Scrum Jeff Sutherland Gabrielle Benefield. Agenda Introduction Overview of Methodologies Exercise; empirical learning Agile Manifesto Agile Values History of Scrum Exercise: The offsite customer Scrum 101 Scrum Overview Roles and responsibilities Scrum team Product Owner ScrumMaster. Agenda Scrum In-depth The Sprint Sprint Planning Exercise: Sprint Planning .

Scrum framework, the Scrum Master and the Scrum Product Owner share the role and responsibilities of a typical project manager. Nonetheless, a Scrum Master or a Scrum Product is never allowed to overrule the democratic decision-making capability of a Scrum Team. For instance, only the Scrum team members can

enacted. Scrum Masters do this by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules. The Scrum Master is a servant-leader for the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the

L’ARÉ est également le point d’entrée en as de demande simultanée onsommation et prodution. Les coordonnées des ARÉ sont présentées dans le tableau ci-dessous : DR Clients Téléphone Adresse mail Île de France Est particuliers 09 69 32 18 33 are-essonne@enedis.fr professionnels 09 69 32 18 34 Île de France Ouest