The Agile SCRUM method suggests using “sprints,” which are short development cycles of two to four weeks. Each sprint has a defined set of deliverables based on user stories (requirements).  The number of weeks in each sprint depends on the team’s preferences, and teams find a comfortable time span that works for them early in the process. My experience is mostly with three-week sprints, which, like Goldilocks said, was Just Right, neither too long nor too short for the team I was on.

Sprints  have an upside and a downside, depending on how you look at it.  For the developers, it’s all good. If they finish up all their coding before the end of the sprint, they have time for testing a little and maybe fixing a few bugs. For those of us in documentation and QA, it can be a bit more challenging depending on when the work is actually considered complete–during the current sprint, the next sprint, or an overlap between the two.

On the upside:

  • Documentation in each sprint is based on of a defined set of features developed in that sprint. Deliverables are defined by the user stories, so scoping topics up front is simple.
  • User stories provide a synopsis of the feature that the user wants, in simple language. Usually provided by a project owner, this information is simple and easy to understand, unlike some “old-fashioned” requirements documents!
  • Sprints have a definite start and end date. The target is easy to see.
  • Creating documentation agilely means you can start  topics based on what you have during the sprint, and add more detail later when more information is available. Usually this means that you create tasks first and add conceptual information, indexes, and cross links later.

On the downside:

  • Features may not be as clear as you would like during the sprint planning stages. User stories might not contain enough detail to start writing before the feature is complete.
  • Because the back end development has to be done first (usually) and the GUI last, major features can show up in the last days of the sprint and in the last days of development. Documenting these features can require intense effort to bring the documentation up to date with the features.
  • Completing all documentation and QA tests at the end of each sprint can be very difficult to do. Usually a “hardening” sprint is included at the end of development before a release to allow some extra time for testing and documentation completion.

There are strategies to manage the downsides.

  • If a feature is unclear, ask questions of the developers and product owner to get more detail. Ask “how is this supposed to work?” And “how does this help the user?”
  • Participate in any road mapping sessions that your team has to get a good overall view of where the development is going feature-wise.  And take good notes! This will help your overall understanding of what may be developed over time, which allows you to plan for overall documentation development.
  • Complete as much of the documentation structure as possible during each sprint, even if the features are not completely clear. Create placeholders for topics based on user stories, draft a basic description, and update that information at the end of the sprint.
  • Ask for reviews as each topic is completed: don’t wait until the end of the sprint when everyone is working flat-out.
  • Keep track of the user stories as the sprint progresses. Stories can, and do, change over the course of a sprint.
  • Make sure the team, product owners, and Scrum Master for your team understands how much work you have to do, and what your capacity is. The product developers do this in each sprint and you must do the same to avoid being overwhelmed with more work that you can complete.
  • Use the “good enough” principle for documentation. When it is “good enough” that a user can complete a task or understand a concept, move on to the next story.  If there is time for polishing, that occurs in the hardening sprint.
  • If you don’t have an editor, trade-off with a peer for a copy-edit to find mechanical errors, typos, and so on. The best time to do this is two or three sprints from the release date.

Working in an Agile way is a balancing act sometimes, but for the most part, it’s my favorite way to work.  I use DITA (the Darwin Information Mapping Architecture) to structure the topics, which fits easily into an Agile shop because it allows me to chunk the documentation development by features. It’s very satisfying to have documentation and application features that match seamlessly during the development cycle, sprint by sprint.

Not long ago,  the layoff dragnet caught up several of us at my ex-place of employment. My LinkedIn profile  says “looking for new opportunities”  and I am truly in full-tilt-work-search mode.

While there are great strategies for finding work, ala “Ask The Headhunter*” style where the seeker targets attractive companies instead of the other way around, I thought that looking at the  job boards in my area seemed like a way to get a feel for who was hiring right now too. Interestingly for my qualifications, the job titles are all over the place. While this is usually true for someone in the technical communication field like me, the differences are even more extreme than usual.

It was thought-provoking to see different titles and work descriptions from different vendors for what is obviously the same position. That got me thinking about what is considered a heretical subject in some circles: does the title really matter? Or is it really about the work? So I put the question in an Agile context.

The Agile Manifesto says: ”Build projects around motivated individuals. Give them the environment and support that they need, and trust them to get the job done.”

In times like these, when unemployment is high and jobs are scarcer than they have been in years, it is doubly important to be motivated and focus on competency, not title.

Experience gained  from working on Agile teams has broadened my skills. Working with Agile has provided me with the extra capabilities to build software,  hands-on testing experience, and honed communication skills with a wider range of people, including stakeholders, users, marketing, product management, technical support, and product developers. This has made me a more flexible team player and expanded my effectiveness as well.

The more flexible–or agile–a worker you are, the easier it will be to find that “other position” that fills the need to do good work and get compensated for it.  Not only that, but Agile workers have an advantage: they demonstrate superior teamwork, good self-management and organizational skills, and the ability to flow with a changing environment.

The takeaway for me is to focus more on being a motivated individual and what I can contribute to a company that I want to work for, and less on  the job title.  This approach is more work than just answering a job posting on a board. It does require research and matching  skills to the company’s needs.  However, the rewards can be great when you can provide value to a company that you choose.

