Tuesday, 27 May 2014

Review: The People's Scrum by Tobias Mayer

This month I spent some time in the company of Tobias Mayer, author of "The People's Scrum" which is a collection of writings from his blog posts, grouped into themes, that speak about ideas, topics and challenges around organisation's transformation along the scrum journey, driving home a striking message that time's are changing, a silent revolution is brewing. 

I chanced upon this book by accident, browsing some tweets on #agile, saw a picture of the book cover, and it struck me as odd and interesting. Have never heard of Tobias Mayer before, I was intrigued - decided to follow him on Twitter, and buy the book on impulse. Mind you, it was really good that I did!

Tobias' style of writing is literally quite deep: written with words of sincerity, openness and passion, he cuts to the core of uncomfortable-but-so-relevant truths. He writes with a depth of experience that is so poignant that it forces you to think hard about the course you're on, the things you just accept and take for granted.

I was taken on quite a roller coaster ride, experiencing moments of pure resonation thinking I am on the same wavelength as this guy (I'm not that weird after all, just been the odd one out in most of my workplaces), riding high, in-phase, I'm on the right track!!

Yet also, there were instances when I felt a little edgy, somewhat uncomfortable, noticeably shifting my position as I lay in bed reading at night. Stopping, putting the book aside, sleep over it. I have just started my stint into consulting, not a specific agile coach per se, it is one tool in my toolbox of consulting ;-) so it was enlightening & awakening at the same time to see what could be in store for me  personally (i.e. self-realisation of what true happiness means, does the road to consultancy end in permanent employment I wonder?) as well as professionally (much of the experiences shared by Mayer rings a bell as I've experienced similar).

Being deeply touched by the nature of this book and Mayer's genuine disclosure of personal experiences, I decided to take a chance and do somewhat of a different book review. Because the topics struck certain nerves, either resonating (fully in agreement with Mayer) or feeling of discomfort (not sure, not convinced), I thought, let me present a review based on a picture that describes these feelings - so I graphed something that looks like this:

The blue area shows the feel-good, things that resonated with me, the extent of which I agreed and was comfortable with the ideas. The red spots show the areas that made me feel uncomfortable, my level of discomfort, that either I'm not convinced, or have some personal biases that's potentially blinding me from seeing the points. On the whole though, resonation wins over discomfort.

I assessed my feelings in almost real time as I read each article - I didn't spend much time processing and deep thinking, debating or self-reflecting in too much detail. I responded with gut feel, instincts, and of course, the life/work experiences I've had along the way - take it as a rough first-cut!

Here's the detail of these comments, for each article (I've not had the time to break these into separate links yet): In what follows, read as:
Section, Title, Level of Resonance, Level of Discomfort, Comments

Monday, 19 May 2014

Achieving continuous product delivery in Set Top Box (STB) software projects: Challenges & Expectations

The story all software product development teams face at some point in their journey, not necessarily unique to digital Set Top Box (STB) software development: So you entered the product development space, setup a small team that delivered the unimaginable - you got your product out in record time. Customers are pouring in, marketing & strategy are imposing an aggressive roadmap. You've set the pace, possibly surviving through possible death-march-like project deliveries, and now you're expected to do more: Scale! You need to scale your product development & operations to support an aggressive business roadmap, the competition is intense, you're charged with figuring out how to deliver releases to market as frequently as possible in one calendar year - so you set the target of a releasing every quarter, or rather, inherited a Product Roadmap that showed Market Launches every quarter…

You barely survived getting one release to market with quite a small team, how do you scale your operations to satisfy the business demands? What behaviours and habits do you change? What changes can you make to your current practices? You must've been using some form of Lean/Agile technique to meet the original aggressive delivery, is the process that was used before enough, can it scale to get you from where you are now, to where you want to be? What are the implications of achieving continuous product release flow, in an environment, that is typically unique to Set Top Box hardware & software development?

In this post I highlight just one possible framework that cuts through all the areas involved in product engineering of Set Top Box software releases. I will not go into detail behind the intricacies of this environment (search my blog to learn about that) - instead I will map out by using a few pictures that shows the scenarios around achieving continuous product releases to market.

The pay TV space is becoming highly competitive, especially with the likes of online / OTT (over-the-top) players like Hulu, Netflix, Amazon, etc - such that traditional operators are hard pressed to up their game from providing the clunky, almost archaic standard TV experience to a more slicker user experience, offering advanced features, integrated with traditional linear services with additional services aimed at stifling the modern competition. No longer can these traditional pay TV providers release new software once a year at least, users having become used to frequent updates with new features on their smart devices every few months, people are becoming more and more impatient with bugs that go unfixed for some time…Nowadays, it is expected that set top boxes are updated with new features as often as possible. 

With this in mind, how does one structure a product engineering department to cope with this demand? How should projects be managed? What do we expect from teams? What are the implications of reaching continuous delivery? Where does a typical agile/scrum team fit in? Is Scrum even a preferred method, or do we choose a hybrid model?

[This is still very much a work in progress, made public to get feedback/advice from other practitioners out there...]

Sunday, 4 May 2014

Focusing on the soft, people side in coaching agile teams

In my day-to-day work I generally impart advice and guidance to all types of teams that play a part in the projects that I run, though it seems to be from the point of a "program manager parting some guidance on development / integration topics" - it is expected from the role, not strictly being measured by the progress I make with it, considered as free-and-impartial advice. I have very recently however, landed my first official gig as an Agile coach, taking on a group of fairly young people (split into two teams, but part as one group). I was at first a little edgy with this engagement to be honest, since my exposure to date involved middle managers & team leads, whereas this involves interacting with a fairly young, dynamic & fresh "Gen Y" bunch, and to top it off, are not involved in Software / Systems engineering, instead operate at the Business Intelligence / Customer Experience process area.

I'm hoping I can share this new journey as part of this blog, so here goes. I am, by the way, the third coach to be assigned to this team, so in my first two-hour session, I decided to focus on the classic retrospective: What have you learnt to date?, What would you like to learn? What's your goals? Lets create a backlog for this journey that we can measure progress over each week?? The audience was a mixed batch of people, some having been exposed to a years coaching already, others only a couple of months, having recently joined the team.

I also wanted to touch on the people, softer topics first as a measure to break the ice, get to know everyone, and see where it goes. It turns out though, that the soft topics took the entire session, people were quite engaged, quite a few topics, comments and innuendos surfaced that pointed to deeper people / team challenges so solve in the background, at the same time, thinking about how to promote process improvements with value stream mapping, etc. I had sat in on two previous coaching sessions where we created the team's process map, that still needs to be rationalised.

In the end, we left off with a few exercises for the team to go away and come back to the next retrospective with feedback around: Team Charter & Appreciation Agreements. I also ended by asking for direct feedback for my own self-learning, reflection & improvement.

Appreciation Agreements
One of the first things I do when running retrospectives and other workshops (planning, brainstorming, post-mortems, etc) is to set the stage for the session by introducing the working agreements, or appreciation agreements. This is necessary and vital to creating an atmosphere for collaboration, openness, trust and respect. Some of people in the team were already familiar with this topic, but expressed appreciation for doing the refresher since they "learnt about it before, had never followed through and consistently implemented it in practice". The stuff that came out of this conversation was enlightening, pointers parked as exercises for the team. I covered the following key points that seems to be a common starting point for setting the scene, pretty self-explanatory: