• Save
Scrum process in visual studio 2010
Upcoming SlideShare
Loading in...5
×
 

Scrum process in visual studio 2010

on

  • 3,351 views

This session will describe how the new Microsoft Visual Studio Scrum 1.0 process template for VS 2010 can be used to manage a Scrum project. The session will review the fundamentals of the Scrum ...

This session will describe how the new Microsoft Visual Studio Scrum 1.0 process template for VS 2010 can be used to manage a Scrum project. The session will review the fundamentals of the Scrum framework and show how the Scrum template maps those items in Team Foundation Server. Other aspects of managing a successful Scrum project in VS will be reviewed, such as techniques for ensuring quality on a self-directed development team and how a Scrum team can effectively estimate and plan work items.

Statistics

Views

Total Views
3,351
Views on SlideShare
2,946
Embed Views
405

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 405

http://www.scottkoland.com 392
http://www.scoop.it 11
http://translate.googleusercontent.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • This presentation will introduce some Scrum basics and show how Scrum can be used in TFS and Visual Studio 2010.Scrum is about Roles, Timeboxes, and Artifacts.
  • Historically long time lag; Inflexible, unrealisticLittle or no feedback between analyst and developerEach phase must be 100% complete before moving on to the nextCan’t see the details from that heightResults in the paralysis of analysisIf we built similar systems with the same technologies over and over, it would probably work.If all conditions are ideal, it just might work.Any methodology requiring perfection to succeed is flawed.
  • Ralph Stacey’s Agreement & Certainty MatrixSimple – Easily knowable. Car key.Complicated – not simple, but still knowable. (Pre computer) Car operation.Complex – not fully knowable, but reasonable to predict (Car traffic).Chaotic – neither knowable nor predictableBaking a cake. Easy to generate success once the basics are understood. Few techniques to master; once mastered, high likelihood of success.Complicated – Not simple, but still knowable. Have many parts. Launching a rocket to the moon. No easy straightforward recipe; success requires many people & teamwork, unanticipated results are common.Complex – Not fully knowable, but reasonable. Unable to fully predict.Raising a child. Car traffic.Chaotic – neither knowable nor predicable.
  • Empirical process
  • Scrum is a framework within the Agile software development methodologies.Empirical process; designed for complex projectsEmphasizes Self Managed teamsIterative, Time Boxed
  • Map to TFS p 86.
  • Overview Demo (20 - 30 minutes)Adding Project & Selecting Process TemplateAreas & Iterations (Release and Sprint planning some like to renumber Sprints after release; manual processSprints (All Sprints query)Details of Sprint 1Sprint goalRetrospectiveShow Product Backlog & PBI’s Area for estimation.Work Items / Tasks / Linked items etc.Bug (handled later)Sprint BurndownRelease BurndownVelocity- Must alter each “Current Sprint” query
  • Okay, great, we have self directed, cross functional software teams creating our products. But how do we go about ensuring quality in such a team organization?How can we ensure quality in a software project?
  • Checklist Manifestop. 100
  • So what are my goals when finding and fixing a bug? Many times in software development, our goal is to resolve the defect and implement a fix as quickly as possible. While this is a good goal, a better goal is to establish a mechanism in our codebase that verifies the existence of the bug, and documents the intent of the developer who is fixing the bug.
  • In Visual Studio projects that utilize unit testing, it is recommended to follow this process to resolve a bug.
  • (15 minutes Prep: open ShoppingCart; ShoppingCartTest; bug; task)Look at bugGet LatestRun unit testsFailing unit testRerun tests – fail (Red)Fix codeRerun tests – pass (Green)RefactorLink taskCheck in I’ve been assigned this bug. I’ll open the bug.I’ll get the latest codebase and run the unit tests. (all tests pass)I’ll then reproduce the bug (the issue is reproducible)Now, I need to inspect the code and determine what component is failing. I’ve worked on this code frequently, so I already know this is in the Shopping Cart’s AddItem method.Now, I’ll write my failing unit test and run tests. Notice how the one fails.And now I’ll fix my defect. All of my tests pass, now I’ll rerun the app and verify the defect is resolved.Now, here is where I would check in the code and close out the bug.
  • In conclusion, I will leave you with a few aspects of why unit tests can be important when resolving defects. While this was a simple example, you could see how having many documented bugs will reduce the introduction of new bugs to the codebase as they help document the developers intent.Also, verifying the existence of a bug and documenting it with a unit test ensures that steps have been taken to reduce the likelihood that it will crop up again in the future.Thank you.
  • Sprint Planning Meeting – What, then How10% of a Sprint should be spent grooming the product backlog.
  • Boehm, B (1981). Software Engineering Economics, Prentice-Hall.McConnell, S (2006). Software Estimation: Demystifying the Black Art, Microsoft Press.- At Initial Concept, we are unlikely to accurately estimate an item. 16x more likely to vary, from low to highAs project progresses, we must work to reduce the cone. It doesn’t reduce itself
  • EstimationPlanning PokerPlanning BoardUrban Turtle ToolShow different views of same data in Planning BoardTask BoardPlanning is a continuous process with Scrum. From the initial release plan to each Sprint Planning Meeting and into daily work, planning is continuous because the direction is changing due to inspection and adaptation.One aspect that goes hand in hand with planning is estimating. Estimating is one of the most challenging aspects of software development to do well. Scrum has some excellent planning techniques to allow for effective planning, and allow for continuous improvement in planning software development.
  • Why do I care?
  • Right click Builds > New Build Definition ...Trigger = CIBuild Controller; new in 2010 (manages Build Agents)(can Queue builds against specific Build Agents)(can also use TFS Admin Console)Required output folder on \\\\server\\shareRequires solution to buildCan configure auto unit test execution

Scrum process in visual studio 2010 Scrum process in visual studio 2010 Presentation Transcript

  • Scrum & Visual Studio 2010
    Scrum process targeting in .NET with Visual Studio & TFS 2010
  • About Scott Koland
    Senior Consultant @ Magenic
    Specialize in:
    WPF & Silverlight
    Scrum
    .NET / C#
    email: scottko@magenic.com
    twitter: @scottkoland
    blog: www.scottkoland.com/blog
  • Agenda
    Scrum Fundamentals
    Scrum in Team Foundation Server 2010
    Scrum with the MS VS Scrum 1.0 Process Template
    Ensuring Quality
    Unit Testing
    Planning & Estimating
    View slide
  • Why Scrum?
    What problem is Agile and Scrum solving?
    Long development time
    Software project high failure rate
    Poor quality
    Unmet customer needs
    Unsatisfactory working environments (iterative death marches)
    Lack of timely feedback
    View slide
  • What kind of problem?
  • Scrum Works
    Higher success rates
    Produces higher quality
    Has high stakeholder satisfaction
    Yields better ROI
    Delivers systems to market sooner
    76% of organizations reporting in 2009 have one or more agile project underway*
    *Dr. Dobb’s Journal’s July 2009 State of the IT Union Survey - www.ambysoft.com/surveys/stateOfITUnion200907.html
  • Scrum Process
    24 hours
    Daily Scrum
    Meeting
    Backlog tasks
    expanded
    by team
    Sprint
    Sprint Backlog
    Potentially Shippable
    Product Increment
    Product Backlog
    As prioritized by Product Owner
    Vision
  • Scrum Roles
    Product Owner
    Customer Voice, Product Vision
    ScrumMaster
    Manager of the Process
    The Team
    Anyone who commits to doing work
    Everyone is a Developer
  • Scrum Artifacts
    Product Backlog
    Sprint Backlog
    Burndown Charts
    Working Software
  • Demo
    Scrum project in Visual Studio 2010
  • Quality
    How do we validate what is built?
    What does success look like?
  • Done
    Team defines done (Definition of Done)
    Should be a specific list, e.g.
    Code complete
    Tests pass
    Everything checked-in
    Acceptance criteria from Product owner met
    Potentially Shippable
    Fit for Purpose
  • Bug Fixing Goals
    Quickly fix and move on?
    Ignore?
    Or improve software.
  • Fixing a Bug
    Verify
    write a failing unit test
    Fix the bug
    unit test should pass
    meets the team definition of done
    Verify
    rerun all tests
    refactor and re-verify as necessary
    Check In code
    Close Task & Bug work items
    Red
    Green
    Refactor
  • Demo
    Unit Testing and Bug Resolution
  • Why Unit Tests help when fixing bugs?
    Document developer intent
    Verify existence (and resolution) of a bug
    Reduce bugs
  • Planning
    Planning is continuous in Scrum
    Release Planning
    Sprint Planning Meeting
    Continually groom the Product Backlog
    Estimation is difficult in software
  • Cone of Uncertainty
  • Agile and the Cone of Uncertainty
    initial concept
    software release
    T Shirt Sizes
    Hours
    Story Points
    e.g.
    Small = 2
    Medium = 5
    Large = 12
    Extra Large = 25
    XX Large = 60
    < 16 hours
    Modified Fibonacci – Planning Poker
    0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100
    time
    certainty
    Source: http://agile101.net/2009/08/18/agile-estimation-and-the-cone-of-uncertainty/
  • Planning & Estimation Demo
    Planning and Task Boards from Urban Turtle
  • Estimation
  • Continuous Integration
    Imperative to developing robust software quickly
    Inspect and Adapt
    Fail early
    Team Foundation Build 2010
  • Scrum Industry
    Two companies
    Scrum Alliance
    Scrum.org (Ken Schwaber; aligned with Microsoft)
    Scrum.org saw need for Scrum Developer Training beyond Certified ScrumMaster.
    http://www.scrum.org/originsofscrumorg
  • Professional Scrum Developer
    From Microsoft & Scrum.org
    5 day Training Program for Developers
    Scrum training with Visual Studio & TFS
  • Questions?
    Scott Koland
    email: scottko@magenic.com
    twitter: @scottkoland
    blog: www.scottkoland.com/blog
  • Resources
    Scrum.org guide
    http://www.scrum.org/scrumguides/
    Scrum 1.0 Template for TFS
    http://visualstudiogallery.msdn.microsoft.com/en-us/59ac03e3-df99-4776-be39-1917cbfc5d8e
    VS 2010 RTM VM with TFS 2010 and Labs
    Blog: http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx
    Labs: http://download.microsoft.com/download/9/E/2/9E2CCC64-CF5A-4E47-9DC8-C6CEA9344740/VisualStudio2010RTM-ALM-Labs.zip
    VM: http://www.microsoft.com/downloads/details.aspx?FamilyID=592e874d-8fcd-4665-8e55-7da0d44b0dee&displaylang=en
    Estimation & Cone of uncertainty
    http://abdulmoniem.wordpress.com/2010/04/19/software-estimation-chapter-4-review-where-does-estimation-error-come-from/
    Complexity
    http://www.noop.nl/2008/08/simple-vs-complicated-vs-complex-vs-chaotic.html
    http://www.agileevolution.com/blog/2010/10/5/scrum-and-complexity-theory.html
    http://deepfreeze9.blogspot.com/2007/09/software-complex-vs-complicated.html
    http://www.lostgarden.com/2006/04/managing-game-design-risk-part-i.html