Thursday, June 04, 2009

Managing Schedule Risk in an Agile Scrum Process

Managing time and the team in an agile scrum project is difficult but it's gotta get done. In all projects, we have to estimate what we're going to do and try to get it done. If we aren't getting it done, we have to either work more and meet our deadline or communicate to our sponsors how things are going to be different at the deadline or move the deadline out. It's all about delivery and customer service in the end. At any rate, typical software projects have two distinct parts, each requiring their own management techniques:


  1. New feature development

  2. Bug fix, customer service and support

Since we have to manage both of these types of work, and they behave very differently, we need to develop a language around getting things done to support effective communications within the delivery team and to our customer community. The choice we use at my company is Agile/Scrum, where we plan and deliver our work in 2-week increments called sprints. By doing this we're able to execute and significantly re-tweak our process every two weeks. We are given a quote-unquote new lease on life every two weeks; it should be a refreshing way to work and partner.


In our methodology, new feature development is handled by the Agile/Scrum methodology burndown method to track work. The burndown method is the typical agile/scrum way of tracking work: we create a definition of done in terms of scope and features, then estimate how many hours we think it will take to do it. Between the ScrumMaster and the team, we track how the hours are burning (up or down since maybe your last estimate wasn't great and there was unseen work) on a recurring basis and if we think our velocity is what it needs to be. If the velocity starts to slow down, the team addresses how to remove impediments and get the velocity up to such a degree that the project is scheduled to finish on time. If things don't go well, we figure out how to mitigate the risk with the customer.


Burnup is a different but important concept to understand and use to manage our work. Our example of using burnup here is a 50-hour max promise to the customer to deliver customer service. We don't have to provide all 50 hours in our example but we do want to know how much of this time we're spending because it's a distraction to the other part of the project since we can share resources and sharing resources is efficient. This method requires tracking ACTUAL hours spent, which is different from the burndown method. Note that this is a key difference from burndown, where we really only care about how many hours are left. We can see how many hours are left on a burndown type of project but what's potentially left on it is certain, whereas what's left in burndown is only estimated.

These two methods of burnup and burndown are two very different ways to think about work: the former is a picture of what's necessarily remaining and the latter is a guess of what's left. The latter is best mitigated by good planning and knowledge of what tasks and how much time is required to get to "done". Together, we use these two techniques to manage risk and communicate effectively.

Conclusion: We Can Now Manage Projects That Burn Time Up and Burn Time Down


By understanding how these types of work are different and how we can manage each, we're able to develop and speak a language about risk and progress making our velocity increase and our projects more fun.

Tuesday, March 24, 2009

Interface of Your Choice for all Media Types

I want an API that does this:

Video.SaveAsAudio() - http://www.softpedia.com/get/Multimedia/Audio/Other-AUDIO-Tools/Free-Video-to-Mp3-Converter.shtml
Video.SaveAsText() - http://everyzing.com/
Video.Search(string TextToFind) - http://everyzing.com/
Voice.SaveAsText() - http://jott.com/
Voice.Search(string TextToFind) - http://everyzing.com/
Text.SaveAsAudio() - http://www.naturalreaders.com/

Sunday, January 04, 2009

Recording the Web

Just found a free new tool called Braincast (www.braincast.com) that allows anyone to call a number from their phone and make a recording. The service then emails you a WAV file of that recording that you can post online. Pretty cool. Great for bloggers or podcasters! Here's a file I just recorded: http://tr.im/2xrg

Sunday, December 28, 2008

How to Continuously Improve

Deming tells us to plan, do, check, then act. Is that all there is to it? Yes. But it's not that easy for a lot of people to do this. Why?

In more detail, here's the algorithm I use:
  1. Plan a project or action based on your conversations with powerful and legitimate stakeholders.
  2. Do the project or action according to plan. Do not deviate. Almost always there will be a gap between what was expected and what actually happened.
  3. Check how big this gap is. Get feedback from the stakeholders. Note what to keep doing, stop doing, and start doing for next time. Make a plan to support what you want to keep, stop what isn't necessary, and start what's required.
  4. Act on the plan.
Does this work for you? How do you modify this or do it differently? How does technology affect this? What tools do you use to support this process? Is there a different process? What is the hardest part about this? What makes this process break?

Wednesday, December 24, 2008

Planning Freaks People Out

People react differently to planning. Some like it, some hate it. Planning makes people think, commit, trust and eventually do work, perform, and risk exposing themselves. Their plans cause them to announce their intentions and make things public. That's scary for some, glorious for others.

An Answers.com definition of "plan" (the noun) is, "A proposed or tentative project or course of action." The word in the definition that I like is "tentative". It's funny because EVERYTHING is tentative! No one can predict the future or know the results. So why are we all so scared?

Expectations are another aspect of this. What do you expect? Why do you expect it? Do you have high expectations from yourself? Others? Products? Services? Things you make? Things made by others? We all have expectations but should we? Doesn't having them just hurt us? It's been said that "happiness is inversely proportionate to expectation." I would agree. So stop expecting and start planning 'cause none of us know anything ever.

Sunday, December 21, 2008

It's Efficient, but for Whom?

One big problem with the "green" (environmentalism, efficiency, social consciousness) movement is that it is hard to know the truth about what is green. Hence the term "greenwashing" as in flubbing or lying about the greenness of one's product, company, or service. But is lying necessarily bad here? It could be.

It's the case in business and life that things can be "efficient" (defined by Answers.com as "Acting or producing effectively with a minimum of waste, expense, or unnecessary effort.") for one person but not another. In fact, that's the norm; there are system effects to improving one area of a process while not considering the others. There has to be a balance since there are many stakeholders and perspectives for anything we look at or touch. A simple example of sub-optimized efficiency is a company that dumps its waste into a local water supply, saving itself money but breaking the law and damaging the water supply. It's efficient for them but inefficient for the water supply, water users, etc.

Say things change and this same company decides to change its behavior and "go green". They promote how they reduced X, Y, and Z. This is good. All positive change is good, but it's still not enough. The company is not off the hook now for doing ONE GOOD THING!

The point here is that there are many SHADES of GREEN. Anything that is positive for people or the planet can be considered green but we have to be very careful what we call green or call good enough. What we should be shooting for is A BRIGHT GREEN THAT WE CAN MEASURE. That said, there's usually a the competing force of financial and economic greed. We can and do measure that well: it's called profit or loss. Where's the balance in a system like this? How would we know if we were doing the right thing? What if I made $1M from a business that hurt things and then reinvested that in saving children or streams? Am I bad?

Saturday, December 20, 2008

We're All Actors

I've been thinking a lot lately about "performance". What does it mean? Here's my favorite definition from Answers.com, "A presentation, especially a theatrical one, before an audience."

I agree with this--albeit very public-sounding--definition. When I think of work I think of performance. Was the work good? Was it bad? Who was the audience? Usually your manager is witness to your work performances but sometimes they never even see, read, observe, or understand what you do. Sometimes we even get paid for performances that are not seen, heard, or used. What a waste.

I've been talking to people lately about my desire to write and speak more about my work and life passions. Blogging is one channel to accomplish the writing part but I'd also like to publish my work into other channels like journals, books, etc. To publish implies that one's intention is to SHARE his her work with an audience. The first trick, however is to identify and/or develop that audience. UNDERSTAND the audience. Who are you speaking to? What do they need and want? What are their fears and fantasies?

The more one becomes social and "out" (of their head, shell, closet, whatever it may be that's keeping them "in"), the more they act (real) and perform (well); the more they become their true selves and a key part of society.

If you're performing in a job that has a small audience and you feel like no one cares, get out of it today and do something else starting now! Grow your audience by reaching out to those around you and make a difference in your life in theirs. Let this change you take on be your NEW and NEXT performance. Make what you really love and want to do be your FINAL and REAL performance. Everything else is fake.