Posts Tagged ‘21Scrum’
Wednesday, June 30th, 2010



As part of the 21SCRUM development project I implemented build verification testing using Visual Studio 2010.  21SCRUM has a great suit of unit tests for the core logic,  it has some integration tests (although I would like more) but I found a lot of the coding was very targeted at the User Interface.  So much so that no real changes to the core logic have been made since the beta release.

The team did a number of Spike tests 1 to see if it was possible to do unit testing of the JavaScript code.  Unfortunately nothing that was looked at really provided the confidence or ease of use needed to become a part of the development process.

I have flirted with automated UI testing for a long time,  looking at WinRunner, Segue, QA Runner and various other tools along the way.  I actually remember doing UI testing against a FoxPro application that used OCR technology to verify the text on the screen.  The problem has always been that the tests are brittle, any slight changes to the UI and they break and it becomes a case of diminishing returns.  However having failed to find a good solution to unit testing the UI code I decided to give the new Visual Studio 2010 tools a look.

My first impressions were very good,  I actually changed the session I was doing at the SUGUK event in Wolverhampton due to being so impressed by the tools.  This post is going to be one of a number I do covering lessons learned as the team develop our test suite using these tools for real on 21SCRUM.  

The first lesson and one that you need to do before you start any UI testing is start from a known place.

Start from a known place

I quickly discovered that getting good, repeatable and maintainable automated UI tests to work over time you really have to make sure you always start at the same place.  This means no additional browser windows open,  no test web parts added to your pages, no left over’s from the last test or development.   

One of the reasons I love Unit Testing is the isolation for any real environment or the need to go through a lot of setup and tear down steps.

In order to do this properly and repeatedly you need to have a script that will refresh your test location.

The script used for 21SCRUM is simple and does the following:

  • - Deletes the test site collection
  • - Create the test site collection based on required site template
  • - Uploads the 21SCRUM sandboxed solution to the Solution Gallery
  • - Activate the 21SCRUM solution

These steps ensure that when the tests are run they always start from a clean site collection.   The script has been extended to provided sub sites and additional site collections but the changes are incremental and added as the tests demand.

Powershell

Like all good developers Powershell is the scripting language of choice.  Actually kicked off with a good old fashioned .bat file <<  interested to know if there are any alternatives to this?

The batch file RefreshSite.Bat  (powershell.exe is in my standard path)

powershell -File RefreshSite.ps1

The powershell script does the work

//Load the SharePoint Commandlets

Add-PSSnapin Microsoft.SharePoint.Powershell

//Delete the site collection – don’t prompt the user to confirm

Remove-SPSite -Identity “http://aberdovey.com” -Confirm:$false

//Create a new site collection based on the Team Site Template

Get-SPWebTemplate | Where{ $_.Title -eq “Team Site” } | ForEach-Object{ New-SPSite http://aberdovey.com –OwnerAlias DOMAIN\USER -Name “Aberdovey” -Template $_ }

//Add the solution to the solution Gallery – it must have the full path name and not a relative path

Add-SPUserSolution -LiteralPath C:\<full path to the location of the WSP>\21Scrum.Solution.wsp -Site http://aberdovey.com -Confirm:$false

// Activate the solution – and yes Microsoft have done it again with the naming!  Install means Activate

Install-SPUserSolution -Identity 21Scrum.Solution -Site http://aberdovey.com -Confirm:$false

 

This simple command allows the refreshing of the environment to be run quickly and ensures the tests always start from a known place.

 

1 Spike Tests – short time-boxed pieces of work looking to prove an approach or providing additional knowledge to make estimates more accurate.

Tuesday, June 29th, 2010



Having released 21SCRUM on the 21st June we have been busy putting together a few changes to make it easier to use.  The most important of these is the free trial edition that allows you to download and have a look at 21SCRUM.  The trial edition is fully featured and, along with the other editions, now includes a getting started guide to walk you through from installation to completing your first sprint.

We have discovered a lot during the development of 21SCRUM and will be sharing details of these lessons in future posts.  The most important of these lessons is that the SharePoint Sandbox really is a viable platform on which to build solutions.

Download your trial copy

The 21SCRUM Team

Tuesday, June 8th, 2010



In April I announced the beta release of 21Scrum (previously know as Project Aberdovey) and  have been amazed that even though SharePoint 2010 has only recently been released we have had almost 400 downloads so far.

You’ll be please to know that coding is almost completed and the first official release is scheduled for 21st June. 

21Scrum is I think the first commercial SharePoint 2010 solution specifically developed as a Sandbox solution and I was very happy to see it get a mention on the official Microsoft Get The Point Blog – so much so I thought I would give everyone a sneak peak at some of the new look that Sam Dolan @ Pink Petrol has been doing for us.

Some of things that we have added since the Beta release

  • - Add stories directly from the Sprint Planning page
  • - Edit stories in Sprint Planning and Story Board
  • - Delete Stories by dropping them on the Recycle bin

We have really focused on making 21Scrum quick and easy to use, keeping true to the white board and ensuring the tools do not get in the way of your processes.

Hope you like the look,  if you don’t it was Sam :)   – but i’m sure you’ll agree with me it looks cool.

 08-06-2010 18-09-03 

 

