Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Projects
I have been recently involved in a number of BizTalk 2004 integration projects using Agile Project
Management (Also known as Scrum). Conchango (http://www.Conchango.com) has also been
involved with Microsoft in designing and implementing the Agile add-in for VS2005.
If you are unfamiliar with Agile Project Management, have a look at the following links:
http://www.controlchaos.com/ (Its all about common sense) The official Website with all the
resources
http://www.scrumalliance.org/ For Certified Scrum Master Resources
http://wiki.scrums.org/index.cgi?HomePage and http://c2.com/cgi/wiki?ScrumProcess
Background
First, a bit of background, I don’t want to assume that you are an expert on the subject and will try to give a
bit of info to get you going for this post.
Agile project management was introduced for development projects. The standard sprint duration is 30
days and at the end of each sprint the project team presents “Production Quality” features. At the
beginning of the project the team organise their deliverable (Called Products) in a “Product Backlog”. A
representative (Called Product Owner) from the stake holders helps them identify the products and
prioritise the product backlog. The team starts with the most valuable tasks first, then the less valuable till
they deliver the entire system or run out of budget. The emphasis is on two things: The stake holders are
seeing results very early on. So after four working weeks the team would have produced real business
value. The second is that the products of each sprint are production ready. So, if the stake holders decide
to put this to live today, they can do that.
Tip1: Have the scrum meeting standing up and away from your desks. This ensures people focus on the
meeting, and prevents the quick peak to the old email inbox
Tip2: Pigs stand in a circle, chicken outside the circle. This enforces the separation between committed
and non committed resources
Tip3: Establish a fine for those who are late for the scrum meeting. Mine is a pack of Bahlsen Choco
Leibniz dark chocolate biscuits (http://www.bahlsen.co.uk/), or two if you someone has been really
naughty!! Most people though tend to gather the money and later donate it to a charity of their choice.
Tip4: The daily scrum time is very important. If you make it too early, you might have people stuck in traffic
and start having problems with people missing very often. Having your scrum meeting too late, say at 10
am or 10:30 am, people will tend to do whatever (not work related) waiting for the scrum to begin. Scrum
time of 9:30 am is on average a good time.
Semi-committed pigs*
Sometimes you require resources for a short time only, or have to share them with other projects. I call
these Semi committed pigs. The first problem with having semi committed pigs is time management and
estimation. They will often say: “I have to work on this other project, so you can have 40% of my time.”
This is very difficult to estimate because they will not always give 40% every day. The second problem is
that you always try to have the team in the same room. Semi committed pigs will generally not be able to
do that because of their other engagements. This introduces plenty communication issues.
* The term “Semi-committed pigs” is truly my term and you will probably not find it in any of the books. If
you do find an equivalent please let me know.
Communication
Having daily scrums with relevant involved stakeholders is the biggest advantage Agile projects have over
other Traditional approaches. In addition, there is a benefit of delivering functionality early to business
users:
- The feedback is much more relevant to what has been delivered so far.
Therefore if the delivered functionality is not completely correct, it
could be easily altered as you did not build any additional functionality
on top of it, and the development knowledge is still fresh in developers’
minds
- The feedback is immediate, and updates the team’s knowledge of the
system. This is very important especially if in the next sprints there will
be functionality that either uses this feature or extends it.
- Reprioritising functionality: Very often stakeholders will re-evaluate
their priorities because they have identified additional benefits in what
has been delivered making other products on the backlog either
redundant or less attractive. This is key as, in traditional projects, we see
large budgets being spent on features that are rarely used. This is
because the business did not get to see the solution until development
was completed for all the features of the system.
And Finally
These were few points from my personal experience, and every time a new agile project starts and
finishes there are loads to learn. If you are still reading, I hope you have found this useful, and I look
forward to your comments and questions