Flexibility Is the New Norm
In case you haven’t heard, the web is not fixed width. While most of us have accepted this as truth for a while now, we haven’t really figured out how to embrace this flexibility in the way we work. Our workflows should be as flexible as the stuff we’re trying to build. In order to do this, we need to start building collaboration into our culture. We need to inspire our people to prove this idea in their everyday work with each other and with our clients.
Over the past few years, this thinking has infiltrated almost every part of how I work in my role as President of Sparkbox — from writing estimates to writing code. It requires approaching everything with an eye toward collaboration, inviting others into the conversation and demonstrating that the sum of the parts is truly greater than the whole. In this piece, I hope to share a glimpse of how we encourage these ideals at Sparkbox.
Every project, every timeline, every budget, every client, every team member, every unforeseen factor combine to create a unique set of constraints within which you are expected to do amazing work. Trust me when I tell you that there is no one way to do this stuff.
In order to build great stuff in an ever-changing environment, we need to start investing in our people instead of our process. Thinking in this way has allowed my team to build better products, spread critical knowledge throughout our team, and encourage great increases in individual skill and confidence. Who doesn’t want that?
A Collaborative Environment
Truly timeless work can only be created when individuals relinquish their egos and are willing to put the good of the group above themselves. It also requires an environment where teams are encouraged and expected to find a better way. Here are some concepts that have stuck with me as I push to make our environment more collaborative.
The Rigidity of Your Process
There was a time when I spent a solid three weeks writing a 15-page explanation of my web design and development process. I thought I had it all figured out. Each step had specific deliverables that my client would approve, and each step moved us a little closer to the end goal. My customers loved it — I was very proud.
What I learned, very quickly, is that each new project I tackled required changes to this “perfect process.”; Each project was different. So different that, eventually, I stopped trying to force my 15-pager onto innocent, unsuspecting clients. Instead, I embraced the idea that I would know more about the project tomorrow than I do today. I started letting the evolution of learning carry the project forward, always focusing on the actual deliverable.
Because I tend to be a guy with a fairly extreme personality, I took this pretty far pretty fast. I’ve been speaking and writing about this idea of Group Improvisation, with the hope that people will let go of their rigid process and start to trust their people. Here’s the thing, it’s not quite so simple. Consider this diagram:
Moving from left to right on the x-axis, it charts your team’s growth of experience. Moving from the bottom to the top, it charts the rigidity of your process, from very rigid to improvisational.
I believe the goal is to reach the top right quadrant, where your team is highly experienced and the process very fluid. This helps cultivate a culture of trust where regular innovation is happening and excellent work is created. Allowing an inexperienced team to work in an improvisational way results in terrible work and missed deadlines and budgets. You can see this illustrated in the top left quadrant.
In order to take your team from the top left to the top right, you need to first put a somewhat rigid process in place, which moves you to the bottom left quadrant. It’s a more structured process which allows your team to gain experience. Only then can you slowly remove some of the structure — forcing more collaboration — and allow your team to truly flourish.
It’s important to note that teams working in that top right quadrant do have processes. The major difference is that they don’t have something prescribed to them. Instead, they’re allowed to experiment and decide — as a group — what the best approach is. It’s this level of trust that empowers them to do great work and allows them to feel the ownership needed to truly put the project above themselves.
This model requires the leadership of an organization to keep a pulse on the experience of the team and adjust expectations around the rigidity of the process accordingly. This presents some challenges. For example, if your organization struggles with employee retention, they may never gain the experience together needed to reach that top right quadrant.
Writing and Speaking
When I first started to be more intentional about writing and speaking, it dawned on me how much I personally benefitted from the teaching experience. If I’m going to put something out there in an attempt to share my knowledge, I want to make sure I’ve read other writings on the topic. I need a very good awareness of what’s currently happening around the subject matter in the community. For every article I write, I read 20.
It didn’t take long for me to begin encouraging the same with my team. At first, this was very difficult for some — it’s human nature to feel you don’t have much to offer. The truth is, there’s always someone smarter than you, and there’s always someone a little behind you.
From a policy standpoint, this requires putting your money where your mouth is. At Sparkbox, we lowered our expectation about the amount of time our employees do billable work in an effort to provide them with the time to learn. We also give our employees time off for events where they are speaking. And, to continue encouraging the culture of learning, we have a “Send a Friend” policy. This means we will send another Sparkboxer to an event where one of our team members is speaking.
While policies and procedures can help, I believe this kind of approach requires leading by example. And, don’t expect it to be easy. Even now, we struggle with it. Trust me when I tell you, creating a policy that everyone writes is not enough. In fact, I would suggest that you not force your team to do this stuff. Instead, let your people find the ways they are willing to contribute back to the community. For some, that may be open source side projects, for others it may be in-depth case studies. All of this is valuable — the point is to allow your team time to learn.
Mentoring and Apprenticeships
In the same way that writing and speaking can make you smarter, teaching in a more intimate setting is a great way to question your previous assumptions. To provide more teaching opportunities to our team, we run a six-month apprenticeship each year. This brings motivated, hungry, passionate people into our space for an extended time where their primary goal is to learn. We provide a curriculum for them to dig into, and a large part of their time is spent pairing with our full-time people. This one-on-one time is an incredibly powerful way for both student and teacher to grow. If you’ve ever had the opportunity to teach, you know that teaching truly makes you better understand your subject matter.
In addition to the apprenticeship program, we also look for opportunities to cross-pollinate inside our own team. This happens in many ways, but the most common occurs when a natural leader emerges and collaborates with those on her team to help them improve. This works best when it happens organically, but we occasionally take a more structured approach. Typically this is when there’s a specific need for one individual to grow in an area where someone else has great experience. Simply encouraging them to work together on something is usually enough.
Regardless of how it happens, there’s no arguing that teaching makes you smarter. I can’t express enough how helpful this has been for our team in creating a collaborative environment.
Tooling and Workflows
There are also plenty of ways to incorporate more collaborative tooling into your team’s daily work. While these things alone won’t create collaboration, they can certainly make it easier.
We use Google Drive extensively because of the real-time collaboration it allows. All content documentation is either done in Drive or in HTML. The ability for our clients to directly edit, suggest, comment on the priorities of content and functionality makes this an invaluable part of our tooling. Additionally, most clients completely understand how to use these tools, whereas more industry-specific tools (Omnigraffel, Visio, Balsamiq, etc.) create a barrier to entry for your customer.
Opt-In, Whole-Team Communication
We recently made the switch to using Slack for real-time communication. It allows for channels (think, “topics”) which our team can opt in or out of, private groups (invite-only), direct messaging, and (most importantly) custom emoji. It also has some excellent integration with tools like Google Hangouts and Screen Hero and it is all archive-able and searchable. Our team lives in Slack all day, every day.
Source Control and Issue Tracking
I would be incredibly remiss if I didn’t mention Github here. All of our people use Git on pretty much every project. We rely heavily on the issue tracking, often times even inviting our clients to participate. We also follow a very simple collaborative workflow which employs git branching and pull-requesting.
Almost any task is created as an issue on the repository. An individual creates a branch from master to work locally. When the task is complete, they push to github and pull request their branch. Another team member reviews the code, tests it locally, and makes comments. Once the branch is in good shape, it’s merged into master and work continues.
This branch/pull-request/merge workflow builds collaborative code review into our development process. Rarely does a pull request get merged into master without changes. Many times, we catch simple issues before they’re ever merged and deployed. Another great benefit of a workflow like this is that more people understand more of the code. Spreading the knowledge around the team only makes us all smarter, and better prepares the team for inevitable time off, etc.
We’ve also been experimenting with Huboard lately as a way to better organize and see progress on Github issues. This tool provides an excellent dashboard view of the work currently in progress and next to be tackled.
We’ve tried a lot of things to encourage collaboration in our space. Firstly, we have a lot of different kinds of space available for people to use. A good portion of what we offer is a large open room with three long desks. These desks are capable of seating six people each (three per side), but we generally have four people at each, leaving the middle seat on each side open for pairing.
At the end of each of these desks, and in various other places through the office, we have televisions mounted to the wall, each with an Apple TV. This allows all of us to quickly and easily Air Display their our screen to any TV in the building. Newer version of iOS allow us to send mobile device output to these as well. It makes for great demos and keeps the barrier of entry for getting feedback on something very low.
Because of the amount of people in our space, we decided to remove phones from the big room. Instead, we created some small phone booths with sound absorbent materials just off the main room. These, combined with a small conference room and video conference room, give ample options for communicating with remote teams, employees or clients.
We’re also huge fans of whiteboards. Almost every wall in our space has been painted with whiteboard paint. It’s not cheap, but it’s much less expensive than buying whiteboards to cover the space. We also chose conference room tables that are glass with a white frosting on the bottom. This means we can write on all of our meeting room tables as well — something that happens in just about every meeting.
Our space also offers a full kitchen and an area where we can all sit to eat together. It may sound trite, but enjoying food together is one way we try to create a comfortable environment. I believe it’s critical to know your co-workers in more than just a working context. We find cooking and eating together each Friday is a great way to encourage this.
Collaborative Org Chart
A lot has been written about the benefits and challenges of a flat organizational structure. I’m not here to tell you that flattening the org chart is the only way to foster collaboration, but I do believe that our flat structure encourages it.
Flat org charts only work if your team understands why you make the decisions you do. When that happens, individuals are empowered to lead organically in a way that aligns with the vision of the company. Empowered people aren’t threatened by collaboration. There’s no competition to climb the ladder, instead there’s a true desire to improve the whole. This is what I want from my team and what benefits our clients the most.
Our org chart has two boxes: one is the people who work on the business and the other is the people who work in the business. Most folks are working 100% of their time in the business. Inside this box, leaders emerge and naturally take on more responsibility. Again, this may not work for everyone, but it seems to be working well for us.
The Ever-Changing Way
For us, these concepts have been almost accidental. We didn’t start out to build a place where collaboration and learning were the “secret ingredients.” Instead, we simply wanted to build things the right way. What we’ve landed on, at least for now, is the only way we know how to operate at the level we desire given the constant curve balls this industry throws.
I am certain we’re far from done. So far, I can tell you that this approach requires a strong belief in your people and a demonstration of humility from the top down. It takes a long time, and it’s not something you can fake. However, I believe it’s necessary to stay relevant in this ever-changing industry.
Going the Extra Mile
Almost every customer you come across these days has been through the process of creating for the web. Chances are, it wasn’t a super collaborative process. That means they are going to bring a set of expectations into the project.
For us at Sparkbox, this means finding ways earlier and earlier in the process to begin bringing our clients into the conversation. Now, when a customer reaches out for the first time, we begin the conversation with them and quickly invite them to a Google Spreadsheet that we call a “Collaborative Estimate.”
The idea is simple: have them help you determine the budget for the project. Clients love the transparency this offers, but I love that we get an opportunity to work — to collaborate — with a potential client right away. We’re re-establishing expectations in our very first interactions, letting them know we truly believe we’ll do better work if we do it with them, rather than for them.
Pitfalls to Avoid
- Avoid a more linear deliverable-based workflow where one discipline “hands-off” to the next.
- Don’t do process for the sake of process — make sure there’s real value added for each hour you spend.
- Try not to allow super-stars with big egos to dominate a project. This kind of environment will squelch innovation from the whole team in favor of accepting a bright individual
Things to Do
- Make sure your team understands why you exist — this enables them to make decisions that align with the purpose of your organization.
- Encourage writing and speaking, but be ready to back this up with the time to do it.
- Explore tools that allow easier collaboration.
- Try to avoid putting people on an island to work — consider a process that encourages review and collaboration.