Tickets - Two sides of the same coin

Tickets! Some people love them others hate them. I for sure dont have much love, however, I can see both sides of the same coin. There are lots of tracking systems such as Bugzilla, Track, Jira, GitHub Issues, and many others. There are companies with complex workflows with lots of approvals and complicated steps.IMHO there is little value in complex workflows, I understand the reasons why companies might arrive there but still think is not the way. Tickets can be used for multiple reasons, some could be valid, and others could be actually bad practices, meaning hiding inefficiencies. Let's take a look at the 2 sides of the same coin.

The Bad

I still believe DevOps matters and is the right thing to do but the reality in the industry drift apart, is very similar to what happened to the Agile movements. Wonder is that would be the end of all movements.

DevOps is over, let's surrender, It becomes a title, a team, a department, and is not about principles and doing the right things. Tickets IMHO almost always are hiding manual work. Almost all companies have much more developers than operations professionals. A good amount of companies due to regulations, compliance, culture(often bad), or laws have Ops squeezed to implement complex sec and compliance rules. The output is more standardization and Ops being a bottleneck innovation. Tickets are the way to control and track that. 

If you have a "stable process" that works but you end up having a low business value(Or at least not being perceived by the business) - easily you can have manual work being hidden by the ticket systems just because the org got used to it.  

You might argue that this is an industry problem(true in some cases) however by having tickets you end up with metrics and numbers which often are dangerous since Deming proof so many times the risk of common sense management by numbers. Also, companies tend to stick with the process and forget about innovation and the customer.  Sure you also might say that is not the fault of the Tickets or Ticket system but at the same time, this is a good excuse to declare a "good stable process, and... why do you care?" and never change.

How can we improve from there?

* Make sure tickets are not empty and have context, explanations, links to documentation, and motivation for changes. 

* Have regular retrospectives and keep changing and automating your processes 

* Use Open Source or buy software that leverage automation

* Embrace Inner Sourcing culture and have more enginers helping with Ops. Replace Tickets per PRs or keep tickets for tracking only and always favor automated processes  

* Use Lean value Stream mapping diagrams to see bottlenecks and automate them

* Create high-quality documentation and self-service culture 

The Good Stuff

If you are a Software Architect or Staff Engineer and you are working with multiple teams, tickets can be a simple and yet effective way to track progress on cross-team endeavors or also called staff engineer projects. Tickets in this case are not to create cross-team workflow but to help invisibility, tracking, and to effectively communicate with other teams. 

Let's say you are performing a complex migration and you have a central service or library being migrated and this is blocking multiple teams. Now imagine your work requires coordination with the other 5 teams. Having a central ticket or Epic which works as an umbrella linking the other team's ticket - really kills several birds with one stone. Since dependencies are clear and visible, you know when you will be unblocked(once tickets are done) and you have it in a central place.

Cheers,

Diego Pacheco

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java