Lately, I have been writing a lot about Release Management (e.g. a few of my previous articles- One, Two and Three). Today, I would like to share some thoughts on a different topic, namely “(the)balance between simplicity and complexity and how to combine them in order to interpret information in the most efficient way”. This article is based upon my recent experience working with a number of software engineering teams that were using Jira Software. I hope this will be interesting for you.
Disclaimer: All of the below statements are based purely on my own personal opinion. So, if you have another point of view and/or you would like to share your personal experience, I would appreciate your comments regarding this article.
It is no secret that Agile has become a very popular approach over the last decade.
The main success factor was focused upon relatively small and frequent deliverables that helped to
Also, Agile and Lean brought many good techniques that are aimed at increasing quality and decreasing time to market (e.g. XP practices).
But in my opinion, the most important innovation has been in people engagement; namely:
As a result, it empowered the creation of tools and practices to put them on the same page as the above two -very different groups of people who do not speak the same language by default.
I believe the breakthrough has been in 2 main areas:
1. Simplicity. Everything has to be as simple as possible. A prime example is the user story; where complicated and sleep-inducing requirements documents were replaced with human-readable requirements in a simple language: in the format of user interactions with the system.
2. Visualization. The visual channel has the widest bandwidth to our brain. I could not find the source but I remember reading that 65% of people are visual learners. I guess this was one reason why a lot of attention was paid to the concept of visual radiators. The most prominent examples are Scrum and Kanban boards plus a variety of different canvases that can help us to understand the information and take appropriate action.
Rock stars can easily be identified among other artists. A wide audience of people listen to their music over a long period of time. They are shining rolemodels for new generations and the lyrics from their songs are extensively and commonly quoted.
The same applies to Trello. Housewives and executives, alike, are using it to organize their own personal work and/or various projects at the same time. You can find a lot of examples of how the work can be organized (not always planned or scheduled) using Trello.
From my point of view, the key to Trello’s magic lies in its simplicity, amazing flexibility and an easy-to-ramp-up process so everyone can meet their needs almost instantaneously. It’s also highly visual.
Compared to Trello, Jira is a much more powerful tool. At the much-advanced levels of process maturity, sophisticated Jira functionality is a must in order to support the process. Trello in return presents far fewer limitations.
Do not get me wrong, Jira is easy to use when you get into it, but for a newbie it might be too complicated and confusing. At least that’s what I learned through various feedback when working with software development teams.
It would be great to combine Trello simplicity and Jira power at the same time!
Thus, it would be possible to exploit Trello simplicity at an early stage of adoption and gain the full power of Jira later on.
Agile Boards in Jira have one significant disadvantage compared to much simpler Trello Boards — columns may be assigned to workflow steps only. In Trello, we are flexible in defining columns just as we want, but unfortunately, we miss swimlanes in Trello.
What if we combine the advantages of both? Create a board, where we can show Jira issues and assign any custom or standard field to column and swimlane?
As a result, we get insane flexibility and simplicity, all at the same time.
Bear with me.
For sure such a possibility could be widely used by an Agile team. I will share some of the use cases:
2. Versions Planning. In order to plan versions’ scope in a visual way, we may define columns by Fix version. By simply moving the items from one column to another, we can define version scope and easily see what has already been planned for each version.
3. Story Mapping. We can complicate the previous use case a little. Let’s define columns as Epic (as “Epic Link” or “Parent”; a custom field in Jira) and versions as Swimlanes. As a result, we get a classic story map board (read more details here)
4. Classic Estimation with Agile taste. The visual power of Agile estimation techniques can be applied to classic estimation in ideal hours as well. Just create columns by Original Estimate field and assign clusters of estimates in hours
5. Agile Programs Planning (e.g SAFe PIs) can be easily created in case we create columns by sprint and swimlanes by Teams. In my example, I have labels to split the team’s but any other field could be used as well.
6. Freeride with Labels. Labels is a very flexible tool in Jira that can give us awesome flexibility and simplicity. The main disadvantage is that people need to remember the correct values and if somebody makes a mistake while typing a Label value, then a whole new item will be created and we end up in a mess.
Using the Trello-like board to manage Label values can help with that and remove all of the above-mentioned disadvantages.
For instance, we can create value/cost mapping canvas to better understand the tradeoff we are making during prioritization
Also, you can find a lot of articles about Trello usage that may be applied to Jira using this approach (e.g. one of them).
From my point of view, the great power is in combining simplified boards/canvases with extensive Jira functionality. So, Jira issues can start their journey from simplified canvas and end up on a standard Scrum/Kanban board for the engineering teams.
Such flexibility can enhance the strengths of visual learners and make simpler the organization of complex work as well as a large number of tasks.
Also, such functionality forces better integration of technical/engineering people, and non-technical/business people.
All of the screenshots above are taken from Canvas for Agile Teams & atScale App. You can find similar Apps on the marketplace that can also open such great possibilities for the developer/user.
I hope that this article has been interesting for you and that you’ll be able to apply these ideas yourself to improve your day-to-day work and make complicated things that little bit simpler.
Stay tuned, folks!
Such flexibility can help to organize the data in multiple use cases.
Please find some ideas below:
Thinking of more use cases? Please leave a comment to this article. I greatly appreciate it.