Archive for XP

Has the Agile World moved on?

Posted in Uncategorized with tags , , , , on September 19, 2013 by vikramadhiman

Tough question. As I write my first post on this blog after a long long time, I wonder if the world has actually moved on? The misinterpretations, myths and downright abuse is rampant and the bright spots few and far. I teach, guide and coach young and experienced teams. Because of my work, I also get the opportunity to meet some really bright software professionals – some who have considerable experience with software engineering processes, including Agile. Some recent conversations in some of India’s (and world’s) top companies around agile practices were like this.

Beginners:

  • It means too much pressure.
  • It means micromanagement.
  • Our company is too unique for this.
  • Are testers going to be out of the job?
  • Does it really work?

Intermediate:

  • Our product management sucks.
  • Why are we forced to enter details in an electronic system?
  • It is not as cool as it is made out to be.
  • How do you get anything done really?
  • Does it really work?

Advanced:

  • Agile is not the answer.
  • Processes need to be customized.
  • You need the help of a software coach.
  • Process without engineering excellence does not work.
  • It depends.

That’s how it is now. That’s how it was years ago. Agile is now talked about by more people and in more countries but the rise has not been exponential. Is this because Agile has still to figure out challenges like scaling (SAFe and others are trying), real-time support (Kanban) and aligning the organization (Lean)? Or because, Agile starts as a destination but ends up becoming a journey, sometimes tedious and many a times, one with cross roads that take a while to figure out. Or maybe, I am not exposed enough. It is exciting to resume writing again.

Ideal Iteration Length, Sprint Length, How Long should be a Sprint or Iteration

Posted in Agile, Release Planning, SCRUM with tags , , , , , , , , on January 11, 2009 by vikramadhiman

New teams struggling with Scrum or Agile adoption more than often struggle with their Sprint or Iteration Length. [Whether or not a Sprint or Iteration is a good thing or needed for Agility is a debatable topic in itself though]. Most of the teams pick up iterations or sprints month or even two months long. Then their idea of Iteration is moulded in Waterfall Phases [this is a Design Sprint, this is a Coding Sprint, this is a QA sprint and this is a Release Sprint] – this is for another day. When deciding on the length of a sprint or iteration, many factors need to be considered:

  • Administrative Overhead : Each iteration needs a planning meeting/ game to kick start the iteration. Each iteration would also need a closing/ review meeting. And there will also be a retrospective at the end of iteration. Although one can say that the size of these meetings [minutes consumed] would depend on the length of sprint, so as long as these meetings comprise say just 10% [you can come up with your number] of overall time available for a sprint/ iteration, it should be fine. I personally think this reasoning is fine. If meetings are taking longer, then there are generally Process Smells – Product Owners who have not done their homework correctly or have not had the chance to review the deliverables properly.
  • Feedback/ Flexibility : Shorter the duration of the sprint/ iteration, earlier the feedback and correction and more flexibility, longer the duration of the sprint/ iteration, longer the correction – more chances of canceling the sprint and more chances of things being obsolete [competitive advantage erosion].
  • How good is the marketing team : If the marketing team is good [Product Owner is good], then he/ she will break the stories or tasks small enough to keep sprint/ iteration length small. He/ she would know the worth and priority for each story or task and help the team pick up most important stuff – minimizing stuff thats not needed – helping the team become Agile.
  • How Fast can the team move : This is generally the most important factor in deciding a sprint length. Assuming the team has a good marketing leadership, one reason the team does not commit to a smaller iteration is lack of confidence in themselves. If they had confidence in themselves [they were doing refactoring, TDD, shared code or just were good group of people together].
There was a certain slant for a smaller iteration length in the post. This is because:
  • Short sprints make certain bad habits impossible to get away with and certain good habits more attractive to learn.
  • Shorter sprints or iterations are difficult for product management team but also most desirable as they can make changes quickly.
  • Shorter sprints or iterations force continuous evaluation regularly and quickly.
  • Shorter sprints or iterations also allows the team to establish
    an empirical velocity very quickly.
Some people and trainers say that when teams are new to Agile/ Scrum, they could start with 2 week sprint. I generally advise against this. I would rather have them do 1 week sprints with lesser stories – allows them to learn quicker and faster. However, important point to note is that each team is unique and each product is unique as well – hence, there might be cases for 2 weeks as well as 2 months sprints. I haven’t come across any so far though.