Once a week, I meet up with my mentors Christoph and Andrea to demo my work and to plan the upcoming iteration. The process mimics the agile practices used with 8th Light clients. My mentors act both as peers who review my work, and as clients who expect me to deliver value for their business.
As I have come to learn from my mentor/clients during iteration planning meetings, it is crucial to be transparent, manage expectations, and deliver some kind of value to the client in the space of the iteration.
Transparency x time = trust
If a feature’s size was under estimated, you must be transparent and forthcoming with the client. Tell them outright that the feature has to be either re-estimated or downsized. Transparency x time = trust.
Manage expectations: underpromise, overdeliver
Disappointment or joy is caused by the gap between expected and actual outcomes. Exceeded expectations result in joy. Failed expectations result in disappointment. Knowing that, it is important to actively manage client expectations for the best by underpromising and overdelivering.
Deliver value to your client. ANY value
One of my assignments for iteration number three was to create an unbeatable Tic Tac Toe player using the minimax algorithm. I was unable to deliver on this assignment, for reasons I won’t delve into here (I am looking at you Java’s type system).
So I showed up at iteration planning meeting without an unbeatable computer player to show for all my troubles. If the requested feature can’t be delivered entirely, why deliver it at all, right?
There is no excuse for delivering nothing. There is always some value you can deliver. Identify what that value is, and discuss it with your client before the iteration planning meeting.
In my case, that value could have been:
- computer player is able to make a random move
- computer player is able to make semi-smart moves based on a set of rules
Better to deliver a beatable computer player than no computer player at all.
Deliver value to your client. ANY value.