patkua@work

The intersection of technology and leadership

Page 48 of 53

Onboarding Strategy: Airing of Grievances

Its Purpose?
Allows new team members an opportunity to express their discomforts, concerns and puzzles about the project in a constructive environment. This strategy focuses on explaining the circumstances or reasoning of decisions and to come up with new approaches and suggestions for improving any identified problems.

Grievances

Image taken from AZAdam’s flickr stream under the Creative Commons Licence.

How Did We Execute It?
I ran this session with the entire technical team. I asked them to think about things that they had questions about, or things that had been troubling them on the project. I asked for them to write each of those items on a sticky note and let them put them all over a whiteboard.

We talked about each item, trying to understand what problem they caused. We talked around some of the drivers and decisions that might have lead to each of these items and alternatives that had been tried or considered. We also highlighted some as known problems and where to find more about what we’d acknowledged about them. I asked everyone to use three votes to help prioritise which items we should talk about.

For each of those items, we talked around the current circumstance and to help understand current forces at play. We also talked around attempts that we’d made to help address them (if any) and where we’d failed and learned from them.

As the final step, we brainstormed on a number of activities we could try out to improve them (attempting to be as specific as possible). Our final board looked like the following:

Board

Why Is It Important?
The newest people to the project have the freshest eyes to see things that aren’t obvious enough. They lack prior context and don’t necessarily understand why the team made certain decisions or design choices. It’s a bad sign if they can’t work it out for themselves very quickly as it implies code is not well refactored enough or they cannot access the right information.

After being on a project long enough, new people who can’t understand these strange peculiarities assume the existing team made foolish or unwise decisions. These assumptions sometimes manifest themselves very strongly in the way they act, and the way they say things. I’ve found they range from something like “Why would you even consider that?” to “What idiot made this decision?” Understandably, the incumbent team no longer wants to listen to the important message behind the new person’s concerns and they no longer attempt to improve the situation.

Creating a safe environment to “air grievances” allows new people to highlight potentially problematic issues, or demonstrate the lack of clarity without focusing on who caused it, or whether or not it was the correct decision. What’s done is done. Instead the team now works together to improve the situation instead of focusing on blame.

I feel it’s still very important during these sessions to cover why decisions were made as some of those factors might still be in play and influence the direction of any solutions developed during this session.

What I Might Try Next Time
If I had lots of people joining incrementally, running this session continuously might not be as beneficial for the entire group, so I might run it individually with new participants. I would also use this strategy even out of the context of on boarding, as I ran it semi-intentionally as a technical retrospective (without calling it as such).

Book Review: The Enterprise and Scrum

Enterprise and ScrumWhat’s it about?
Covers techniques and describes the impact of introducing Scrum into large organisations. It also describes why you might choose Scrum to implement and helps evaluate its fit with the organisation.

What I liked about it
Schwaber writes very clearly about some of the consequences of introducing Scrum, including both positive and the negative aspects that I find is very honest and uplifting. He also details some strategies for adopting Scrum incrementally in the organisations. I find it’s refreshing to see many concerns from the enterprise point of view addressed.

What I didn’t like about it
The meat of the book is very short with an appendix describing Scrum taking up almost a quarter of the book. In one way, it’s brevity makes it easy to read though, as a reader, thought more of it was coming. I would have preferred a longer discussion in the book, with an example or set of detailed examples in the appendix instead of a recap of Scrum.

Onboarding Strategy: Pair Programming

Its Purpose?
Working with people closely on a day-to-day basis creates a safe environment, ideal to learning more about the current culture of the team including the norms, habits, style and general approaches to way things are done.

Pair Programming

Image taken from ImproveIT’s flickr stream under the Creative Commons Licence.

How Did We Execute It?
On this particular project, programmers pair programmed most of the time. As a technical lead, I wanted to make sure people were comfortable working with each other so I encouraged a bit more of a pragmatic pairing approach and asked the team to take on the responsibility of ensuring enough pairing was going on.

I highlighted the benefits of what we were trying to achieve with pairing (knowledge transfer, style nuances, spreading different problem solving approaches, review of code) and asked new people to be comfortable raising flags when they were getting uncomfortable. Interestingly I think on this particular project we still ended up with a very high percentage of time spent pair programming and noticed that people also appreciated having a little bit more freedom if they wanted to investigate something.

