What is Ticket Driven Development, and why is it attracting attention in Japan?

This is a guest blog about agile development by Makoto Sakai / SRA (Software Research Associates, Inc.) and akipii / XPJUG Kansai (eXtreme Programming Japan User Group at Kansai).

Ticket Driven Development is a hot topic in Japan right now, and due to its popularity we co-authored a book about it. Originally we believed Ticket Driven Development was receiving lots of attention due to unique factors in Japan. However, when we looked at how companies in Japan use Ticket Driven Development we found that they wanted to get rid of the constraints in their software development lifecycle. Their aim was to communicate using a digital tool such as Jira as that works even with distributed teams. Further, they want to integrate the tools of their software development lifecycle to automate the workflow.

Ultimately we found that Ticket Driven Development can be widely applied, and not only in Japan. In this article, we will explain why Ticket Driven Development is of interest in Japan, and how it is used.

Characteristics of software development in Japan

In Japan, lots of teams in gaming and web application development have started to adopt agile practices. However, due to constraints imposed by management in these companies they really follow a Waterfall methodology – making their software development process more of a cascade than agile. This is due in large part to the culture in Japan which includes a contract based on trust. There are four areas where people are blocked in their agile adoption in Japan:

Ticket Driven Development

Ticket Driven Development is a method of managing tasks in the software development lifecycle using an issue tracking system like Jira. It is called Ticket Driven Development for the user story that represents the customer value an agile software development team will deliver. Of course, Ticket Driven Development doesn’t mean there are no bugs – bugs are also issues which the team members can use to associate source to backlog.

The basic rule is “No Issue, No Commit!”, and as such every commit will have a story or bug associated with it. Managing the source code of a project with an issue for every commit ensures:

1.Issues and source are integrated to ease source code management

2. Communication is focused on the issue

3. An electronic kanban board makes it distributed development teams reality

4. Automation of the process by workflow

Why is Ticket Driven Development attracting attention?

For the following reasons, the situation seems to be changing in Japan.

As such, it has become necessary to adopt agile development practices in Japan. And these challenges are not unique to the Japanese market. Ticket Driven Development is attracting attention for the following reasons:

Usage scenarios of Ticket Driven Development

A few unique usages of Ticket Driven Development are as followings:

1) Agile development with being digitalized and automated

Ticket Driven Development is adopted as agile development which has less constraint and is more efficient.We also have a case study that they show the performance of agile development using test-driven development and use BTS or ITS for fault management, then migrate to analog task cards.

2) Adaptable waterfall development that can respond agilely to changes

Ticket Driven Development can be used for the purpose of streamlining communication and development work related to specification changes.By making process lightweight, you are able to respond promptly to changes.Supporting the multiple releases using the milestone of BTS or ITS, it makes process easier to adapt.

3) Distributed development in multiple locations

Work order tickets for use in distributed development sometimes called Ticket Driven Development as well.In this case, tickets are not always integrated with configuration management.

4) Application to business systems using the workflow and file associations

In addition to use in a DevOps where you manage issues by the tickets ranging from development to maintenance, the usage has spread to the IT general control and general operations.

Conclusion

The trend of Ticket Driven Development arose from circumstances unique to Japan. However, it is not particularly limited to Japan. It is available for use in software development or system development in general.I think when we organize effective usage with a number of case studies, “Ticket Driven Development” becomes more widely used.

Next

There are seven known practices around TiDD as follows:

  1. No ticket, no commit
  2. No ticket, no work
  3. Iteration is Version, or continuous delivery is practiced
  4. Tickets follow repositories in version control system
  5. Manage tasks with tickets by dividing them
  6. Inventory tickets
  7. Pair work

If you are interested in these practices and want to know the details, please leave a comment or directly contact the author @sakaba37 or @akipii.

Exit mobile version