38
Make Better SharePoint Stuff with an Agile Methodology Doug Hemminger, SharePoint Saturday, Twin Cities April 14, 2012

Make better share point stuff with an agile methodology

Embed Size (px)

DESCRIPTION

Presented at SharePoint Saturday Twin Cities on April 14, 2012 by Doug Hemminger, this is an introduction to Agile methodologies for SharePoint

Citation preview

Page 1: Make better share point stuff with an agile methodology

Make Better SharePoint Stuff with an Agile MethodologyDoug Hemminger, SharePoint Saturday, Twin CitiesApril 14, 2012

Page 2: Make better share point stuff with an agile methodology

INTRODUCTION

Agenda, about me and what to expect from this presentation

Page 3: Make better share point stuff with an agile methodology

Agenda• What to Expect from this Session• Why Agile• What is Agile• What is Scrum• How to Implement Agile & Scrum

Page 4: Make better share point stuff with an agile methodology

About Me• Developing since 1997• Working with SharePoint since 2005• Assistant Director at Crowe Horwath LLP• Live and work in the Chicago area• Contact me at:• Email: [email protected]• Twitter: @DougHemminger• Blog: http://www.sharepointdoug.com

Page 5: Make better share point stuff with an agile methodology

In This Session, Learn How You Can…

• Provide more value to your customers using Agile• Employ Agile & Scrum on your next SharePoint project• Leverage Agile & Scrum tools and resources

Page 6: Make better share point stuff with an agile methodology

WHY AGILE

In this section we will explore why you should consider Agile as an appropriate software development methodology for your next SharePoint project.

Page 7: Make better share point stuff with an agile methodology

Why Agile• Better• Agile can produce higher quality work• A number of studies demonstrate a lower defect rate and higher

customer satisfaction with Agile projects• Faster• Agile projects have a 36% faster time to market• A number of studies demonstrate that features are deployed at a

significantly faster rate with an Agile process• Cheaper• Agile projects are roughly 16% more productive and have overall

lower costs

Page 8: Make better share point stuff with an agile methodology

Why Agile• Accelerated time to

market• Increased quality

• Better team collaboration• Higher productivity

Happier Customers

Happier Employees

State of Agile Development Study: http://www.versionone.com/state_of_agile_development_survey/10

Page 9: Make better share point stuff with an agile methodology

Salesforce.com – A Case Study• Founded in 1999• Used traditional software development method – a modified

version of the waterfall approach

Page 10: Make better share point stuff with an agile methodology

Waterfall Wasn’t Working• Time to market was too slow• In 2006 Salesforce.com had 1 major release• Salesforce.com could not respond to customer requests with

timely feature releases• Waterfall approach could not easily account for evolving

customer needs

Page 11: Make better share point stuff with an agile methodology

Which Led To…• Unhappy Customers• Low Team Morale• “We had huge morale problems” – Steve Green, Senior Director,

Salesforce.com• Productivity declined as the team grew

Page 12: Make better share point stuff with an agile methodology

There Is A Better Way

Page 13: Make better share point stuff with an agile methodology

Salesforce.com Implemented Agile

• Developed a home-grown version of Agile called the Agile Development Methodology (ADM)

• 30 scrum teams, each with 6-10 members• 3 one month sprints made up their first release cycle

Page 14: Make better share point stuff with an agile methodology

Results Were Immediate…• On average, customers were getting features delivered in half the

time• Remember, not a single feature delivered in almost a year: in the

first 9 months of using Agile, 60+ features were delivered

Page 15: Make better share point stuff with an agile methodology

WHAT IS AGILE

High level definition of Agile and an introduction to the various methodologies.

Page 16: Make better share point stuff with an agile methodology

Agile Definition

Page 17: Make better share point stuff with an agile methodology

Agile Definition• Agile is a group of software development methods based on

iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams

Source: http://en.wikipedia.org/wiki/Agile_software_development

Page 18: Make better share point stuff with an agile methodology

The Agile Manifesto• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan

Page 19: Make better share point stuff with an agile methodology

Principles Behind the Agile Manifesto

• Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage

http://www.agilemanifesto.org/principles.html

Page 20: Make better share point stuff with an agile methodology

Principles Behind the Agile Manifesto

• 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.

http://www.agilemanifesto.org/principles.html

