Events, talks, articles, announcements, and other news from the Nerd/Noir team.
Shifting Left to a T-shaped Team
A dojo challenge case study on how one team experimented to become more collaborative and cross-functional without losing speed using mob programming and value stream mapping.
What’s going on in this picture?
On the left, we have a developer. On the right? A tester. Witness a duo in flow.
They are working together in a mob programming session to write test automation code for a story that was “completed” downstream. The developer is getting a lesson on how test automation works within his team and the products they support from his co-creator (who happens to carry the label “SDET”). Opacity is decreasing!
What you can’t see or hear, what’s off-screen, is the rest of the team offering advice or listening attentively as their turn to drive or navigate the mob is about to come up. This is a central part of the mob programming technique where everyone crowds around a single laptop plugged into a large display and takes turns writing code and tests.
Mob programming creates an environment where skills transfer can happen. It’s something teams may do periodically or even full time. It is a weird idea. It’s counter-intuitive to the productivity-focused people (i.e. most of us). That’s OK. Just try it and you’ll probably come around to the idea that flow beats multitasking every time. I'll have more to say on this in a later post.
How did we get there?
As part of our dojo approach, we create a skills matrix for the team coming in to a 6-week challenge. We open the process by defining the term “T-shaped” and asking teams what becoming T-shaped mean to them in their context.
A T-shaped individual is often described as a “generalizing specialist.” They are someone capable of a lot of the typical duties any individual on a given team would need to perform. Full stack also works, if you want a more aspirational (or aggressive) synonym.
In the case of this team, calling themselves “Free Folk” in the dojo as the “Game of Thrones” series finale was upon us at the time, developers identified an interest in learning more about the end-to-end testing toolchain. Aside: the word “Free” comes from the team’s understanding that their dojo challenge is theirs to direct.
In the dojo, we believe highly social and collaborative teams create T-shaped individuals. That is, the team needs to be self-sufficient and autonomous before the conditions for things like cross-training and co-coaching can really make a difference. Step one: eliminate external silos. Step two: remove internal silos.
SHIFTING LEFT BY DELETING INTERNAL QUEUES
Another term we see more and more these days is “shift left.” It originally comes from the testing world and boils down to something like “test earlier and more often in the development process.” This can be a shakeup to traditional, more waterfall testing approaches where QA sits as a kind of bottleneck to delivery at the end of a group’s pipeline waiting to inject defects as backflow in the system.
A cool thing about Free Folk: they were very transparent in sharing and explaining their current process. This is another key aspect of the dojo; you have experienced coaches to provide suggestions on subtle tweaks that could help the team accomplish their goals. In this case we suggested deleting internal handoffs and pairing through story delivery.
A cursory look at their sprint board in Jira revealed a number of wait states internal to the team:
We had a brief discussion about value streams and wait states and the waste of context switching (another post for another day) which lead to a consensus: let’s try collapsing these activities into one state within their pipeline. This means that they may end up pairing developer and SDET so every story can be worked as a vertical stack in a single pipeline that looks like this:
FOCUS AND COURAGE
Having a goal in mind is important.
"Free Folk” identified several goals to focus on in their dojo challenge, two of which lead us to the experiment of deleting wait states and trying mobbing and pairing:
Improving team dynamics and overall agility.
Become more T-shaped individuals.
David Hussman used a quote in his e-mail signature, "if you don't know where you are going, it's easy to iteratively not get there." Checking on what you're doing and experimenting with how you're doing it helps your team understand if a given practice yields an intended outcome. In this sense, the dojo model differs very much from classical teacher-student training with lectures and labs. We lead with identifying target outcomes and only then select the practices and tools we believe will help us get there.
We try not to do a lot of selling in the dojo. Challenge teams identify goals based on discussion and common understanding we help to bring to the fore. As coaches we are there to offer up suggestions for things we've had success with within the past — practices we feel comfortable teaching, coaching, and demonstrating. But it's the team's choice. The team sets its goals through a series of facilitated events that bring strengths and weaknesses into a shared light. Only then does the coaching begin.
The courage it takes to try new practices should not go unmentioned. I mentioned mob programming seems counter-intuitive at first. Propositions such as that can create friction against our internal instincts and conditioning toward personal productivity.
We propose some radical practices in the dojo, some seem bizarre at first (we ALL write this ONE piece of code) or even slightly scary (EVERYONE IS LOOKING AT ME TYPE). This is where courage comes into play. It takes time and reserved judgment to objectively decide if a practice that seems strange at first isn't for you or your situation. The courage comes in trying it before you reject it on principle alone. That's a good reason we choose longer periods of time for dojo challenges (4-8 weeks); it gives a team time to find the value in the practice for themselves, develop comfort, and adapt it to their workflow.
HERE TO HELP
Your dojo coach should always have your back. We are there to work with you side-by-side. We pre-negotiate delivery commitments and capacity down so we have the time for this kind of learning and experimentation. You will also see us suggest and fail in our own experiments and move on to the next one.
It's nice when everything lines up like this. My hunch is that these experiments, with this team, will open up new possibilities for their workflow, a workflow they're making their own. This team agency is one of the common and great meta-outcomes a dojo can help promote.
DevOps Dojos at Extreme Scale
A short story about my first introduction to the dojo model as a lead coach at Target’s DevOps dojo.
DevOps dojos are an emerging trend in companies large and small looking to create full stack teams capable of releasing software continuously. I had the good fortune to join one of the largest, earliest, and most visible efforts in this space, Target’s DevOps Dojo . Did I mention large? 12 concurrent teams, a dozen product and technical coaches, 24 learning events per week, 150+ whiteboards, and infinite stickers. So, yeah, large.
WHAT DO YOU MEAN BY “DOJO?”
Dojos, as a concept, have been around for quite a while now. The word dojo is a Japanese term for any formal training place, most commonly one for martial arts. Classic coder dojos are a proven approach to creating a learning environment based on deliberate practice. Developers find a place to gather, select one or more practices (e.g. test driven development, refactoring, continuous integration), and run through one or more exercises to gain hands on experience.
Exercises are called “katas.” There are many ready-made katas: score a 10-pin bowling game , Conway’s Game of Life , make a program that can’t lose a game of Tic-Tac-Toe , communicate a solution architecture for a given domain , etc. Kata’s present relatively simple problems as a canvas for exploring and leveling up on a technical practice. I continue to use katas in workshops, interviews, and as a way of building and maintaining my programming skills.
Classic dojos and katas are useful, but the Target DevOps Dojo is a different animal. The objective of Target’s style of dojo is to get teams up to speed on continuous delivery in six weeks (12 iterations) and for those teams to carry forward the work after leaving. Target called this a “dojo challenge.” We were hired to help scale this approach, which I’ll cover in a minute. First, let's unpack the anatomy of a dojo challenge at the time of our landing.
A dojo challenge centers on a product team — product manager, coach, and engineers — working together toward a goal of continuous improvement. The challenge bit comes in when we compress iterations to twice weekly, which turns up the intensity of work. During this time the team is supported by one or more expert coaches who bring skill and experience with the tools and practices required to satisfy the challenge. Technical coaches are playing coaches. They are there to pair, ask meaningful questions, provide answers, pull in other specialists when things get esoteric, and ensure skills transfer. Their job is to become redundant.
I think of the Target Dojo’s challenges as more accelerators, but I try not to get too hung up on terminology. The point of DevOps isn’t to get good at Jenkins and Git. The point of DevOps is to create tight feedback loops connecting developer to user. Continuous deployment is valuable because it speeds up learning.
PIPELINE + PRODUCT = FASTER FEEDBACk
When I landed with Joel Tosi, my partner for the gig, we noticed that most teams in the Dojo were creating CI/CD pipelines. Not that creating a pipeline isn’t a valuable goal in itself, but we suggested framing a team’s time in the dojo around the delivery of a small product impact. That is, we introduced product thinking to their already-in-progress dojo model, a subtle but important twist.
When teams base their CI/CD pipeline development on a real effort, their pipeline gets much more realistic and useful. This tactic prevents over-engineering and waste due to speculation. There’s a great side-benefit: teams start learning how to balance continuous improvement while shipping value to their customers. In our experience, the former comes at the expense of the latter, especially in large enterprises.
Moving into practice we introduced DevJam’s collaborative framing technique. During framing, we gather a prospective dojo team and ask a series of questions:
What’s your team name and elevator pitch?
What delivery and learning goals do you have?
How do we know we’re meeting our goals in a six-week challenge?
Who cares about value/usefulness/feasibility?
What skills are required? Can we pull this off?
What are our standards for workflow, quality, and availability?
Are you fully committed to your 6-week challenge?
Once down this path, we saw the dojo open up to different kinds of product teams. For example, we ended up working with Target’s Learning & Development team to build training and other educational resources to support their company-wide agile transformation. It was a rewarding experience: focused by a frame, the close quarters collaboration and quick feedback loops of the dojo’s twice a week iterations yielded a much better product in a shorter amount of time.
150+ WHITEBOARDS & THE POWER OF PLACE
The Target Dojo itself occupies an entire floor in one of the buildings on their main campus. The space is dedicated, intentionally designed, and cavernous.
I remember the day the whiteboards arrived. All hands on deck! A half dozen of us wheeled the assembled whiteboards across campus, from one building to the next. From a bird’s eye view, we must have appeared as ants hot on the trail to the nearest picnic.
The whiteboards served a few purposes. They created walls between many concurrent teams. We’d use a whiteboard to place the frame from the beginning of the challenge in plain view. We’d use a whiteboard to self-organize a minimal process appropriate for the work that particular team was doing. We’d use a whiteboard to sketch and refine designs. All the while remodeling and wallpapering the team room for focus and purpose. In terms of team success, moving into a new space engenders focus and opens folks to coaching. They are making time in their busy schedules, coming into the dojo with commitment, intentionally. Teams are ready to do work.
There are a few powerful effects of having a dedicated space that should not be underestimated. The sheer scale of the space sends a clear message: we are all in on the dojo approach. Their leadership bought in, engaged, and supported the effort. From my vantage point, this support wasn’t just the key, it was the keystone.
BACKED BY A SOLID TEAM
My favorite thing about this dojo approach is the close collaboration with the internal coaches and support staff at Target. Close and energizing. Energizing and effective. Experiments went into practice at a startup-like speed.
This fast pace of experimentation is unusual for large corporations like Target. We were given a lot of latitude to ideate and test rapidly, everyone throwing their hypotheses and hard work into the mix. Like all good products, success comes down to the people involved: their skills, their involvement, their collaboration, and their follow-through and commitment.
No matter where you start your scaling journey, make sure you're doing it with the backing of a solid team.