If you’ve recently transitioned to a more agile way of working, or you’re thinking about making the switch, it can be difficult to know what to apply and what to customize.
Like many technology companies, Tiny organizes teams using agile methodology and practices. So, we thought we’d share a bit about how we use agile to organize our teams and get work done.
Rather than blindly using agile methodologies, we’ve adapted them to work for us and hopefully, you’ll find something inspiring for your own team after reading about our experience.
Agile is a way for teams to efficiently work together and manage projects while focusing on the customer experience. It’s a process based on gradual iterations. In Software as a Service businesses, agile delivers new features through gradual iterations over time.
While agile was initially created back in February 2001, for software development teams, agile methodologies and principles can be found across thousands of organizations and teams, and spanning a wide variety of industries.
“Agile teams value individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.”
- Manifesto for Agile Software Development.
Understanding the core Agile principles
You can read the official Agile principles, but here’s the key information you need to know:
Customer satisfaction is #1
The customer’s experience and their satisfaction is the key driver in all decisions – from your choice of technology, to which direction your product goes. It basically comes down to collecting and analyzing the right data, to understand what customers want and need.
✏️NOTE: One project we regularly carry out at Tiny, to better understand our customers, is the annual State of Rich Text Editing Survey and its ensuing Report. The research results help us better understand the needs of those who benefit most from rich text editors. You can read the report from our 2023 survey, to get an idea of how we’re constantly asking customers what ways we can better serve them and their needs.
Be open to change
Agile methodologies are open to change even late in the game. Sometimes you’ll get new information and priorities, which can mean canning a project you’ve been working on for a few days or weeks. But it’s better to change early, than release something that your customer doesn’t want or need.
Early and continuous delivery of valuable, working software
Agile methodologies and principles focus heavily on something new with every sprint. That doesn’t always mean a new release, but it does mean the product improves incrementally.
Older approaches to organizing teams and work, like the Waterfall methodology, built big changes into a large release, which means tests were often overlooked and slow responses to any needs or requests for improvement. Using Agile methodologies makes it easier to test small, have more frequent releases, and less context switching for developers.
Face-to-face collaboration is ideal wherever possible. This doesn’t mean dispensing with asynchronous communication forms. Tools you can pick up to improve collaboration include Slack, Microsoft Teams, or Trello, all of which helps bridge the gap between remote, agile teams.
Speaking face-to-face through video calls (or in rooms, if you can make it) is ideal for organizing teams. What this comes down to is listing what's vital to your team, and increase or decrease collaboration for your task and your situation. For instance, if you’re using Slack, you can hold a huddle with voice-only channels to check in before escalating to a video call.
Agile methodologies make sustainable practice a priority. Ideally, this means the sprints you set up are something you can sustain for the long term. Agile can’t be a quick fix. Make sure you set up processes that can be sustained at a constant pace, over a long period of time.
Streamline everything to make it comfortable for your team to get the work done. Sometimes you’ll have urgent changes come through, and you’ll have to push through it, but it’s important to generally schedule your sprints so that the work fits your team’s reasonable work output.
Keep it simple
Don’t overcomplicate things.
Reflect and adjust
In Agile, the concept of a retrospective, or a retro, is one where the team makes categories of what worked, and what didn’t. These regular reflections provide the information needed to make a beneficial adjustment. Do retros every single sprint so you can identify problems early and adjust quickly.
✨IMPORTANT: Talking about what went well during sprints helps your team get an understanding of their performance. Reflecting on good things your team has accomplished helps maintain beneficial practices.
How we adapted Agile to work for us
A few of the Agile principles in the previous section have included examples from how we apply them at Tiny. But not all the Agile principles will work for your organization or team – 100% agile isn’t realistic. And to transform magically into using Agile overnight, is not a feasible plan. If you’ve been working a different way until now, a process change can take years.
So, how do you adapt agile?
Like most Agile organizations, Tiny’s development teams adopt the principles that make the most sense for us and adapt some of them to suit the way we work. We’ve talked to some of our teams to hear about how they’re using Agile principles and methodologies:
1. Using increments
How we apply the Agile methodology to our sprints at Tiny, is through two-week sprints, and we have all our teams start and end sprints at the same time, to line up dependencies.
We measure velocity or work load in Story Points, which help us understand what issues and user stories we can realistically cover in a two-week sprint. We also track progress during the sprint, using burn-down charts.
Before each sprint begins, we do fortnightly sprint planning so everyone is on the same page about what features and bug fixes to work on. We practice “just enough” backlog grooming to break down each feature and detail the complexity. Then we get our teams to commit to the planned work.
2. Team structure
For the most part, our teams self-manage their commitments and decide what they’re going to be working on.
One of the most well-known Agile principles is the daily standup meeting, and it’s one of the most important ones for our team here at Tiny. Standups help keep our teams more connected. Plus, they keep us all on the same page as we share what we’ve worked on, what we’re working on next, and any issues or blockers.
Our standups usually involve all the core team members and go for about 5-10 minutes.
4. Continuous testing and releasing
In line with core Agile methodology, at Tiny we continually develop, test, and release features and updates. Although, there is one main exception here: TinyMCE releases different types of updates, at different times.
- The community release arrives first, affecting only the open source version of TinyMCE.
- The releases for enterprise versions follow afterward.
Open source is always the first to receive new features, so developers can provide feedback and any possible issues can be ironed out. Enterprise generally takes longer, because we need to ensure everything is documented and fully tested, including reports on what’s changed. This ensures stability for our enterprise customers.
5. Working with distributed teams
Tiny is a remote-first organization, meaning our teams don’t all work under one roof, or even on one continent. Being a highly distributed team worldwide, we can’t always meet face-to-face, so regular video calls, and communication on Slack keeps things transparent and accessible.
6. Adapting Agile to non-dev teams
While some organizations only do Agile among their development teams, Tiny applies aspects of it across most of our teams, including design, marketing, operations, etc.
For example, in our marketing team:
- We’re clear on roles and responsibilities
- We’re in constant contact and communication with each other
- Each person has their deep area of expertise, but this is complemented by broad expertise across other roles
- We do a lot of “experiment, reflect, repeat”
How do you do Agile?
There’s no one-size-fits-all, so chances are, your team does Agile a little differently than other teams (including our people here at Tiny).
We’d love to know how you apply the Agile principles at work – as well as how you’re adapting them if your team is working remotely. And you can contact us today if you'd like more information on TinyMCE’s rich text editing features.