make better share point stuff with an agile methodology

Post on 28-Jan-2015

102 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

INTRODUCTION

Agenda, about me and what to expect from this presentation

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

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: doug@doughemminger.com• Twitter: @DougHemminger• Blog: http://www.sharepointdoug.com

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

WHY AGILE

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

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

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

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

version of the waterfall approach

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

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

There Is A Better Way

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

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

WHAT IS AGILE

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

Agile Definition

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

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

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

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

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

Agile Methodologies

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

WHAT IS SCRUMHigh level overview of Scrum

What is Scrum

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

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

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

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

HOW TO IMPLEMENT AGILEHow to bring Agile to your organization

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

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

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

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

The Burndown

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

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

AGILE TOOLSA brief summary of some available tools

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

Agile Tools• 21 Scrum

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/

top related