SCRUM in Under 10 Minutes (HD) by @hamids

Are you’re looking to learn the SCRUM software development methodology in less than 10 minutes? By the end of this fast-paced video, you’ll know about burn-down charts, team roles, product backlogs, sprints, daily scrum… Read more of this post


Scrumy – A very simple agile project management site geared to scrum projects. I still prefer mingle, but the video is funny.

Vodpod videos no longer available.

more about “Scrumy“, posted with vodpod


More Mingle Chart Modifications

As much as I like Mingle…except for its speed…there are a couple of things that have bothered me for a while: the straight lines to infinity when a chart goes beyond current data points and hard coding dates as labels in charts. It turns out that there are a couple of easy resolutions to both problems.

If your burn down chart has parallel horizontal lines running off the chart to the right, simply remove the “x-labels-end” tag and save the chart. Your new chart will end at the most recent data point.

Onto the second issue. Instead of hard coding dates into your charts, causing them to modified every time you need to change a date, use a project variable. Since my charts are primarily based on release, I created a date project variable  called “Release Start” that I use on the x axis: x-labels-start: (Release Start). Now, I only have to go to one place within my project to maintain the release start date.

Hope this helps with your Mingle adventures. For more Mingle chart modifications see this post and this one.

Simple Mingle Overview Charts: Project Backlog

One of the items I  track in an Agile project is what my team refers to as “Project Backlog.” The Project Backlog contains stories that have yet to be accepted and assigned to a sprint or release. For purposes of estimating project end dates, I keep a running tab on the total stories in the Project Backlog at any given time.

In Mingle, I’ve developed the following tracking chart:

Here’s the code to create this chart:

cumulative: true
x-labels-start: 04/01/09
x-labels-end: 05/30/09
x-labels-step: 7
x-title: Date
y-title: Stories
chart-width: 400
plot-width:  200
three-d: false
chart-type: line
– color: orange
data: SELECT  ‘Added On’, COUNT(*) Where type = Story AND  ‘Planning – Release’ IS NULL and ‘Planning – Sprint’ IS NULL and ‘Added On’ <= TODAY and Status != ‘On Hold’ and Status != ‘Deleted’
type: line
line-width: 2
trend: false

Simple Mingle Overview Charts: Velocity Per Sprint

Several months ago some of my development teams began using the Thoughtworks Mingle application for agile project management. Yes I know that typical agile techniques involve walls and index cards. Frankly I prefer web pages and drag and drop. Mingle does both very well.

As I’ve immersed myself in Mingle, I have really come to enjoy its flexibility. But, a few things have bugged me about some of the charting options…or at least how they’ve been deployed at my organization. My major complaint is that the charts and tables on the Overview page require too much manual intervention to update (read: frequent edits have to be made to the page for new sprints, releases, etc.). Don’t take this as a criticism of Mingle per se, as I can’t fault the Mingle team for the way we’ve implemented it.

It’s become one of my missions to improve the Overview page and create more dynamic charts. My first attempt at this is the creation of a dynamic Velocity per Sprint table:

Sprint Velocity

As you can see, this table contains three elements:

  • Planning – Sprint
  • Sum Final Estimate – Planning: a summary of a story’s Final Estimate – Planning field, which for us represents the estimated points involved in the story.
  • Planning – Release: the release name.

Originally, this was a static table that had to be updated every time we created a sprint…not good. To make this dynamic, I created the following table query:

{% dashboard-half-panel %}
{% panel-heading %}Velocity Per Sprint{% panel-heading %}
{% panel-content %}
table query: SELECT ‘Planning – Sprint’, SUM(‘Final Estimate – planning’), ‘Planning – Release’ WHERE Status = ‘Accepted’ and ‘Planning – Sprint’ !=NULL GROUP BY ‘Planning – Sprint’
{% panel-content %}
{% dashboard-half-panel %}

In future blogs, I’ll share some more Mingle tips.

%d bloggers like this: