AGILE Training Session.

Size: px
Start display at page:

Download "AGILE Training Session."

Transcription

1 AGILE Training Session By In case you are having issues regarding audio and video please questpond@questpond.com or you can call on the phone, these trainings are available as recordings later, please do not disturb during the training. Please Mute your mic and mobile during training. Ask your question using the Q and A tab in live meeting. Speak one at a time so that every one is benefitted.

2 AGILE SOFTWARE DEVELOPMENT USING SCRUM

3 SESSION OBJECTIVE To understand the principles of Agile and the basic flow of Scrum 33

4 AGENDA THE PERENNIAL PROBLEM AGILE ALLOWS YOU TO SAY "YES" TO YOUR CUSTOMER AGILE MANIFESTO VARIOUS IMPLEMENTATIONS OF AGILE WHAT IS MEANT BY SCRUM WHAT IS A PROJECT? PRODUCT BACKLOG SPRINT INCREMENT USER STORY CHICKENS & PIGS SCRUM ROLES MAIN PILLARS OF SCRUM SCRUM FLOW PRINCIPLES BEHIND THE AGILE MANIFESTO PREDICTIVE v/s ADAPTIVE MAIN BENEFITS OF AGILE IS AGILE A MINIATURE WATERFALL? 44

5 THE PROBLEM SOFTWARE DEVELOPMENT IS NOT AN EXACT SCIENCE! 55

6 Click to edit Master text styles Second level Third level Fourth level Fifth level 66

7 77

8 THE PERENNIAL PROBLEM There's a refrain I've heard on every problem project I've run into. The developers come to me and say "the problem with this project is that the requirements are always changing". The thing I find surprising about this situation is that anyone is surprised by it. In building business software requirements changes are the norm, the question is what we do about it. - Martin Fowler, in his classy article

9 THE OLD SCHEME OF THINGS Business: I need this change fast IT: This wasn t part of the requirement specification 99

10 AGILE ALLOWS YOU TO SAY YES TO YOUR CUSTOMER Business: I need this change fast IT : YES. WE LL DO IT

11 NO MATTER HOW STRONG OR POWERFUL YOU ARE, Click to edit Master text styles Second level Third level Fourth level Fifth level Source IF YOU DON T CHANGE

12 THIS IS WHAT WILL EVENTUALLY HAPPEN! Click to edit Master text styles Second level Third level Fourth level Fifth level Source :

13 A LATE CHANGE IN REQUIREMENTS IS A COMPETITIVE ADVANTAGE. - Mary Poppendieck, worldrenowned author of Lean Software Development

14 AGILE MANIFESTO Individuals and Interactions over Processes and Tools Working software over comprehensive documentation Responding to change over following a plan Responding to change over following a plan Customer collaboration over contract negotiation Customer collaboration over contract negotiation AGILE MANIFESTO Source :

15 AGILE ALLOWS YOU TO ORGANIZE YOUR PROCESSES IN SUCH A WAY THAT IT ALLOWS YOUR TEAM TO BE FLEXIBLE AS THEY EXECUTE THE PROJECT - Peter Provost, Program Manager at Microsoft

16 VARIOUS IMPLEMENTATIONS OF AGILE Scrum DSDM Extreme Programming FDD Lean Crystal Just like C#, Java, C++ are different programming languages but fundamentally implement OOPS, the methodologies mentioned above are different implementations of Agile

17 WHAT IS MEANT BY SCRUM? Scrum is a term derived from Rugby An ordered formation of players in which the forwards of each team push against each other with heads down and the ball is thrown in. Source

18 RUGBY SCRUM Click to edit Master text styles Second level Third level Fourth level Fifth level TEAM = Together Everyone Achieves More! Image Source :

19 WHAT IS A PROJECT? A project is a temporary endeavor undertaken to create a unique product, service, or result. From the PMBOK (Project Management Body of Knowledge), a PMI ( publication A project can be called successful when it is delivered on time, on budget and meets high quality standards

20 WHAT DOES THE BUSINESS USER/SPONSOR/STAKEHOLDER THINK? Click to edit Master text styles Second level Third level Fourth level Fifth level Excuse me, but where is my value?

21 ANOTHER PROJECT DEFINITION A project is a collection of value scheduled for realization. - David Anderson Value is defined in the Product Backlog Highest prioritized value at a given point in time is the target deliverable / increment / shippable functionality scheduled to be delivered in the next Sprint

22 PRODUCT BACKLOG List of project requirements It is prioritized based on business value The prioritization aspect forces the business to formalize which requirements listed in the Product Backlog constitutes highest business value. The Highest value identified becomes the target of the next Sprint Estimates are also attached to the Product Backlog items Can include non-functional requirements and pending project issues also

23 PRODUCT BACKLOG EXAMPLE Sr.No Backlog Item Estimate 1 As a call center agent, I want to place an order 2 As a call center agent, I want to change the address details, items in an order before it is shipped 3 As a supervisor, I want to check how many orders have been keyed in per agent 4 As a back-office employee, I want to be 5 able to see how many orders have been keyed in segregated by city of delivery

24 TIME-BOX It is a fixed length of time that cannot be exceeded. For example the Daily Scrum meeting is supposed to be completed within 15 minutes i.e. it is time-boxed to 15 minutes. SPRINT A time-box of 30 sequential calendar days During this period the Team works on the highest value increment which can be delivered to the business at the end of the 30 day sprint This product functionality is shippable

25 INCREMENT The highest value product functionality that has been identified by the Product Owner and is developed and delivered by the Team in each Sprint

26 USER STORY A description of desired functionality said from the point of view of the end user or customer As a <type of user> I want <some goal> so that <some reason> As a supervisor, I want to check how many orders have been keyed in per agent so that I know who are the best agents Source:

27 CHICKENS & PIGS CHICKEN A person who has a stake in the project but is not formally responsible or accountable for anything i.e. is not part of the Team, is not a Scrum Master / Product Owner PIG A person who is either part of the Team, or is a Scrum Master / Product Owner. He is responsible and accountable for the success of the project

28 SCRUM ROLES TEA M SCRU M PR OD UCT OW SCR UM MA STE

29 THE PRODUCT OWNER Is the chief representative of all the stakeholders in the project Creates the project s initial requirements in Scrum terms this is called the Product Backlog Evaluates the ROI (Return On Investment) of the project Ensures ongoing funding for the project Prioritizes the Product Backlog before the beginning of each Sprint based on market and stakeholder feedback

30 THE SCRUM MASTER Is the Scrum Project Manager Leads the project, does not necessarily manage Guides and coaches Responsible for helping the Team in using Scrum and ensuring that they use it properly Ensures that everyone follows the Scrum practices correctly

31 THE TEAM Is a self-managing team Is self-organizing Is not allocated work as in traditional Project Management. Rather, the team figures out the best way to develop the next increment by the end of the current Sprint Team members are responsible for managing their own work Team size should not be greater than 7 members Success of the current iteration and of the project is a shared responsibility of the entire team

32 MAIN PILLARS OF SCRUM VISIBILITY INSPECTION ADAPTATION

33 SCRUM FLOW

34 STEP 1 : CLARIFY THE VISION

35 STEP 2 : CREATE THE PRODUCT BACKLOG (PRODUCT OWNER) Converts the fuzzy vision into a Product Backlog Extracts the highest value requirements from the vision and prioritizes the same in the Product Backlog Ensures that business value clarification with the stakeholders happens at the initial stage itself Establishes the ROI of the project The Scrum Master helps the Product Owner during this stage to ensure that the Product Backlog is created properly

36 STEP 3 : SPRINT PLANNING MEETING - 1 Occurs at the beginning of each Sprint All pigs participate in it i.e. the Product Owner, the Scrum Master and the Team Is time-boxed to 8 hours During the first 4 hours, the Product Owner presents the prioritized Product Backlog to the Team A brain-storming session happens wherein a lot of questions are asked by the Team to the Product Owner During the next 4 hours, the Team identifies the chunk of the Product Backlog which it can successfully convert into a shippable increment during the next Sprint The Team informs the Product Owner about the same and commits to delivering this functionality

37 STEP 3 : SPRINT PLANNING MEETING - 2 The Team starts creating a tentative plan for achieving the commitment The list of tasks thus identified constitutes what is known as the Sprint Backlog

38 SPRINT BACKLOG The Product Backlog chunk identified for delivery during the next Sprint is the starting point The Team draws up a list of tasks and takes on individual responsibilities The estimated amount of work remaining for each task is also finalized. This gets updated daily and can be checked on any day of the Sprint. This is what makes the project highly visible. This is simply not possible when Gantt charts are used. An individual task should not take more than 16 hours for completion More tasks get added and existing tasks become more fine-grained in nature as the Sprint progresses

39 STEP 4 : DAILY SCRUM MEETING Is time-boxed to 15 minutes at the beginning of each new day Each Team member answers the following 3 questions:- What did I do yesterday? What will I do today? What are the hurdles in my path? If any point requires an in-depth discussion, meetings between Team members get scheduled at this point itself. The Daily Scrum is one of the many ways in which Scrum ensures high-bandwidth communication and also ensures that Team members are not operating in Silos

40 AGILE IS ABOUT CULTURE AND VALUES AND IS NOT ABOUT SPECIFIC TECHNIQUES AND TOOLS. - Peter Provost

41 DAILY SCRUM MEETING SOME GOOD PRACTICES Ensure that everyone stands this forces the meeting to be time-boxed to 15 minutes The Daily Scrum should happen the 1st thing every morning Use the meeting to communicate daily status, progress (VISIBILITY) Keep the meeting at the same place and at the same time everyday Share information about obstacles 1 major obstacle can bring a project to a halt. The stand-up brings the entire team s attention to the problem, many minds working towards a solution have a better chance of cracking it. The meeting is all about updating your peers, and not about reporting to a leader

42 STEP 5 : SPRINT REVIEW MEETING Time-boxed to 4 hours In this meeting, the Team presents the functionality that was created in the last Sprint to the Product Owner and other stakeholders (VISIBILITY, INSPECTION) Typically takes the form of a demo The atmosphere is one of collaboration and not a typical status update no slides are used Collectively, everyone decides what should be the target of the next Sprint. Any course correction occurs at this point (ADAPTATION)

43 When people actually sit in front of a system and work with it, then flaws become truly apparent: both in terms of bugs and in terms of misunderstood requirements. - Martin Fowler Source:

44 STEP 6 : SPRINT RETROSPECTIVE MEETING Time-boxed to 3 hours To discuss Lessons Learnt during the last Sprint START DOING What can we do better? (INSPECTION) CONTINUE DOING What worked well? STOP DOING What mistakes did we commit during the last Sprint? STOP DOING What s not working? (ADAPTATION)

45 TO SUM UP. Sprint Retrosp ective Meeting Sprin t Revie w Meeti V i s i o n Dail y Pro duc t Ba ckl og Sprint Planni ng Meeti ng

46 PRINCIPLES BEHIND THE AGILE MANIFESTO - 1 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development. Agile processes harness change for the customer s competitive advantage Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale Business people and developers must work together daily throughout the project Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done

47 PRINCIPLES BEHIND THE AGILE MANIFESTO 2 The most efficient and effective method of conveying information to and within a development team is face-to-face conversation Working software is the primary measure of progress Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely Continuous attention to technical excellence and good design enhances agility Simplicity the art of maximizing the amount of work not done is essential

48 PRINCIPLES BEHIND THE AGILE MANIFESTO - 3 The best architectures, requirements and designs emerge from self-organizing teams At regular intervals, the team reflects on how to become more effective, then tunes and adjusts it behavior accordingly

49 PREDICTIVE v/s ADAPTIVE Predictive (Conventio Plan nal ever software Stic y developm k to min Visi ent) the ute bility pla Build the deta very n, perfect il late Pl in resi system as adv in an understood Wel anc the fo cha during com proj r Visi nge requirements e ect th bilit gathering chan Build a usable system e y ge something that can ne afte go live. System A da Plan pti ever ve Stic y (A k to min Visi gil the ute bility e) pla Build the deta very n, perfect Pl il late in resi system as an adv in understood Wel fo anc the cha during com r Visi proj nge requirements e th bilit ect gathering chan Build a usable system e y ge something that can ne afte go live. System

50 MAIN BENEFITS OF AGILE Receptive to change, accepts changes Acknowledges the fact that business are changing more rapidly than ever before Disruption is more common now than ever before Business ground rules are changing constantly - software development also needs to accept and respond appropriately Allows you to say "YES" to your customer

51 Agile creates a strong feedback loop between customers and developers HOW? The software development cycle time is reduced Greater collaboration between teams means that there is greater interaction Testing is more frequent Software builds are more frequent Releases to production are more frequent End customer sees the increment more frequently and is able to give immediate feedback

52 IS AGILE A MINIATURE WATERFALL? NO Agile creates a strong feedback loop between information gained during implementation and subsequent analysis, design and implementation. Agile mixes analysis and testing, design and testing, coding and test execution. Rapid transitions between activities is a key feature of Agile

53 WAIT, THERE S MORE Project tracking using Burndown charts User stories Agile Estimation Sprint Velocity Tools for implementing Agile Visual Studio Team System..etc

54 USEFUL LINKS What does a Team room look like - how does it promote collaborative work? Check out the below link from Channel 9 which gives you a peek inside the P & P (Patterns & Practices) Team room. Really great video on Agile architecture - experts sharing their experience

55 USEFUL LINKS Great article about the Daily Scrum meeting

56 REFERENCES Agile Project Management using Scrum - Ken Schwaber The Enterprise and Scrum - Ken Schwaber

57 ANY QUESTIONS?

58 THANK YOU Dotnetfunda, Questpond and Ugain team