Sunday, June 7, 2015

Scaling Agile: Hone Your Anticipatory Skills

 
Working on large-scale Agile projects has made me feel as if I am challenged to solve a 10,000-piece three dimensional jigsaw puzzle!  When I think deep, the challenge is more than that.  You have some clarity and a great level of ambiguity on what you need to accomplish and you don’t know the number of pieces. As you move on some pieces are ready, and visible. Some are not visible, but you feel that you are in a dark room and you can touch and feel and create a visual piece to some extent. Other pieces evolve as you move forward.  There are multiple people involved in putting all these pieces together. Some of them are providing oversight, some are giving ideas, some other are reviewing and commenting, and the puzzle is in the process of getting solved.  This analogy stretches based on your experience. And you may say, ‘It is a lot more than that and as complex as working on multiple such puzzles and putting them together.’   Am sure, you have been through software projects like these. You need to hone anticipatory skills to sail through such projects.  Without anticipatory skills, your contribution will not be significant enough.
 
Do you know? Anticipatory expertise has been observed in a number of athletes such as Baseball players, Tennis players and so on. For more information on this, read Dan Peterson’s article 'The Anticipatory Skills of Athletes'.
  1. What can we do with our anticipatory skills in large-scale Agile projects. First, we can think through and ask anticipatory questions.  Next, we can come up with potential action plan to handle what we anticipate. Here are some examples.
  2. What is going to be the maturity of user story grooming for the upcoming Sprint based on past experience? How can it impact the schedule and quality of deliverables? What do we need to do about it?
  3. What can be the impact of an upcoming architecture or design change on code quality and unit test coverage? What are our current measures and what can they be in future? How can we manage stakeholders?
  4. What are the right sets of test cases for an upcoming Sprint? How can we optimize testing efforts and improve quality?
  5. What are going to be the risks that we need to handle as we move forward? What is going to be the impact?
  6. How is the current pace of work impacting team morale? What do we need to do about this?
  7. What are going to be the structural changes in teams over the next two iterations? What do we need to do now to prepare for those changes?
  8. How are we planning to integrate the software we produce with related projects or products? How are those projects or products performing in terms of schedule, quality and stability? What are the dependencies? How can that impact the schedule and quality of our project?
  9. What are some of the leadership changes we foresee in future? How do we need to manage it effectively?
  10. Based on the success rate of our build and release plans, how do we foresee success in the upcoming release? What are the corrective measures we need to put in place now?
Anticipatory skills are essential for Scrum Masters, Project Managers and the likes.  Anticipatory skills are required in all kinds of projects? When it comes to large-scale distributed Agile projects, anticipatory skills can make you play the right cards at the right time.  How well are you honing your anticipatory skills? Are they paying off?