During the last STC meeting on agile, I was chatting with a fellow writer about whether agile fit his role at his work. He said that because he supports about 80 engineers, kanban was a better fit for him than scrum.
The main difference between kanban and scrum is that scrum organizes work into two week sprints, with points assigned to each item. The scrum team is expected to complete a specific number of points before the sprint ends.
With kanban, instead of organizing the work into sprints, you organize the work into three main buckets: to-do, in progress, and done. You limit the number of items in progress to just a few (for example, three). When you finish an item in-progress, you move another item from to-do bucket into the in-progress bucket.
Kanban doesn’t have two week sprints or velocity calculations or demos. It’s simply a means of limiting the number of items (limiting the “flow” through visual cards) so you can focus more clearly on completing items that need focus. It’s a way of avoiding the scatterbrained feeling of working on 5 tasks all at once and accomplishing nothing.
Kanban is a better fit for me because of my work environment and content publishing role. When I worked at 41st Parameter (a startup bought by Experian), I was tightly grouped into two engineering teams and attended their daily standups, sprint demos, retrospectives, and other scrum meetings.
At Amazon, I support a large number of engineers working in the Appstore group. I’m not sure how many engineers are actually in the Appstore group, but for my focus with Fire TV, there are more engineers than I can know and keep track of.
Some teams work on features that require documentation, while others don’t. For those that do, often the groups will generate the documentation on an internal wiki page, and I’ll convert the content into formal documentation and publish it on our Developer Portal.
In addition to this content publisher role, I am loosely integrated into one scrum team where I author original content from scratch. Although the team follows scrum, I’m finding that it’s better for me not to participate in all the scrum activities but instead to keep my ear to the project and pop in and out when there are features requiring documentation.
At large companies, or in scenarios where small numbers of tech writers support vast armies of engineers, it might not be practical for tech writers to integrate tightly into the scrum teams as other engineers do. If you have to support 5+ scrum teams, your week’s bandwidth will be consumed by meetings that have a low signal-to-noise ratio, and little value for the time expended.
Much of an engineering scrum team often gets caught up in engineering tasks that don’t actually impact the documentation, since the code doesn’t get exposed to users nor does it affect users in ways that would require documentation.
For example, a user may not care about the inner workings of Feature X – the user just needs to know how to configure Feature X. But engineers will spend 80% of their time building Feature X, and talking about bugs they found in testing Feature X, and the best libraries and approaches for integrating Feature X, and so on. The writer needs only to come in at the end to describe Feature X and explain how to configure it. Would it really be efficient to attend meetings where engineers discuss at length how to build and test and deploy and troubleshoot Feature X?
If you’re not regularly involved in an engineering scrum, you need another way to stay abreast of what’s going on, so you won’t miss those times when something does actually come up that requires documentation. I’ve found it’s helpful to establish contact points with key players who have their pulse on important features to document. The key players should understand what various engineering teams are working on, when the release dates are, and who you should contact to get more information. Regular meetings with these key players around documentation priorities and needs can replace the need to attend countless scrums.
One of the key benefits of agile is that it gives you deadlines to [try to] finish your work. Your goal is to complete the task before the sprint closes. While deadlines are generally a good thing, this two-week sprint model has some problems:
- You either finish your task early and have idle time (rarely the case).
- You don’t finish your task and then feel bad for not completing your target.
Most teams over-estimate the amount of work they can complete during the sprint, not properly factoring in the overhead of corporate email, meetings, and other interactions. As a result, usually teams over-allocate the work and then feel bad about themselves when they don’t meet their goals. Project managers get upset and try to “unblock” what might be causing the slow-downs. During these time crunches, engineers then don’t have time to review documentation because they’re heads-down trying to meet their over-estimated sprint goals.
Kanban doesn’t impose deadlines. Theoretically you could spend an eternity working on one task that always remains in progress and never moves to done. But the reality is that you work on items with a regular cadence, and finish them when you finish them. You don’t feel the let-down when your sprint ends and you haven’t finished all your tasks, because you don’t have sprints. Instead, you just keep cranking away at those tasks in the to-do bucket.
I’m not a kanban expert, and I have plenty of room to improve my role. JIRA has the ability to configure kanban boards instead of scrum boards, which I think might really be a better fit for documentation.
My role has certainly shifted from the tech writer who writes everything to the tech writer who publishes everything (and writes original content only for some products). I like the hybrid role, as it gives me exposure to a large number of technologies. And I feel that playing the content curator/publisher role allows me to scale. Still, it’s an interesting new dimension to my work. With this role, it seems that kanban is a better fit for me than scrum.
Listen to the recording:
Agile panel event description
Here’s a description of the agile panel event:
How can technical writers can thrive in agile environments?
Most engineers in IT departments follow an agile scrum process: they track issues in sprints, assign and scope story points, meet daily to provide short updates on their work, and release updates every 2-3 weeks.
Technical writers who work with engineers usually find that being productive requires them to become familiar with the engineer’s agile scrum workflow. Whether you want to keep abreast of engineering work, factor in time for doc reviews during the sprint, or have documentation be managed like other IT work, you need to know how to integrate or work with the agile scrum workflow.
In this chapter meeting, we will have a panel discussion about how technical writers can thrive in agile environments. (See the STC SV event post for more details.)
The following 5 people were panelists:
Bonnie Clark has almost 20 years of experience in the technical communication field. She is currently a Director of Technical Publications at FICO, a leading analytics software company.
Rosemary Picado is the Documentation Team Lead at Sumo Logic, and works with agile and non-agile teams within the company to document their cloud-based log management platform. Formerly at Recommind, she transitioned from Tech Writer to Scrum Master while the platform was being re-architected, learning the value of Agile first hand, and how the skill sets intersect and complement each other.
Daniel Doornbos has been a technical communicator since 1982. He most recently worked as a Senior Technical Writer at HEAT Software on its IT Service Management product. The company is in the process of transitioning to agile development.
Jane Wilson leads the technical writing team for GE Digital’s Applications Engineering group. GE Digital develops in an Agile environment, and, as the team has grown, she has developed processes for fitting writers and the writing process into Agile methodologies. Along the way, she became a certified scrum master. Jane belongs to the East Bay and Atlanta chapters, and she currently serves on the STC Board as Treasurer.
Gina Blednyh is a Staff Technical Writer at Salesforce. She’s worked in an Agile environment for almost six years. She’s also been a scrum master for both a writing team and an engineering team and is an Agile convert.
I moderated the panel.
Here are some of the questions about agile and tech comm that we discussed:
- Should documentation be managed as items in an engineering sprint?
- Should doc reviews be assigned story points?
- Do you still create a documentation plan at the project kickoff if you are following an agile scrum process?
- How can you keep pace in documenting features during the sprint if the features don’t get finished until the end of the sprint?
- How can you reduce the tedium of daily standups when engineers seem to rattle on endlessly about coding issues?
- How can you stay updated about JIRA items when engineers don’t take the time to articulate the issue but rather hastily add a quick title that only they and other engineers who are already familiar with the issue understand?
- How can you persuade engineers to dedicate time for doc reviews if there’s no points allocated for the work in the sprint?
- Logging bugs changes the role tech writers play on teams. Should tech writers log bugs when they find them, or simply send emails to the QA engineers to log the bugs?
- What processes should tech writers follow in order to publish rapidly during the two-week cycles, especially when tech writers have several projects at once, all of which have two-week release cadences?
- How can technical writers be valuable participants in the agile process when they are part of 3+ different teams, each of which has its own daily standups, sprint planning, and retrospective meetings?
- Agile teams often follow a “fail quickly” approach that leads to coding in a lot of different directions in order to find something that works in the market. How can you avoid massive revisions of your documentation with each major direction during this highly volatile period of coding?
- Agile teams often want to minimize the amount of documentation in order to stay agile and flexible (the principle is “working software over comprehensive documentation”). How do technical writers negotiate the de-valuation of documentation on agile teams (even if the docs mostly refer to project documentation instead of user documentation)? How does minimalism factor into agile practices?
- What time management techniques can you implement to be more efficient in order to meet the fast-paced demands of agile teams? What can you ignore or cut out of your day? Are all meetings necessary to attend in order to convey the importance of your role on the team?
Share your experience
If you want to share your experiences with agile, you can do so in the comments on this post.
If you’re an ISTC member, then you already get the ISTC Communicator, and you can read my article in print or by logging into the ISTC site. You can view the table of contents for the Autumn 2016 here (but not the article content unless you log in as a member).
If you’re not an ISTC member, you can read my article here: Implementing Swagger (OpenAPI specification) with your REST API documentation, since I also published the article on my site in HTML format and integrated into my API doc course.
A lot of people ask about Swagger, and although I’ve written about Swagger previously, this is my clearest and most thorough article on the topic to date.