tags
Often it is helpful to track topics and tasks with textual
phrases called tags. Example for fundraising publicity
might be FUNDRAISER1.ANNOUNCE.PAPER_MAILING
and FUNDRAISER1.ANNOUNCE.EMAIL.
Tags are quite valuable for scheduling and status. It is
important to be able to list key activities and know whether
or not they are complete. Tags allow navigation from
requirement documents to status reports. Without tags
it is difficult to map current activities back to plans.
Legislation is identified with bill numbers. Restaurants
often number the items on their menus. Tags can be a
powerful tool on software projects as there is a lot of
creation and the project scope can surpass an intuitive
understanding.
Tags on projects usually identify a specific problem,
solution, or activity. The detail is greater than the
search tags and keywords requested by something
like YouTube.
Tags work best when there is a structure that people
follow. FUNDRAISER1.ANNOUNCE.PAPER_MAILING
follows {event}.{high-level action}.{low-level action}, for
example. Stabilizing a tag structure and set of terms
early is best, though this is not possible on a complex
project. It is important that team members do not
add synonym tags under pressure.
In extreme chaos, a tag system can break down and
add to confusion. The people who own the tags should
be practical and strong enough to defend the integrity
of the tags.
The best known proponent of tags in software is Tom Gilb.