Top Banner
Being Agile with SharePoint Sébastien Leduc Vice-President, GSoft Group [email protected]
32

Being agile with SharePoint

Jan 27, 2015

Download

Technology

How can you remain agile while adopting SharePoint technologies? Even though the platform provides incredible value out of the box for businesses, many still rely on custom development to complement the built-in features. The path to successful SharePoint development is filled with traps, and typical projects can stretch on for months without any value being provided to the stakeholders.

Don't this steer you towards a monolithic, linear development process. Despite these issues, you can embrace agile methodologies and gain a competitive advantage by decreasing your turnaround time in implementing new and changing requirements. With techniques such as Scrum and XP, your clients become more involved in the project, the transfer of knowledge (a particular important point in SharePoint governance) happens seamlessly and, most importantly, your client see results they want fast.

Sebastien will share with you the lessons learned from applying agile methods to a mid-scale SharePoint portal project. He will present what tools enable faster development, unit testing, continuous integration and deployment, in a SharePoint context.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Being agile with SharePoint

Being Agile with SharePoint

Sébastien LeducVice-President, GSoft Group

[email protected]

Page 2: Being agile with SharePoint

2

GSoft Group & Me

GSoft GroupBased in MontrealAgile software development and consulting firmExpertise in Microsoft .NET and SharePoint technologies

MeVice-President of GSoft GroupWorking with SharePoint and Microsoft Technologies since 2003I’m a SharePoint trainerConsulting

Information architecture planningSharePoint governance planDevelopment team setupProduct owner of sharegate

Page 3: Being agile with SharePoint

3

Introduction

Being Agile with SharePoint

Business Case

How we estimate the project

Introduction to ScrumWhat’s a sprintSprint planningSprint reviewSprint retrospective

eXtreme Programming (XP)Unit testingIterative development

Agile SharePoint developmentPain points

Page 4: Being agile with SharePoint

4

Being Agile with SharePoint

Lack of customer understandingNew technologyPeoples knowledge (development team and client)Changing requirements

Achieve a lot using Out of the Box

Platform allows rapid deployment

Platform allows you to deploy in modular pieces

Use your solution as soon as possible

Page 5: Being agile with SharePoint

5

Business Case

Fédération des médecins omnipraticiens du QuébecProject

CMS Website using Windows SharePoint Service 3.0320 pages14 associations8000 members200 000 visits / monthEstimated time : 6 month

Team1 Product Owner1 Scrum master3 GSoft developers1 FMOQ developer1 FMOQ QA1 webmaster

Page 6: Being agile with SharePoint

6

Business Case – www.fmoq.org

Fédération des médecins omnipraticiens du Québec

Page 7: Being agile with SharePoint

7

Specifications

We break down the specifications into user story

Specifications User storyA non-technical resource can add / modify / delete content on the website

As a end user, I want to add / modify / delete content on the website.

Being able the write content with a WYSIWYG editor As a end user, I want write the website content into a WYSIWYG editor.

Being able to manage a blog to talk about specifics topics defined by the president or other member of the federation :  - Notify user through email when a new comment has been added  - Using a blog management tool to edit the blog content

- Adding a video to the blog directly

As a end user, I want to be able to make blog post

As a member, I want to comment on blog post

As a member, I want to be notified through email when a new comment has been added

As a end user, I want to use a blog management tool to edit blog content

As a end user, I want to add a video as a blog post

End user : Member of the FMOQ that have access to modify the website contentMember : Member of the FMOQ website

Page 8: Being agile with SharePoint

8

Sprint 0

Pass through the checklist

Build the first security grid

Defining the “Done Done”

Checklist

Page 9: Being agile with SharePoint

9

Done Done list

With a story

With a sprint

Page 10: Being agile with SharePoint

10

What’s the Scrum process?

Product backlog

Sprint planning

Daily Scrum

Sprint review meeting

Retrospective

www.mountaingoatsoftware.com

Page 11: Being agile with SharePoint

11

Sprint planning

Product owner describes the highest priority features

Define a sprint goal

Define the conditions of success

Product backlog

User story 1

User story 2

User story 3

User story 4

User story 5

User story 6

User story 7

User story 8

User story 9

Sprint backlog

User story 1

User story 2

User story 4

Sprint backlog

User story 1 -Sub task 1 -Sub task 2 -Sub task 3

User story 2 -Sub task 1 -Sub task 2

User story 4 -Sub task 1 -Sub task 2 -Sub task 3 -Sub task 4 -Sub task 5

Page 12: Being agile with SharePoint

12

FMOQ – Sprint 1 – Sprint planning

It was really important for the FMOQ to see the president’s blog

Sprint goal : post on a blog and write a comment on it

Product backlogAs a end user, I want to make a blog post

As a member of the website, I want to be notified through email when a new comment has been added

As a end user, I want to use a blog management tool to edit blog content

As a member, I want to comment on blog post

As a end user, I want to add / modify / delete content on the website

As a end user, I want write the website content into a WYSIWYG editor

Sprint backlogAs a end user, I want to write a blog post

As a member, I want to be notified through email when a new comment has been added

As a end user, I want to use a blog management tool to edit blog content

As a member, I want to add a comment on blog post

Page 13: Being agile with SharePoint

13

FMOQ – Sprint 1 – Sprint review

How does it work?

Success or not?

Live demo!

DONEAs a end user, I want to write a blog post

As a member of the website, I want to be notified through email when a new comment has been added

As a end user, I want to use a blog management tool to edit blog content

As a member, I want to add a comment on blog post

Page 14: Being agile with SharePoint

14

FMOQ – Sprint 1 – Sprint retrospective

What went well during the sprint?

What went wrong during the sprint?

Define an action plan

There should be a lot of interaction during the retro

Example of a retrospective activity :

Page 15: Being agile with SharePoint

15

FMOQ – Sprint 2 – Sprint planning

The FMOQ wanted to be able to recognized their members on the web site

Sprint goal : Login and manage online profile

Product backlogAs a member, I want to be able to register my self on the website

As a site administrator, I want to control registration on the web site

As a member, I want to be able to manage my profile online

As a end user, I want to add / modify / delete content on the website.

As a end user, I want write the website content into a WYSIWYG editor.

As a end user, I want to add a video as a blog post

Sprint backlogAs a site administrator, I want to control registration on the web site

As a member, I want to be able to register my self on the website

As a member, I want to be able to manage my profile online

Page 16: Being agile with SharePoint

16

FMOQ – Sprint 2 – Sprint review

Success or not?

Live demo!

DONEAs a site administrator, I want to control registration on the web site

As a member, I want to be able to register my self on the website

As a member, I want to be able to manage my profile online

Page 17: Being agile with SharePoint

17

FMOQ – Sprint 3

The next step was to put the content management system in place with the approval workflow

Page 18: Being agile with SharePoint

18

FMOQ – Sprint 4

We finally have a design and the navigation is working!

Page 19: Being agile with SharePoint

19

FMOQ – Sprint 5

Access to external site (authentication)

Articles

Page 20: Being agile with SharePoint

20

FMOQ – Sprint 6

Site content types

Hierarchy

Page 21: Being agile with SharePoint

21

FMOQ – Sprint 7

Union activities calendar

Admin dashboard

Page 22: Being agile with SharePoint

22

FMOQ – Sprint 8

Security

Page 23: Being agile with SharePoint

23

FMOQ – Sprint 9

Advanced search

Page 24: Being agile with SharePoint

24

FMOQ – Sprint

Page 25: Being agile with SharePoint

25

FMOQ – Sprint 7 – Unit testing

Sprint 7

Change the authentication

method to use an email

Something need to be change but how can we make sure we don’t break anything?

Answer : Unit Testing

Page 26: Being agile with SharePoint

26

TypeMock

Page 27: Being agile with SharePoint

27

Red, Green, Refactor

RED

GREEN

Page 28: Being agile with SharePoint

28

Iterative development in SharePoint

Advantages of a iterative development in SharePointPotentially Shippable pieces of codesFace tough challenge early and oftenEarly visibilityAbility to change every sprintInspect and adapt to customers needs

Page 29: Being agile with SharePoint

29

Agile SharePoint Development

When is it a good idea?You have management and customer buy inYou understand that Agile won’t magically make your project workYour team is committedStart small

Inspect and adapt

When is it a bad idea?Don’t start on high risk projectsDon’t start without management buy inDon’t start without customer engagement

Although agile can help rescue failing projectsDon’t start if the team doesn’t want to

Page 30: Being agile with SharePoint

30

Pain points

Unit testing - Impossible

Automating Integration and acceptance testing

Continuous build and automatic deployment

Deployment

Used as an excuse not to be Agile

Page 31: Being agile with SharePoint

31

References

Agile SharePoint development and unit testing

http://www.21apps.com/

Introduction to scrum

http://www.mountaingoatsoftware.com/topics/scrum

Unit testing with TypeMock

http://www.typemock.com

SharePoint development with Unit testing

http://www.sharepointdevwiki.com

Page 32: Being agile with SharePoint

32

Questions?

Sébastien Leduc

[email protected]