08-06-2010 18-09-30

With a deadline fast approaching, see for yourself at www.21SCRUM.com, the whole team is taking a week out to watch cars go around the track at the Le Mans 24 hour race.

Sunday, April 4th, 2010



Update

21 June 2010:  We are pleased to annouce the 21Scrum has been released.   Please visit www.21Scrum.com for more details and to get your copy.

21Scrum

 

Having been an advocate of SharePoint and Agile development for some time I have always found it disappointing that there has not been a decent solution for managing my Agile Projects in SharePoint.  I initially floated the idea of a scrum tool for SharePoint just under a year ago and have at last managed to dedicate some time in order to make this idea a reality – internally this is called Project Aberdovey

Today we announce two things

  • Project Aberdovey will be called “21ScrumScrum for SharePoint

 

21Scrum

 

image

21Scrum is a Sandboxed solution that works with all editions of SharePoint 2010 including SharePoint Foundation. 

The solution is made of up 3 key areas

  • Sprint Planning
  • Burndown Chart
  • Story Board

Sprint Planning

All of your backlog items are maintained in a SharePoint list,  you are free to extend the list to add additional metadata and views to make management of the backlog easier.   Planning your sprints is done using the Sprint Planning board where you plan as you would with a white board moving stories between the backlog, current and next sprints.

SprintPlanning

 

Sprint Planning

Visibility is central to Scrum projects and the Burndown chart provided gives you a real time view of how you sprint is progressing against the ideal.

image

Story Board

The story board is what the team uses during the Sprint, ideally this is a big white board in the team room – with distributed teams this is not viable.  The 21Scrum story board provides this white board view and, like the Sprint Planning, allows the team to drag and drop stories as they progress through the stages from Not Started to Done.

image

 

Getting Started

 

A quick guide to getting started with 21Scrum

1) Download the 21Scrum Sandboxed solution – rename the file from .zip to .wsp

2) Navigate to the Solution Gallery in the Site Collection you want to deploy 21Scrum and click upload solution (in the solutions Tab)

image

3) Upload the 21Scrum solution and activate it

image

4) Activate the Features

21Scrum is divided into two part

  • * Site Collection Feature which has things like the WebPart definitions
  • * Site Feature which enables the lists to support the team

This split allows you to have multiple independent Scrum teams working in the same site collection.

At the root site collection activate the Site Collection Feature

image

And activate the Site level feature in the site that you want to manage your Scrum team

image

5) The Burndown Chart is provided as a web part,  add this web part to a page.

image

As you haven’t started doing any work yet your Burndown chart will look like this.   To make testing of the beta easier we have provided another web part.  The “Populate Demo Data” web part will create sample data as if you were half way through a sprint. Simply add this web part to a page and click “Populate Demo Data” and have a play with the Sprint Planning, Story Board and Burndown.

 

Giving Feedback

 

Having used a lot of scrum tools and often found them trying to do too many things we have kept 21Scrum very focused,  the ability to be able to get up and running quickly and for the tool to add value and not become an overhead was crucial.   However we may have missed something that you can’t live without!

The beta release of 21Scrum is available to anyone to download and use,  it is not restricted in time-boxed so please feel free to use this on real life projects.

All we ask is that you provide feedback so we can make sure that when we release 21Scrum it is the best Scrum tool available.

If you have a feature request or find a bug please add comments on this page to send an email to andrew@21apps.com