Sapien amet…

(Planning the project)

Hi all, and sorry for the slow updates. My new job has had me so busy that I have not found any time at all to work on my plant watering project. In addition, with the release of Visual Studio 2013 the gadgeteer project that I had going no longer works, since the .Net micro framework and Gadgeteer API’s need to be upgraded for the latest version of Visual Studio! I also need to get a new mainboard for the project as the one I have does not support WiFi!!

Visual Studio Online – The project planning tool

Today, I want to tell you about using Visual Studio Online (VSO). That’s the new name to “Team Foundation Service” which was introduced a while ago.

VSO is free to use in projects up to five people, and if you are an MSDN subscriber, you do not even count towards those five. So, for all your hobby needs, you should need no more than this to get started on your next project. I will look at the agile planning part of VSO today, so this is not only for the .Net people!
Let me repeat this:

It does not matter what language you develop in, or even if you are a developer at all. VSO is a purebreed project planning tool that will see your Agile project needs fulfilled!

 

Planning

When you plan a project, you typically have some different areas and concepts that need to be defined. These areas, or features as they’re called in VSO (“epics” in Jira) allow you to group together a set of user stories for which you plan your work. My Water My Plants (WMP) project is split into the following epic parts:

image

Using features, it’s easy to find a home for all the backlog items in the project. As you can see from the image above, I have 6 main features in my WMP project, each with their set of backlog items. For a more general LOB application, you could have features such as “invoicing” or “maps”. Some books describe epics as user stories that represent too much work for one single sprint.

With the above list of features done, I can easilly just change viewmode to “features to backlog items” in order to start planning the user stories. This viewmode basically adds a huge plus-sign to the left of the highlighted feature and clicking it add a new user story below it. You can see in the next image that I’m working on “Windows Azure” and setting up some work that needs to be done there:

image

Backlog items are user stories, and not tasks. In a large project, you would plan for the features and backlog items together with the stakeholders of the project (such as the company owner, project lead etc) and once you’ve got a Product Backlogyou order it by priority so that the developer team can start planning their work.

Get sprinting

The sprint planning process is identical to backlog creation; assemble your developers, and walk through the backlog items having selected view “Backlog items to tasks”.

image

As you can see, now you’re clicking the big plus-sign on a backlog item in order to define what tasks need to be done in order to deliver the backlog item. The tasks are described and estimated. The smaller (in time/complexity) the task, the better, because smaller tasks are easier to estimate. Your team commits entire backlog items (with all the tasks) for a sprint – as may as they think they can manage in the alloted period.

It is important to remember that your team commits entire backlog items to the sprint, and not individual tasks! I can’t begin to tell you how many times I see teams trying to deliver individual tasks in sprints. This gives no value to the stakeholders, because as long as there is a missing task to the backlog item, then it cannot be delivered and tested.

Once your team has planned enough tasks to last the duration of the sprint, they can now focus on the work getting done, and follow their progress on the burndown graph.

image

What I like about VSO is the clean interface, and tight integration with Visual studio. Inside Visual Studio, I have a prioritized “Assigned to me” query that has been put in my team page:

image

Clicking on this gives me the work items that are either bugs or tasks todo or in progress. I can then easilly associate each check-in with the task that I was working on. The order of the tasks is, as you’d expect, the order of priority that I arrange the backlog items that the tasks belong to.

Systems like these are the recepy for success in any modern software project. I honestly believe that VSO has no match because of the tight integration with Visual Studio and MS Office.
(you can hook up Excel to this just as easilly).

So there you have it, this is how my plant watering project is managed on a larger scale.

Read more about this on Application Lifecycle Manage and Agile planning on the Visual Studio site

– and lets hope that the API’s for working with Gadgeteer comes to Visual Studio 2013 soon!

Merry Christmas!

P.

Leave a Reply