The Product is Signal, Administratium is Noise
For small teams, co-authoring is your happy-path to success.
Have you ever heard of Administratium? It's a mythical element that can kill your project. I can’t count the times I’ve ask coworker “what are you working on?” only to hear “grooming the backlog” or “catching up on my tickets” and giving thier best Eeyore impression. A little piece of me dies every time. I’m always hoping the answer will be from Doc Brown instead “I’ve got to show you this!”
This phenomenon of ever-increasing bureaucracy is not only found in science, but also in software development. Many teams suffer from the burden of too much administration, coordination and documentation. They spend more time managing their work than doing their work. They have to deal with complex processes, multiple tools and conflicting priorities. They lose sight of the big picture and the customer value.
That's why I recommend co-authoring in small teams as the best way to avoid Administratium and deliver software faster and better. Small teams are fast, autonomous, and aligned. They can co-author code, collaborate on design and review each other's work. They can get feedback from customers and stakeholders quickly and easily. They can deploy to production frequently and reliably. They can focus on building the product instead of the meta-task of moving tickets around.
Co-Authoring is not Paired Programming
Co-authoring is your happy-path to success. It allows you to leverage the collective intelligence, creativity and experience of your team members. It reduces errors, improves quality and increases productivity. It fosters trust, communication, and learning. It makes coding more fun and rewarding. I’m not talking about run-on meetings where multiple people watch someone code like it’s a Twtich stream, I’m talking about brief sessions of collaboration (twenty minutes) that highlights a particular capability or feature in a fast-paced way and then releases folks back to building.
So how do you get started with co-authoring? Here are some tips:
- Use a tool that supports real-time collaboration, like Visual Studio/Code Live Share or Google Docs for documentation. A screen-sharing video coms that support multiple presenters is best. Discord, Slack, Teams, Zoom all have settings for this, go digging.
- Use a tool that supports async collaboration, like GitHub PRs system for code discussions. (see upcoming post about PRs as code conversations)
- Set a time limit for each co-authoring session and keep the presenter accountable to stop on time. (see upcoming post about 20-minute meetings).
- Rotate drivers and passengers frequently to avoid fatigue and boredom.
- Solicit feedback from other co-authors and incorporate their suggestions.
- Celebrate your achievements and share your learnings with others.
By following these steps, you can get every member on your team on the release train and avoid the pitfalls of Administratium. You can deliver software that meets the needs of your customers and exceeds their expectations. You can enjoy the process of creating something amazing together.
Alway be Delivering
If you are a developer, designer, tester, or any other role involved in creating software products, you know how important it is to focus on product delivery. Product delivery is the process of delivering value to your customers through your software products. It is the goal of your work and the measure of your success.
But how do you focus on product delivery in your daily work? How do you make sure that every task you accept, every meeting you attend, every comment you write, and every decision you make is aligned with the product vision and roadmap? How do you avoid wasting time and energy on things that don't matter or don't move the needle?
In this blog, I will share some tips and best practices on how to focus on product delivery in your work. I will cover:
- How to prioritize your tasks based on product features
- How to communicate effectively with your team and stakeholders
By following these tips, you will be able to deliver products faster, better, and more consistently. You will also be more satisfied with your work and more valued by your customers.