Wednesday, November 02, 2011

Don Bolen Agile Project Management for Elearning Dev #devlearn

My live blogged notes from DevLearn in Las Vegas, November 3 2011.

Agile tools, tips and techniques to use for building your elearning.

There is no agile project management police – you can mix and match and do what works in your environment.

PMBOK (Project management body of knowledge) – it’s a guide.

What’s wrong with projects? They are creative things and sometimes things just don’t to plan.  Projects have complexity.

“37% of all IT projects are troubled”

ADDIE – it’s a waterfall model.  You do analysis – get approval (a gate), then go to design (gate)…

By the time you get to implement – what do you do if stuff happens?

The Agile Manifesto:

  • values individuals and interactions over process and tools;
  • working software over documentation;
  • customer collab over contract negotiation;
  • responding to change over following a plan.

Agile Principles:

  • rapid delivery of useful software
  • welcome changing requirements even late in dev
  • co-operation
  • face to face
  • built around people and self-organizing teams
  • simplicity
  • regular adaptation to changing circumstances

The Iron Triangle: Scope/Cost/Schedule (pick any two) – quality is missing.

Agile: Value/Quality/Constraints (scope, cost, schedule)

Traditional vs. agile:

trad = it’s all about the plan and you need to enforce the plan

agile = iterations, control is through adaption/inspection, use agile proactively to manage change

Why agile?

Delivers quality improvements – fewer defects, more quality, more productive, faster to market, less $.

Agile aligns with Lean (toyota production method)

continuous, daily,iteration, release, strategy… a loop of iterations

Agile methodologies

Agile uses stories to gather customer requirements – collected into a backlog (a list of prioritized stories)

  • As a …<user role>
  • I want….<goal>
  • So that…<business value>

Example: “As a learner, I want my elearning courses to have open navigation so I can freely move through the course.” + as a sme + as a manager…

Collect these requirements from the different personas.

Agile tools

What is better? What is true in one org may not be true in another org. 

SCRUM = start the game over again. it’s a way to restart play in rugby – you pass it backwards to someone on your team. SCRUM calls for sprints – iterations of 2-4 weeks.  Business set priorities for a SCRUM. Organize the best way to deliver the highest priority features. Then stop and ask “is this good enough?” or do we need to go back and do another sprint?

The Scrum Guide (available online)

“pigs and chickens”

Three roles in scrum:

  1. product owner (ensures team delivers value to the business) – this is one person
  2. Dev Team – your designers, dev, graphics, programmers 5-9 people (although not typical of many elearning projects)
  3. SCRUM master – facilitates the SCRUM meeting, main role to remove obstacles, enforce the rules of scrum, makes sure backlog is processed efficiently – protects team from distractions

Timeboxed Sprints – 2-4 weeks

Prescribed, limited meetings (timebox)

The SCRUM flow:

  1. product backlog (where you gather your requirements through user stories)
  2. planning session – pick the priority backlog for this spring
  3. 2-4 weeks sprint cycles
  4. ship product

Sprint Planning Activity:

  • define sprint goal
  • “here’s the backlog and here’s what we’re going to bite off and chew in this sprint” – select stories for the sprint
  • select times for your daily scrum meetings
  • define what “done” will mean
  • “what are the tasks we need to get all of the things done?”

One of the challenges of scrum: how do you scale? Do you have multiple scrum teams if you’re  running a big project with multiple deliverables?

The Daily Scrum

A daily meeting in which you ask three key questions:

  • What did you do yesterday?
  • What will you do today?
  • What obstacles are there?

Ideally, the Scrum team is co-located so you do the daily scrum face-to-face in front of your scrum taskboard.  The taskboard is essentially a grid for each of the “stories” or backlogs that you are going to address in the current sprint.  You have five columns in the grid: story, to do, in progress, done, unplanned.  Use sticky notes to identify where everything is on the board.

If you’re a virtual team, try to figure out the best tools for you to use virtually.

The Burndown Chart

X axis = date; y axis = work remaining…the ideal is a line that slopes down from left to right.  you track where you are on this chart – if you’re above the line, then you’re behind; if you’re below the line then you’re not working to capacity and you didn’t pick enough stories/backlogs to cover in this sprint.

Sprint review

After the sprint is over – “here’s what we did, didn’t do, what worked, etc.” – pause and reflect within your scrum team.

Kanban

another visual tool you can use with agile and perhaps better for elearning projects where you’re often just a one person team.

  • provides a visual workflow – use a kanban taskboard
  • Limit the # of tasks as in progress to 3
  • Manage flow – helps you see where things are and where the bottlenecks are
  • Process policies must be explicit
  • Improve collaboration
  • Kanban is not timeboxed like scrum

photo (4)

-----------------

My editorial: This was a good intro to agile techniques, but I’m still not exactly clear on how to apply this to the many layers of an elearning project.  We started talking about elearning projects in specific – for instance each of your tasks in SCRUM could be laid out – storyboard, graphics, etc – and then you break that down into more detailed tasks and assign those to your sprint.  So the deliverable for the first sprint might be the storyboard and graphic mocks (for example). 

I would like to have heard more about applying this to specific elearning projects.  Don (@Dbolen) seems to be a great resource on agile and I will likely explore this more!

2 comments:

Tony said...

Hi Cammy,

Thanks for the blog, by the looks of it you were quite a butterfly @ devLearn :-)

Working as part of an implementation team, I'm always interested in methods to deliver 'better' projects (define 'better'!).

As well as seeing some examples of where / how Agile can be applied to eLearning projects, it would be useful to point out some of the draw-backs of implementing an Agile-based project, as unfortunately, it is not a silver-bullet do delivering 'better' projects.

It is a more project management heavy process than alternative methods with; daily / weekly / monthly meetings (which requires the associated agendas, note-taking, write-up, actioning). It also gives the client many opportunities to introduce change (not a bad thing!), but ‘change’ often has a knock-on effect by pushing out timelines & increasing the budget - which the client may not be happy with!

As with all project management methodologies, there are pros & cons of each. With either the client or vendor using a method that best suits them & their working practices.

Tony

Cammy Bean said...

Thanks for that perspective, Tony. We've been trying out some SCRUM-like techniques within our production process -- does require more touchpoints, so in that sense feels burdensome a bit. But hoping overall it results in less work due to better communication.