Being agile with SharePoint


Published on

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.

Published in: Technology
  • Be the first to comment

Being agile with SharePoint

  1. 1. Being Agile with SharePoint<br />Sébastien Leduc<br />Vice-President, GSoft Group<br /><br />
  2. 2. 2<br />GSoft Group & Me<br />GSoft Group<br />Based in Montreal<br />Agile software development and consulting firm<br />Expertise in Microsoft .NET and SharePoint technologies<br />Me<br />Vice-President of GSoft Group<br />Working with SharePoint and Microsoft Technologies since 2003<br />I’m a SharePoint trainer<br />Consulting<br />Information architecture planning<br />SharePoint governance plan<br />Development team setup<br />Product owner of sharegate<br />
  3. 3. 3<br />Introduction<br />Being Agile with SharePoint<br />Business Case<br />How we estimate the project<br />Introduction to Scrum<br />What’s a sprint<br />Sprint planning<br />Sprint review<br />Sprint retrospective<br />eXtreme Programming (XP)<br />Unit testing<br />Iterative development<br />Agile SharePoint development<br />Pain points<br />
  4. 4. 4<br />Being Agile with SharePoint<br />Lack of customer understanding<br />New technology<br />Peoples knowledge (development team and client)<br />Changing requirements<br />Achieve a lot using Out of the Box<br />Platform allows rapid deployment<br />Platform allows you to deploy in modular pieces<br />Use your solution as soon as possible<br />
  5. 5. 5<br />Business Case<br />Fédération des médecinsomnipraticiens du Québec<br />Project <br />CMS Website using Windows SharePoint Service 3.0<br />320 pages<br />14 associations<br />8000 members<br />200 000 visits / month<br />Estimated time : 6 month<br />Team<br />1 Product Owner<br />1 Scrum master<br />3 GSoft developers<br />1 FMOQ developer<br />1 FMOQ QA<br />1 webmaster<br />
  6. 6. 6<br />Business Case –<br />Fédération des médecinsomnipraticiens du Québec<br />
  7. 7. 7<br />Specifications<br />We break down the specifications into user story<br />End user : Member of the FMOQ that have access to modify the website content<br />Member : Member of the FMOQ website<br />
  8. 8. 8<br />Sprint 0<br />Pass through the checklist<br />Build the first security grid<br />Defining the “Done Done”<br />Checklist<br />
  9. 9. 9<br />DoneDonelist<br />With a story<br />With a sprint<br />
  10. 10. 10<br />What’s the Scrumprocess?<br />Product backlog<br />Sprint planning<br />Daily Scrum<br />Sprint review meeting<br />Retrospective<br /><br />
  11. 11. 11<br />Sprint planning<br />Product owner describes the highest priority features<br />Define a sprint goal<br />Define the conditions of success<br />
  12. 12. 12<br />FMOQ – Sprint 1 – Sprint planning<br />It was really important for the FMOQ to see the president’s blog<br />Sprint goal : post on a blog and write a comment on it<br />
  13. 13. 13<br />FMOQ – Sprint 1 – Sprint review<br />How does it work?<br />Success or not?<br />Live demo!<br />
  14. 14. 14<br />FMOQ – Sprint 1 – Sprint retrospective<br />What went well during the sprint?<br />What went wrong during the sprint?<br />Define an action plan<br />There should be a lot of interaction during the retro<br />Example of a retrospective activity : <br />
  15. 15. 15<br />FMOQ – Sprint 2 – Sprint planning<br />The FMOQ wanted to be able to recognized their members on the web site<br />Sprint goal : Login and manage online profile<br />
  16. 16. 16<br />FMOQ – Sprint 2 – Sprint review<br />Success or not?<br />Live demo!<br />
  17. 17. 17<br />FMOQ – Sprint 3<br />The next step was to put the content management system in place with the approval workflow<br />
  18. 18. 18<br />FMOQ – Sprint 4<br />We finally have a design and the navigation is working!<br />
  19. 19. 19<br />FMOQ – Sprint 5<br />Access to external site (authentication)<br />Articles<br />
  20. 20. 20<br />FMOQ – Sprint 6<br />Site content types<br />Hierarchy<br />
  21. 21. 21<br />FMOQ – Sprint 7<br />Union activities calendar<br />Admin dashboard<br />
  22. 22. 22<br />FMOQ – Sprint 8<br />Security<br />
  23. 23. 23<br />FMOQ – Sprint 9<br />Advanced search<br />
  24. 24. 24<br />FMOQ – Sprint<br />
  25. 25. 25<br />FMOQ – Sprint 7 – Unit testing<br />Sprint 7<br />Change the authentication<br /> method to use an email<br /> Something need to be change but how can we make sure we don’t break anything?<br /> Answer : Unit Testing<br />
  26. 26. 26<br />TypeMock<br />
  27. 27. Red, Green, Refactor<br />27<br />RED<br />GREEN<br />
  28. 28. 28<br />Iterativedevelopment in SharePoint<br />Advantages of a iterative development in SharePoint<br />Potentially Shippable pieces of codes<br />Face tough challenge early and often<br />Early visibility<br />Ability to change every sprint<br />Inspect and adapt to customers needs<br />
  29. 29. 29<br />Agile SharePoint Development<br />When is it a good idea?<br />You have management and customer buy in<br />You understand that Agile won’t magically make your project work<br />Your team is committed<br />Start small<br />Inspect and adapt<br />When is it a bad idea?<br />Don’t start on high risk projects<br />Don’t start without management buy in<br />Don’t start without customer engagement<br />Although agile can help rescue failing projects<br />Don’t start if the team doesn’t want to<br />
  30. 30. 30<br />Pain points<br />Unit testing - Impossible<br />Automating Integration and acceptance testing<br />Continuous build and automatic deployment<br />Deployment<br />Used as an excuse not to be Agile<br />
  31. 31. 31<br />References<br />Agile SharePoint development and unit testing<br /><br />Introduction to scrum<br /><br />Unit testing with TypeMock<br /><br />SharePoint development with Unit testing<br /><br />
  32. 32. 32<br />Questions?Sébastien<br />