It’s always better to ask someone to dance than to wait to be asked, right? The people who wait are called “wallflowers.”

Agile-ly yours,

Diana

* Ask the Headhunter is Nick Corcodilos, whose blog is here: http://corcodilos.com/blog/ and main website is http://www.asktheheadhunter.com. If you are looking for a new position, I recommend his approach and counsel very highly, as well as his books.

Alan Briskin*, noted author and workplace consultant said:
“Genuine change is never a function of dominance, or even education, but of empathy and common ground.”

How true that statement is when applied to an Agile team. Most of our development team works in a “team room,” a relatively large, open space with moveable furniture and lots of whiteboards. The local folks all work in this room, including our manager, who acts as the teams’ scrum master. There are team members that are located in other cities, which is somewhat unusual for Agile teams.  When we have an all-hands, in person meeting, we all pile into this room. Otherwise, we use conference calls for daily stand-ups.

The team room concept is not a new one for me. As a consultant, I have worked in “war rooms,”  in conference rooms where I was literally elbow-to-elbow with my team mates, and in a glass plant breakroom at a rickety table next to a soft drink machine.  Once, I even worked  in a converted medical laboratory that had drains in the  floor. The floor had such a steep slope that I had to put a piece of carpet under the back wheels of my chair to keep from rolling away from my desk and into the desk that was less than three feet behind me!

Experience has taught me that it takes more than common space to become a team; it takes common ground, as Dr. Briskin said. His comments about genuine change are also appropriate, because being on an Agile team is all about change. Constant change, as a matter of fact. Without the trust, openness, and respect–the common ground–that an Agile team must have to be effective, that change can degenerate into chaos.

That balance can be achieved in an Agile environment where each individual’s work space is honored, but there is also room for questions, general chatting, and sharing a good joke as well. Those  main ingredients–trust, openess and respect–are essential for an Agile team to function well.

It’s interesting that the concepts that support Agile are referred to as what we care about most, or value.  The Agile Manifesto says:  ” …we have come to value people over processes and tools.”

The definition does not divide the team,  but includes all in the  ”we.”   Theoretically, all team members can contribute to every task, whether it is writing code or building documentation or testing the application. Of course, in the real world, it may not be that cut and dried–we each have roles after all. But by including each role in the communication, and recognizing each as  important to the team, then the team wins, and the product will not be far behind.

* Alan Briskin, Ph.D., co-founder of the Collective Wisdom Initiative is a consultant, artist, and researcher. His most recent book, Daily Miracles: Stories and Practices of Humanity and Excellence in Health Care, was chosen for publication by the Sigma Theta Tau International, honor society of nursing.

Title: Business Analyst Times – Business Analysis | User Stories – Large Misconceptions. Part 1.
Link: http://gotaf.socialtwist.com/redirect?l=-70429299905905544911

The Darwin Information Typing Architecture method and Agile are often used hand-in-hand, as we do at my software shop.

The advantages, once the learning curve has been climbed, are a faster writing methodology with more topic reusability. The disadvantages can be (1) cursing under your breath when you can’t do something you want to do (2) the learning curve, and (3) a seemingly more rigid working style.

About number 3, I said “seemingly” because at first, I really felt that way, because sometimes adding components like notes in steps requires putting the note in a wrapper (another tag, “info” to be precise), which seems like an extra step. After I got used to some of these differences, I found that, in fact, DITA is a very flexible methodology for technical communicators on Agile Scrum teams. Building documents with DITA’s single-focus topics (a concept, task, or reference), provides enormous flexibility when working in Agile, where deliverables are produced continually and there is almost no downtime.

Creating multiple documents in many different formats is supported quite nicely with DITA. For example, I have created a user guide, administration guide, installation guide, and getting started guide, all with some common topics and reused text, but arranged in different ways with ditamaps (groups of topics). This method also provides flexibility to create some topics in sync with an agile “sprint” to document the feature iteratively. For example,  first you might write the conceptual information in Sprint 1, and add the task steps in Sprint 2, and reference topics in Sprint 3, after most of the feature is fleshed out, including a more solid user interface. This method works quite well on a fast-moving Agile team.

Just some musings on one methodology that I use with Agile. I am very interested in how others manage documentation workloads in Agile shops. Please post your ideas.

Agilely yours,

Diana

The Agile Technical Writer

cowboyhatWe have a saying in Texas: “This is not my first rodeo.”  

That certainly applies to my experience on Agile teams as a technical communicator.  My first involvement with extreme programming (XP) with an Agile slant was in the mid-90′s. I found the process somewhat interesting, but was confused by the team’s assertion that user documentation was not important in an Agile environment.  I learned later that this was a misperception (see the Agile Manifesto).  The Agile Manifesto says “We value working software over comprehensive documentation,” means the aim is to deliver a usable product early on in the process with an emphasis on simplicity.  This concept applies to creating user documentation as well as software. 

Agile development can offer many opportunities for technical communicators to learn and contribute to product develoment in a real-time, hands-on way. It can be exhilirating, once you get the hang of it. 

This blog is about my experiences working on Agile teams as the team’s technical writer, XML help developer, usabilty freak, and general word wonk.