Friday 5 August 2011

I just got Scrum Certified.. am I still Rogue enough?

Recently, I sat through a two day Professional Scrum Master Training (lead by Richard Banks, Thanks R) and I could not help but jot a thousand little notes on all the gaps I had not covered in my past efforts at moving teams to follow agile practices using Agile Unified Process and a lot of what I learnt from Craig Larman, Mike Cohn and Scott Ambler. When I was trying to get teams to move to agile, I often felt challenged, confrontational, stealthy, manipulative, political, diplomatic... all with a noble aim of achieving true efficiency (by shaking up the system, getting people to collaborate and apply common sense).

Now I am Scrum Certified. I'm armed with tools to go out and officially be agile. Suddenly I can see every person in the mega organisation clambering to get this certification, since someone is going to kill Waterfall (if not me). Everyone will want to be "agile" and the status quo, without a doubt, will change.

So now what? I wonder if I am simply addicted to being 'Rogue' (an agent of change) or is there some empowering force that is going to make me settle down and feel like the we have all managed to vote for the same government and we should be happy in this new world.

Mike Cottmeyer wrote Having Your Cake… Some Thoughts Around Scrum Certification

Scrum can’t have it’s cake and eat it too. It can’t be a simple framework that is not prescriptive and then start certifying people on how to do all this stuff.
But some day very very soon, the new army of certified agile people will turn it into a "process", and then someone will need to go rogue again and re-label everything to help others unlearn. Then there will be a new training, a certification and so on.. the economy needs this, right?

Sunday 8 May 2011

Will architects ever be agile

Its difficult. We cannot build the Eiffel Tower in iterations, we need a blueprint and more. But software is bit more flexible, you can refactor, its a lot more forgiving. Scrum suggests an emergent architectture over a 'predictive' style of architecture. Hmmm.. that is true for most agile projects. Of course not for solutions that have a 'solved problem', but rather for solutions needing spikes.
A good day...
Architects can work in the Product Planning team with the Product Owner and help define the architecture to support the User Stories. They can sketch out a skeleton.. an emerging road map that looks enough past the planning horizon to help the Product Owner and the development team envision the target state. And they can work with any developer or engineer (in a paired style) to develop prototypes/spikes.
Not such a good day...
Then you have special technology projects, new technology projects, flooded with new tools that only SMEs or consulting architects know about. Even the Product Owner can often feels so agitatedly dependent on their 'god-like' consulting architect that seem to promise the earth and never deliver anything tangible. And to add to it, they don't like to share enough of their expertise so the development team feels like they can't seem to go anywhere. The architects run away with the spike. No one knows whats happening. They go into a rabbit hole. And all they say at stand-ups is "its still in progress". When they are a part of our team, its difficult for the team.

What does a Scrum Master do to help?

All governance, no delivery
Architecture governance is a good thing. Larger organisations need it, the world needs it. It gives us standards which in turn gives us nice things like the internet, frameworks, etc. The best standards emerge from good development practice (not really the other way around). When governance is a gate for blueprints to be passed into development by first being vetted by people in architecture roles that have not developed for a long time, it just sounds (and turns out) ODD!

Often architects go towards consulting and end up in "reporting up" roles that slow down real development. Emergent "agile" architecture needs, Senior system engineers (aka Architects) to be able to share their expertise to bring on the younger engineers into how they see things work. Part of emergent architecture also need to "include" younger engineers in actively, 'hands-on' learning exercises, coding dojos, etc to share knowledge grow the teams capability rapidly via collaboration rather than some lame, late, incomplete, out-of-date, architecture design document.

Can emergent architecture work with governance ?
Using an emergent architecture approach requires a few key artefacts and one key activity..
  • Thing > Domain Model - (we all know this, if not google it) This should preferably not be too emergent.
  • Thing > Solution Road Map - this one is diagram with high level connections of how everything comes together, likely with 2-3 transitions states describing how the solution is expected to evolve based how much is know about the solution.
  • Thing > Mapping to Enterprise Architecture Capabilities - This is important. As architecture emerges, architects must map their solution components to an organisation domain model to allow future enterprise initiatives to weigh-in already built capabilities. This mapping must be stored in a model repository like Sparx Systems EA, ARIS, RSA or whichever tool is used to store the domain model. Preferably one that support a good "tagsonomy". 
  • People > Actively pair programming on spikes with developers and engineers - In my opinion, architects must actively participate in paired sessions to learn coding and stay close to engineering while sharing their perspective on the design for the solution as it 'emerges'. 


Saturday 26 February 2011

10 Mistakes to Avoid When Implementing an Online Project Management Tool - Cloud Computing - News & Reviews - eWeek.com

While I am working on moving my team into agile, we have started using an agile pm tool called targetprocess. Fantastic tool, out in the cloud, built with years of agile experience and plumbing. What my team needed though is a some tips to help move out of some old habits. This one below is short and sweet.

10 Mistakes to Avoid When Implementing an Online Project Management Tool - Cloud Computing - News & Reviews - eWeek.com