Smarter ideas worth writing about.

Going Agile in the Cloud

Tags: Cloud Enablement , Azure


Agile is becoming the new standard for modern day project management and the Microsoft Cloud is now a very compelling alternative to on premise application development and hosting.

Cardinal recently had the opportunity to work with one of our clients on a project that combined both.

Our client needed to create a suite of products that would capture, manage and monitor information relating to school district and student progress (K through 12). The new solution would empower school administrators, teachers, and parents to make data driven decisions and identify opportunities for corrective actions.  The new suite of products  also required the ability to display FERPA compliant community and student level information to educators, providers and families among other users.

After evaluating the existing options, Microsoft's cloud based platform Azure was the clear choice. Some of the key factors in the decision included: the ability to isolate different technology components, the ease of deployment using Microsoft's Team Foundation Server (TFS), the flexibility, the scalability and the low maintenance.

Agile was our chosen approach for project management.

The project team assigned included: a project lead, an architect, three main client stakeholders, and two developers (in different locations).

We used Microsoft Team Foundation Server (TFS) for the entire software cycle from planning to code deployment for every sprint. The fact that TFS was in the cloud was a huge benefit since we were able to share and manage code and artifacts online with everyone irrespective of their physical location.

For Agile projects this size the important artifacts include a product backlog, sprint backlog, burndown chart and ability to define and determine if items in a sprint were "done" based on the agreed upon definition for the team. 

We utilized TFS for creating the product backlog. Each item on the backlog is called a Product Backlog Item (PBI). For each PBI we recorded effort points, acceptance criteria, wireframes and any other supporting information in TFS so that we could determine if a PBI was actually done at the end of a sprint. We also used the TFS ability to assign developer tasks to each PBI at the beginning of every sprint for tracking and planning purposes.

Another key feature that was very helpful was the TFS ability to integrate with Excel to generate reports and update data.



The process of getting the project setup in TFS for the team was fairly straightforward and painless. We made a decision to use the cloud TFS at the project kickoff meeting and we were able to get all the users setup, backlog defined and ready to go for use at our first sprint a couple of days later.  The procedure included, creating a project in TFS and allowing people to join the team through a web interface using a Live account email address.


The Delivery Experience

TFS incorporates the Agile planning tool which is an excellent way of managing a project. It has a built in product backlog and generates automated burndown charts. It is also helpful in determining sprint velocity for future sprint projections.

The TFS backlog helps in bringing the whole team (stakeholders and developers) on the same page by providing a way to manage expectations for each sprint and down to each PBI with the help of acceptance criteria. Also the source code and the backlog are stored in the cloud which makes the physical location of the team immaterial.

Everyone has the ability to enter in new PBI's since everyone is accessing the same product backlog in the cloud. It has helps with the sprint testing cycle since bugs can be recorded and tracked.