Page 21: Make better share point stuff with an agile methodology

Principles Behind the Agile Manifesto

• Continuous attention to technical excellence and good design enhances agility

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

http://www.agilemanifesto.org/principles.html

Page 22: Make better share point stuff with an agile methodology

Agile Methodologies

Source: http://www.versionone.com/state_of_agile_development_survey/10/page3.asp

Page 23: Make better share point stuff with an agile methodology

WHAT IS SCRUMHigh level overview of Scrum

Page 24: Make better share point stuff with an agile methodology

What is Scrum

http://www.slideshare.net/sgreene/stanford-7822999

Page 25: Make better share point stuff with an agile methodology

New Roles with Scrum• ScrumMaster• Owns the process• Removes impediments to the team

• Product Manager• Manages the Team, providing vision and boundaries• Makes sure the team works well together• 1 product manager per team

Page 26: Make better share point stuff with an agile methodology

The Developer Role with Scrum

• Collaboration• Become an active participant in understanding product

requirements. Can’t sit and wait to be told what to do• Talk to customers and users• Engage coworkers. Help solve problems. Stretch your boundaries.

• SharePoint developers on a Scrum project need to be able to step outside their comfort zone and do what is necessary to help out the team. This could include:• Designing• Analyzing• Testing

Page 27: Make better share point stuff with an agile methodology

SharePoint Developer Technical Skills

• Eric White outlines a complete set of SharePoint developer building blocks in a two part series:

• Sometimes helpful to separate skills into server-side and client-side

http://msdn.microsoft.com/en-us/library/gg454784.aspx

http://msdn.microsoft.com/en-us/library/gg467340.aspx

Page 28: Make better share point stuff with an agile methodology

HOW TO IMPLEMENT AGILEHow to bring Agile to your organization

Page 29: Make better share point stuff with an agile methodology

How to Implement Agile• Get buy-in from management, team members, and most

importantly, client and users• Successful adoption of an agile approach does not necessarily

just mean selecting an individual method• Do what suits your company’s culture, individual skillsets and

talents

Page 30: Make better share point stuff with an agile methodology

Meetings and Planning• Iteration Planning• Iteration is time boxed – usually 1 to 3 months• Iteration planning can be a single meeting or a series of meetings.

Whatever it takes to create and prioritize the product backlog• Prioritizing features and bugs is key

• Sprint Planning• Sprint is time boxed – usually 2 to 4 weeks• Sprint planning meeting is 1 to 2 hours depending on the length

of the sprint and the size of the team• Creating and prioritizing tasks is key

Page 31: Make better share point stuff with an agile methodology

Create a Product Backlog• A product backlog consists primarily of:• Features – typically in the form of user stories• Bugs

http://www.mountaingoatsoftware.com/scrum/product-backlog

Page 32: Make better share point stuff with an agile methodology

Create a Sprint Backlog• A sprint backlog consists primarily of developer tasks

associated with a feature or a bug

http://www.mountaingoatsoftware.com/scrum/sprint-backlog

Page 33: Make better share point stuff with an agile methodology

The Burndown

http://en.wikipedia.org/wiki/File:SampleBurndownChart.png

Page 34: Make better share point stuff with an agile methodology

Meetings and Planning• Sprint Review• Demo the features completed• Gather feedback• Adjust product backlog (if necessary)

Page 35: Make better share point stuff with an agile methodology

AGILE TOOLSA brief summary of some available tools

Page 36: Make better share point stuff with an agile methodology

Agile Tools• Microsoft Visual Studio Scrum 1.0

http://visualstudiogallery.msdn.microsoft.com/59ac03e3-df99-4776-be39-1917cbfc5d8e/

• Microsoft Visual Studio Scrum 1.0 Videoshttp://blogs.msdn.com/b/aaronbjork/archive/2010/09/09/microsoft-visual-studio-2010-scrum-1-0-videos.aspx

Page 37: Make better share point stuff with an agile methodology

Agile Tools• 21 Scrum

Page 38: Make better share point stuff with an agile methodology

Additional Resources

• Mike Cohn• Succeeding with Agile–Software Development Using

Scrum• http://www.mountaingoatsoftware.com/

• Ken Schwaber• Agile Software Development with Scrum• http://kenschwaber.wordpress.com/

• Scrum.org• http://www.scrum.org/