Why Is It Important?
Working closely with someone (that you are bound to do with pair programming) gives a great insight into the working culture of the team that you happen to join. It’s easier to incidentally pick up the certain style that the team has towards different items though can be sometimes very frustrating depending on the people working on that team. I think that pair programming helps with the onboarding process, but it alone is not enough. I personally think that this technique is best combined with the Big Vision Business Problem, the Visible Architecture, and the Transparent Technical Debt strategies.

What I Might Try Next Time
I find pair rotation an interesting experiment. I’d like to try doing a day pair rotation with new people so that they more rapidly get a feel for the way individuals work and contrast their different experiences. Talking over their experiences and finding out what they discovered themselves or see what important lessons they found could be very powerful. I’d be quite concerned about over-doing it though.

Retrospective Meetup in Bangalore

One of the benefits of working in our Bangalore office the unique concentration of people in one location on a daily basis, resulting with some very interesting conversations. On Tuesday I hosted a retrospective facilitators meetup with a pretty open agenda. We had people from all parts of the organisation. I was asked by one person who couldn’t attend to write up the things we covered and some of the topics.

I felt we had some nice discussions, and thankfully not all of it coming from one direction (i.e. me). Here’s a quick recap of some of the topics and things we covered. I’m sure I’ve missed plenty of other side conversations (it was only an hour too!), so if you were there and you’re reading this, remind me via email or a comment here. Next time I’ll try to write the topics down so we capture some of the discussions. Here’s at least what my (terrible) memory holds:

Is it okay to give feedback to individuals during a retrospective?
Asked from the context of trying to give people feedback that strengthens confidence, I think many people in the room felt it would be appropriate. Others gave examples of these comments coming in from things that went well as well as describing the Offer Appreciations exercise (see the Project Retrospectives or Agile Retrospectives book). I’ve also seen these work quiet well.

What goes into a retrospective
We covered this pretty quickly since the room was a mix of experienced and inexperienced participants/facilitators. I quickly ran through a format that is most used:
1. Set the scene – Make it clear to participants why they’re there and what you’re trying to do.
2. Create safety – Ensure that all participants are going to participate
3. Gather feedback – Use some activity to generate some data and insights.
4. Actions – As a group, decide upon results or things to action upon

What happens if the same things keep coming up?
Part of it indicates to me a process smell that I’ve written about before. Some useful techniques to address this include Bas’ Plan of Action pattern. I encourage everyone to also focus on creating actions that fit the SMART (Specific, Measurable, Achievable, Relevant, Time boxed) criteria and ensure that you celebrate small successes so everyone feels like progress is occurring. I also tried emphasising that at least retrospectives are still bringing visibility to the issues, and that it sounds like the actions or things happening around it need to be addressed, not to stop running tools that give you feedback.

Alternative Exercises
A common exercise people in Thoughtworks use is What Went Well/What Went Less Well/Puzzles. I’ve had conversations with some people (not in this particular meeting) who believe that unless you’re doing this one, then you’re not doing Retrospectives. I showed a couple of alternative exercise ones including the Retrospective Starfish, the Art Gallery one, the Forcefield one (with its speedboat/air balloon variations).

What’s the perfect size of a retrospective
I honestly didn’t have an answer for this one other than “it depends”. The group talked about as you increase the number of people, the more time you need and individuals end up participating. We also side lined for a while on what happens if you keep Prioritising with Dots and not really getting the smaller issues out. Others came up with sometimes not running Prioritising with Dots and getting everyone to brainstorm action items that the team simply just took on automatically. Quick wins become reality in a flash this way.

Retrospectives are a process smell
I can’t remember who, but someone talked about having retrospectives themselves are a smell, in that an “ideal” team should be self healing and fixing problems continuously without needing them. In one way, I agreed with him as did several other people. On the other hand, in my experience sometimes even a well performing team needs that separate time to reflect on things independently of the other things they’re focused on doing day-to-day. One person chimed in saying that in a way, the issues coming out the retrospectives gave them confidence that they were already dealing with the issues (as in, there wasn’t any surprises). I also tried to explain several other side benefits such as a common place to share a story that might be missed, a place where people are safer giving some feedback, and a place where everyone has input into agreeing to a solution.

The Long Tail

The Long TailChris Anderson’s book, The Long Tail, is a well written, insightful book full of anecdotes and data describing a different way of looking at businesses. Starting as a set of ideas on a blog, The Long Tail continues to describe an economic model worth pursuing where, often tapping into The Long Tail yields much more profitable and consistent results. The book continues to detail the forces and effects that must be in play to create an effective Long Tail environment.

I enjoyed it because it describes not only Internet phenomena, but describes the model applying to many other different scenarios. It uses concentrations of cities to explain a similar Long Tail effect. Take London for example, which, due to its dense structure and attractive forces results in a plethora of thriving sub-cultures all existing under the umbrella of a larger one. Though it’s easy for people to be drawn to a large city simply for the “larger” slices of the market, it’s often the contribution and variety of the smaller ones that are the interesting ones and connect people together.

The book approaches analysing segments in different ways, describing the importance of comparing things that are actually relevant and not simply doing it based on arbitrary numbers such as popularity.

A must read if you plan on working for a business, dealing with businesses, or starting your own in this century.

UK November Away Day

I’ve been lucky enough to attend two of Thoughtworks‘ Away Days over the last month. Most recently I attended the UK Away Day this weekend that provided a great opportunity to catch up with some people and generate some new ideas. I’d write up more about the Indian Away Day I’d attended two weeks prior, but running a two week training course almost immediately has taken away my time to reflect and my memory’s a little foggy these days.

Here’s an overview of the sessions that I attended:

  • A Lessons Learned session applying Ruby on Rails – An interesting session presented by Paul Ingles and George Malamadis about their approach to building a fully functional website with some of the pitfalls. I love these sorts of sessions as you get the insight into the decision making processes with talk about the constraints and thinking that pushed patterns into the direction of the end result. Really nice and a great topic to start leading into the Meta Programming session later than evening.
  • The Space Within – Hosted by the very calm Manoj Ramachadran who ran through a number of exercises to help improve the “quiet” times in our lives and give us an ability to become more effective. I found this interesting as it gave me insights into other methods to try.
  • Features of C#3.0 – Presented by Troy Gould and a great statement opening it along the lines of C#3.0 is included in .Net 3.5. How confusing is that? An interesting code example comparison by comparison of features new to C#3.0 introduced to support Linq. I think pretty much everyone was thinking how these features could be used effectively, and where they would be more likely (ab)used.
  • Case Study of a Consulting only session – An ever excitable and interesting co-presentation with Luke Barrett and one of our clients where the focus wasn’t directly about delivering working software, but focusing on delivering value even earlier by clarifying a business case and helping evaluate its feasibility. I enjoyed hearing the application of the same lo-fi techniques and methods bringing value in a different space for once.
  • Meta Programming – A fun session running through features of Meta Programming in Ruby by Farooq Ali and Julie Yaunches. I really enjoyed this session, and glad I could attend this since I’ve had the pleasure of working in the same room with both of these people and they’re passion for Ruby really shone throughout the presentation. They reminded me of the power language gives, and definitely helped me refine some thoughts I’d been having about the environment or approach needed to pull this off successfully.

I had a great time catching up with loads of people and had plenty of fun after the conference gathering at Sway.

When Retrospectives Go Wrong: The Format Becomes Too Repetitive

As a facilitator and a participant of teams leveraging agile practices, regular, heartbeat retrospectives become an essential part of the team’s toolkit. Doing retrospectives so continuously inevitably leads to some repetition, and on some occasions team members seem to find it boring. I’m sure there’s plenty of reasons why someone might find it boring. I believe one of those reasons is that perhaps no important issues are being brought up, to which I would respond by scaling back the frequency of the retrospective – so say, holding one every two weeks instead of every one.

On the other hand, some people find the standard format of What Went Well, What Didn’t Go So Well (and sometimes Puzzles) too monotonous for their tastes. Even as a facilitator, I admittedly find repeating the same exercise slightly boring.

Luckily the Agile Retrospectives book offers a plenty of options you can implement and still achieve the same outcomes. I think it’s important to ask different questions, and also use different formats. Sometimes asking a different question exposes a set of very different answers from what you’d expect. Using different formats, especially those that are highly visual (symbols, graphics, colours, charts, etc) is enough of a subtle change to keep people interested and excited.

« Older posts Newer posts »

© 2024 patkua@work

Theme by Anders NorenUp ↑