Introduction to Agile and Scrum

download Introduction to Agile and Scrum

If you can't read please download the document

description

Introduction to Agile and Scrum. Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer. Process Emerges to Stop Chaos. No one loves process, but it feels good compared to the pain of chaos - PowerPoint PPT Presentation

Transcript of Introduction to Agile and Scrum

Slide 1

Introduction to Agile and ScrumSpeaker/Author: Paul PackebushSection Manager, Corporate MetrologyAuthor:Logan KunitzStaff Calibration Engineerni.com#ni.comProcess Emerges to Stop ChaosNo one loves process, but it feels good compared to the pain of chaos

Developers are unable to adapt quicklyDevelopers are extremely good at following the existing process, and process adherence is the value systemProcess starts to trump flexibility

#ni.comAgile Development

#ni.comAgile is not a processYou cannot do Agile, but you can be Agile#ni.comManifesto for Agile Software Developmenthttp://www.agilemanifesto.orgIndividuals and interactionsover processes and tools

Working softwareover comprehensive documentation

Customer collaborationover contract negotiation

Responding to changeover following a plan#ni.comWhile there is value on the items on the right, we value those on the left more.

512 Principles behind the Agile ManifestoEarly and continuous delivery of valuable software Welcome changing requirementsDeliver working software frequentlyTeams work together dailyTrust motivated individuals to get the job done Face-to-face conversationWorking software as primary measure of progressSustainable developmentContinuous attention to technical excellence and good designSimplicitySelf-organizing teams generate best end productsTeams reflect regularly and adjust behavior accordinglyhttp://www.agilemanifesto.org#ni.comDetails behind each bullet

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 with motivated individuals. Give them the environment and support they need, and trust them to get the job done. 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. 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 its behavior accordingly. 6What is Scrum?A framework to help teams work in an Agile way

TransparencyEveryone knows the project stateInspectionOngoing reflection on statusAdaptabilityTeam decides how to quickly adapts to changes

Scrum is not a process it is a framework to get work done#ni.comTransparency: Visibility to everyone in the team the state of the project includes priority and effort for all open tasks / features.Inspection: Reflection on existing process open and honest reflection on what works and what doesnt.Adaptability: Based on inspection team can modify their own processes on a regular basis to improve efficiency and effectiveness of delivering working code to customers.

Scrum is a framework for Teams to get work done. Every part of Scrum enables the team to provide visibility, make commitments and focus on continuous improvement. There are two roles to help the Team concentrate on their objectives, but the cross-functional, collaborative Team is the central hub of Scrum. Scrum Teams work in fixed iterative cycles from a few weeks up to 30 days. At the end of each increment, the Team discusses their progress to date, receives feedback from their sponsors, and makes any necessary adjustments to reach their goals.

Scrum is not a process

Why is this important? Individuals and interactions over process and toolsWould Scrum be Agile if it prescribed everything to do?You must be able to adapt to be Agile.

7Scrum valuesCommitmentTeam has great control of its destinyFocusFewer deliverables at a timeOpennessExpress concerns and status oftenRespectWorking together sharing in success and failuresCourageTeams feel empowered to undertake greater challenges#ni.comCommitment.Because we have great control over our own destiny, we become more committed to success.Focus.Because we focus on only a few things at a time, we work well together and produce excellent work. We deliver valuable items sooner.Openness.As we work together, we practice expressing how we're doing and what's in our way. We learn that it is good to express concerns so that they can be addressed.Respect.As we work together, sharing successes and failures, we come to respect each other and to help each other become worthy of respect.Courage.Because we are not alone, we feel supported and have more resources at our disposal. This gives us the courage to undertake greater challenges.

The Scrum practices support these values, and adhering to them helps a team be agile.Its easiest to do the first 2, merely by blindly following the practices.8Scrum vs. WaterfallWaterfall:Scrum:DesignAll FeaturesDevelopDeployFeature A*Design*Dev*DeployFeature B*Design*Dev*DeployFeature C

#ni.comWhen the product features (requirements) dont change, scrum and waterfall can often achieve same results.

http://a.dryicons.com/images/icon_sets/colorful_stickers_part_5_icons_set/png/256x256/target.png9Scrum vs. WaterfallWaterfall:Scrum:DesignAll FeaturesDevelopDeployFeature A*Design*Dev*DeployFeature B*Design*Dev*DeployFeature CFeature A.1Feature B.1

#ni.comWhen the requirements / features change (changing customer requirement / new information or understanding, etc) scrum minimized the wasted effort since development is done in smaller increments.10Scrum at a Glance

#ni.comhttp://tesar.pl/Content/Media/328f3a26b69742be9149acb5c4bf1fe9/scrum1.jpg11Scrum Implementation Case StudyNI Calibration Business CaseLong development cyclesSchedule slippageNeed for new HW product calibration supportGrowing backlog of products requiring calibration supportSimply adding headcount is not a sustainable solution

ApproachTransitioned from Waterfall development process to Agile / Scrum software development process

ChallengesDistributed Scrum TeamDefining Finished

#ni.comChallenges implementing scrum:Fortunately, management was already on board with changing our process, so initial adoption of the new process was not a challenge, and our team had a lot of freedom to experiment. Through this experimentation, we encountered a number of challenges, but these ones were the most notable.12Distributed Scrum Team ChallengesScrum dictates close, daily interaction of team membersDistributed teams are a reality for global companiesPrimary challenges with distributed scrum teamIsolation of remote team members during meetings lacking engagement in the meetingsVisual tools (i.e. white-board for tracking tasks) not accessible by remote team membersTeam size (keeping daily meeting length short)

Product Owner

ScrumMaster

Developers

DevelopersAustin, TXHungaryNI Calibration Team#ni.comPrimary challenges with distributed scrum teamIsolation of remote team members during meetings lacked engagement in the meetingsWhen in a meeting room, team members use many non-verbal methods of communicating which will isolate anyone communicating through phone resulting in limited involvement by those members, and maybe limited understanding of the discussion.Visual tools (i.e. white-board for tracking tasks) not accessible by remote team membersMany scrum task / prioritization techniques involve using old-school tools, like white boards and post-its to track progress and to get involvement from the team. These obviously dont work effectively in a distributed setting.Team size (daily meeting length)Meeting length is proportional to team size. Meeting shouldnt be longer than 15 minutes our experience shows 10 people is the max amount to maintain this level of meeting efficiency.

13Distributed Scrum Team RecommendationsAvoid meeting roomsEveryone meets from their desk

Shared cloud-based tool for white board

Scrum team size: < 10 Keep daily meetings