How we can use governance and constraints to get the most out of customisable software and reduce organisational headwind.
By Neal Taylor and Paweł Przedlacki
Whilst flexibility means that we can customise a piece of software to the unique needs of an organisation (and even to various unique needs within an organisation), the downside is that too much unaligned and unconstrained customisation, increases the risk that a chaotic system ensues.
This is particularly problematic if this software is the logistical infrastructure for the concepts, ideas and tasks that the organisation is working on in order to achieve its aims. If the task management system designed to execute operations becomes chaotic, what chance is there, then, for the organisation to succeed in any of its aims?
In this article we look briefly at the inevitability of ‘organisational headwind’: how this is not only often reflected within the tools we use to manage ourselves (such as Atlassian’s Jira), but also how the task management system has its own inevitable headwind which, in turn, can impact the operations of the organisation.
We will examine how, in an organisation’s efforts to increase its potential for agility, applying constraints to its customisable software can be a blessing in disguise.
Whilst we’re predominately looking at Jira here, it provides us a useful understanding into important concepts such as systemisation, constraints, decentralization and chaos in the context of organisation, agility and technology.
The goal of an organisation is to collaboratively achieve a common intent — usually perceived to be something of value in terms of a product of service.
The further assumption is that we cannot achieve this intent alone; we need a team or multiple teams. With extra team members comes extra communication (as well as extra friction, competing goals, increased confusion, etc.) and so somehow, we need to organise ourselves towards that goal.
And yet, despite our best attempts to organise ourselves as best we can, we always face the inevitable ‘organisational headwind’. For an excellent and light-hearted overview of how organisational headwind manifests itself, see the work of Alex Komoroske at komoroske.com. In a wonderful and innovative slide deck, the author makes a strong case that organisations need to be more like slime-mold to avoid this organisational headwind!
In “The Wisdom of Slime Molds: A New Science of Decision-making”, David Bennett, discusses how the characteristics of slime mold can teach us about adaptability, creativity, and the importance of diverse perspectives in decision-making process.
Slime mold, a simple organism with no central nervous system, is able to solve complex problems and adapt to changing environments by relying on decentralized networks of communication.
Decentralized decision-making allows for more flexibility and adaptability, as it encourages open communication and collaboration across all levels of the organization. We use tools like Jira to enable the communication and collaboration within organisations — but how does the use of the tool often end up in chaos instead?
Jira is often used as a logistical infrastructure of the organisation. If the management tools are chaotic, however, then what hope does the organisation have?
Whilst on the one hand, the software might reflect the chaos of the environment, on the other hand, the tool itself can descend into its own chaos through neglect and its own confrontation with the organisational headwind.
It’s all the more important therefore that, if the organisation is going to use a tool like Jira, the tool should enjoy the attention and care of any well-maintained system.
So how can we ensure that these tools do genuinely help us in our goals?
Technology is really about the power to extend human capability - and our potential to achieve something.
So a tool must be extend some human capacity. What capacities are we trying to extend with the use of Jira or similar? Among others …
- Memory (store of information for quick recall)
- Communication to many people at once
- A rapid flow of information
- A kind of map (to show where we are in abstract terms)
- Reduction of the cognitive load of repetitive tasks (automation)
Beyond this, a software can help in systematizing operations, in other words, scaffolding approaches to doing things and how to make decisions such as: how we describe a piece of work, how we prioritize work, how we link concepts together. So, in this sense it’s also a kind of psycho-technology: it potentially affords us greater capacity in defining HOW we get things done.
As you know, much of Jira is already based on agile and lean concepts — already, as in, ‘out the box’. But we may wish to modify the default settings because they’re not one size fits all. Jira allows us to customise its settings.
Generally, systematizing the operations allows our system to execute them in very repeatable and predictable ways, and that improves visibility into how outcomes are achieved.
This in turn gives us an empirical view of how we work together. Like good biologists, we can then inspect the system to find waste is or uncover the golden nuggets of improvements.
We can then:
- Measure the outcomes (or products) of the system
- Measure the efficacy of this system in helping to achieve those outcomes
- Adapt accordingly
A piece of software like Jira can support how we work together, almost like a sort of organisational ‘operating system’.
When designing a system, we can determine different levels of precision and strictness of constraints.
For example, Jira doesn’t allow ‘story points’ in Kanban boards because the principles of Kanban don’t support story points. That’s an in-built constraint.
However, the system does allow other aspects to be customised:
You can use ‘story points’ in scrum board tickets — but, if you really wanted to, you could add ‘t-shirt sizes’, ‘time’, ‘estimated time’ and ‘actual time’. Regardless of your opinion of story points, imagine ten different teams were using ten different metrics, ten different sizes, ten different terms, and ten different ways of saying something is ready. Anyone wishing to know ‘how are we getting on’ would be hard pressed to get a clear overview. But we need that overview to make strategic decisions!
So how can we keep an overview and avoid this situation?
At this point, it’s worth understanding what we mean by constraints.
Constraints were brought into systems-thinking literature via the work done by Alicia Juarrero in ‘Dynamic in Action — Intentional Behaviour as a Complex System’.
Constraints refer to the extent of the possibilities that can ‘potentially’ happen. White noise is an example of something with no constraints — we need constraints to guide potentiality into actuality.
Juarrero differentiates between two different types of constraints:
- Enabling constraints bring us more possibilities for outcomes to potentially happen once prompted into action and
- Selective constraints (or governing constraints) narrow the range of possibilities
You could also think of them in terms of constraints which widen possibility (albeit not necessarily more likely); and selective / governing which narrow the possibilities (but perhaps more likely to occur).
Any piece of software will automatically have certain constraints in place which may make certain outcomes more or less likely.
Software, like Jira, is highly customisable, so affords us many different ways of customising the system towards our needs.
The danger with customization of multipurpose systems is that if the application of constraints doesn’t lead to the outcome we wish to see from the system, then the predictability of consistent outcomes (i.e., the value we’re trying to achieve) decreases.
For example, if many different users adjust the configuration without consideration of potential impact the changes have at a wider organisational level (i.e., no alignment), then, in our experience, we see a greater likelihood of a proliferation of
- Terminology or taxonomy
- Ways of doing things or statuses
- Competing data points
We neither have good information about the system nor about the work itself. An undesirable tendency which fosters a loss of focus on any existing structures, that could have been predesigned.
We have also witnessed how these trends lead to anti-patterns such as:
- ‘Hand-cranked’ metrics
- Status reports based on second-hand interpretation
- A reluctance by teams to engage with a task management tool that has no clear benefit to them or their work
- A lack of clarity within the tasks
Here we see that we’ve started encountering a headwind within Jira.
All this added friction has further knock-on effects and can contribute to:
- Reduced clarity
- Confusion about where we are or how we are doing
- Inability to inspect or improve
So, without anybody being at fault, we’ve seen how tools can face their own headwind, which can have a detrimental knock-on effect on the organisation’s ability to work together, solve complex problems and create value.
The system needs some constraints in order to reduce the possibility of certain things happening:
- Mitigate the risk of trending towards chaos
- Prevent the system itself (i.e., Jira) from becoming so muddled that its information cannot be used to make decisions or improve
If constrains are not maintained, it will require more and more effort to return the system to its optimal state.
The goal is to customise the tool to reflect how we want to work together to get stuff done. This assumes we know how to get stuff done. Not everyone knows, and it’s okay to start with a guess, so long as we can inspect and adapt, which means we also need to start with a baseline to measure our progress.
However, if many agents are the power to customize the system, there is a risk of creating too many possible paths and outcomes which take away the benefit of repeatability and predictability.
At the same time, we want to avoid centralisation:
- We don’t want to dictate, top-down, how things should be done
- We don’t want to diminish the chance of finding new innovative ways of doing things (through bottom-up tinkering)
So how can we create some constraints that reflect these needs- and guide us in the right direction?
Recently, Paweł Przedlacki and Neal Taylor worked together to help an organisation improve their instance of Jira.
In a fairly typical case, an organisation had a ‘carte-blanche’ approach to configuring Jira. In other words: any requirement for the customisation of Jira or any new idea was configured for whoever requested it!
The issue here, as we’ve learned above, is that the new configuration requests don’t take into consideration the strategic direction of the organisation, nor do they consider what was in already in place.
Whilst this might sound like an over-the-top approach for something as harmless as Jira configuration, we need to remind ourselves of the core problem we are trying to avoid: that at a certain point (like a tipping point) over-extensive configurations make the whole system almost unusable — a white noise of options — with no clear way to structure their work or gain any benefit from the tool.
So we need a clear direction — or some way to determine — what benefit a new customisation would bring to the whole.
It was, therefore, important for us to create some new constraints to:
- Restrict the paths that configurations can take
- Define a strategy for dealing with any potential new customization needs
- Set up a core configuration from which exceptions can be made only if it is valuable from wider business perspective
It’s worth noting that the concept of constraints is neither revolutionary nor innovative — it might even be blatantly obvious! Our intention here is to relate why we are adding the constraints — to what purpose.
We’ve distilled our experience into some heuristics.
One of the most beneficial constraints - which helps set the direction for system lifecycle - is to define the governance around its customization and future evolution. As unpopular as this word may be, it may help avoid some of the pitfalls of uncontrolled customization, but still allow openness to the needs and ideas coming from the systems environment.
Some of the key heuristics that we have discovered are:
- Create principles for further design decision-making (i.e., maintain consistency with existing configuration, leveraging existing configurations instead of adding new, framework for system expansion)
- Empower the guardians of the system to keep things simple. Reduce and simplify rather than add new “value” on top. This is about being able to say ‘no’
- Monitor and measure the system and its configuration performance resulting from changes and continuous operations
- Use standardised and consistent terminology and taxonomy of information (terminology, naming conventions and definitions)
- Prioritise generic configurations or components that can increase resilience to edge cases and allow reusability across processes
- Maintain consistent and pre-agreed datapoints (what are we measuring!) used for reporting and strategic decision-making, that do not require many transformations before being used in decision making
- Do not over-customise: Maintaining generic approach as long as possible allows ongoing room for improvement and change when they are truly required. When to know when they are needed?
- Keep removing gunk! Reduce the complexity by constantly removing customisations that are little used (this can all be tracked)
- Plan out the customisation roadmap from the most valuable and simple features to more complex ones
- Respond to the organization’s needs in further system evolutions
- Maintain reference documentation for centralized, clear and transparent point of reference for the configuration
There can be several challenges when using Jira Software in an enterprise environment if there is not coherent governance around its customization and maintenance.
Without proper governance, different teams and departments within an enterprise may customize Jira Software in different ways, leading to a lack of standardization and potentially causing confusion and inconsistency. If Jira Software is not properly maintained, the quality of data entered into the system may suffer, leading to inaccurate reporting and decision-making. If Jira is not being used effectively and efficiently, it may not provide the desired benefits and could potentially contribute to organizational headwind and decreased value.
Jira could improve by making the user interface easier to use and the functionality could be better. While we are managing multiple sprints and other elements of the projects, it's very difficult to manage the labels and other aspects.Which of the following framework can be used for scaling business agility in an organization? ›
The Scaled Agile Framework (SAFe) is the most popular framework explicitly designed to provide the operating system for organizations to implement business agility. It is a constantly evolving framework designed and developed by Scaled Agile Inc. and focuses on seven core competencies of the lean enterprise.Why Jira is best for Agile? ›
Jira for agile teams
Boards provide transparency across teamwork and visibility into the status of every work item. Time tracking capabilities and real-time performance reports (burn-up/down charts, sprint reports, velocity charts) enable teams to closely monitor their productivity over time.
Agile working is all about creating a flexible office and productive environment. By creating different working areas within the office, you can ensure your staff have the complete freedom and flexibility to work where they want, when they want.What is the step 5 for implementing Agile? ›
Yet every Agile framework assumes that the software development process unfolds in 5 distinct steps: Envision, Speculate, Explore, Adapt, and Close.What are the 5 principles of Agile methods? ›
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
- Removing Impediments. ...
- Using Metrics with Responsibility. ...
- Teaching the principles of self-management. ...
- Adopting New Practices and tools. ...
- Aligning with leadership, sharing knowledge and experience. ...
- Introduce Acceptance criteria for User Stories and conduct workshops for coding.
Jira helps teams plan, assign, track, report, and manage work and brings teams together for everything from agile software development and customer support to start-ups and enterprises. Software teams build better with Jira Software, the #1 tool for agile teams.What are the three parts in a Jira workflow? ›
A Jira workflow has three basic components: statuses, transitions, and resolutions.What is a key part of implementing agility? ›
Agility needs two things. One is a dynamic capability, the ability to move fast—speed, nimbleness, responsiveness. And agility requires stability, a stable foundation—a platform, if you will—of things that don't change.
- Respect for all team members.
- Optimized and sustainable flow.
- Encourage team innovation.
- Focus on relentless improvement.
To take advantage of opportunities and make the most of competitive challenges, organization's must innovate and adapt quickly. By empowering employees, embracing disruption, and experimenting with how work gets done, these companies will be able to harness the power that organizational agility offers.What are 3 advantages to agile methods? ›
We've mentioned that Agile ensures transparency, better client-vendor communication, faster response to changes on the market and in the project itself - and it all bears a significant impact on the overall client satisfaction, and meeting their business goals.What are 3 benefits of an agile approach? ›
Streamline proofing and reporting for seamless campaigns. Take control of billable hours and increase client satisfaction. Plan Agile projects, track deadlines, and deliver results. Create high-quality assets and get them approved in record time.How do you explain Jira in an interview? ›
- Ability to track project progress from time to time.
- Use cases include project management, bug tracking, feature implementation.
- Easily customizable and extensible.
- Upfront and fair licensing policy.
Agility is defined as a company's ability to adapt to a constantly changing environment quickly and to grow with the change. This ability to adapt to today's volatile and complex market can lead to great competitive advantages if you manage to react to changes in an adequate manner.What are the 4 principles of agile? ›
- Individuals and interactions over processes and tools. ...
- Working software over comprehensive documentation. ...
- Customer collaboration over contract negotiation. ...
- Responding to change over following a plan.
Four values of Agile
individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; and. responding to change over following a plan.
In this talk we'll introduce DevOps and discuss the three C's of DevOps: Character, Collaboration, and Community.What are the 3 C's in an Agile story? ›
This is where the 3 C's of User Story come in handy. These 3 C's are Cards, Conversation, and Confirmation. These are essential components for writing a good User Story. The Card, Conversation, and Confirmation model was introduced by Ron Jefferies in 2001 for Extreme Programming (XP) and is suitable even today.
Agile Principle 1
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” It's always been important to keep your customers satisfied.
- Survival. The first stage in becoming an agile team is survival mode. ...
- Learning. In the learning stage, teams are one step ahead of those in survival mode. ...
- Self-Sufficient Agile Team.
Collaboration, open communication, trust and independence, efficiency, and continuous delivery are the foundation of agile and they can make a lasting positive impact almost anywhere in your organization.What are the key principles of Agile development? ›
- #1 Satisfy Customers Through Early & Continuous Delivery. ...
- #2 Welcome Changing Requirements Even Late in the Project. ...
- #3 Deliver Value Frequently. ...
- #4 Break the Silos of Your Project. ...
- #5 Build Projects Around Motivated Individuals. ...
- #6 The Most Effective Way of Communication is Face-to-face.
Becoming agile means change: changing culture, changing priorities, changing goals. And that can be hard. But with all stakeholders on board, managing actually becomes easier. Expectations evolve, norms get shaken up and in the end—you deliver.How can leadership agility be improved? ›
The critical skills that are required alongside these capabilities are:
- Communicating and interacting with others.
- Managing and successfully introducing change.
- Inspiring others toward a challenging future vision.
- Fostering employee creativity and innovation.
Story points are units of measure for expressing an estimate of the overall effort required to fully implement a product backlog item or any other piece of work. Teams assign story points relative to work complexity, the amount of work, and risk or uncertainty.What is the highest priority in Jira? ›
- Lowest - Trivial problem with little or no impact on progress. Colour: Light grey.
- Low - Minor problem or easily worked around. ...
- Medium - Has the potential to affect progress. ...
- High - Serious problem that could block progress. ...
- Highest - The problem will block progress.
- Task. A task represents work that needs to be done. ...
- Subtask. A subtask is a piece of work that is required to complete a task. ...
- Epic. A big user story that needs to be broken down. ...
- Bug. ...
- Story. ...
- Task. ...
- Subtask. ...
- Shifting The Culture Of The Organisation. ...
- Knowing The Need For More Than One Agile Approach. ...
- Empower The Employees. ...
- Always Inspect & Adapt. ...
- The Continuous Push For Innovation & Learning.
One of the biggest aspects of agility is using big data and analytics to help fuel your decision making. A good example of this would be manufacturing firms dealing with supply chain disruptions.What are some key values of agility? ›
- Innovation. ...
- Transparency. ...
- Creativity. ...
- Diversity. ...
- Clashes with finance. “You don't scope everything out to the -nth degree. ...
- Lack of planning. ...
- Change resistance to agile. ...
- Legacy HR practices. ...
- Taking a waterfall approach to agile rollouts.
Reinforce the basics. Progress toward mastery. Anchor new behaviors in the culture. Apply learnings across the enterprise.What is a key element of team and technical agility competency? ›
The Team and Technical Agility competency describes the critical skills and Lean-Agile principles and practices that high-performing Agile teams and Teams of Agile teams use to create high-quality solutions for their customers.What are the advantages of using Jira tool in the project? ›
Jira enables teams to plan, track projects, release software, generate reports, and automate processes using a single platform. Hundreds of thousands of organizations worldwide use Jira for developing software and tracking issues.What are two advantages of using an agile project management tool? ›
- You can deploy software quicker, so your customer can get value sooner rather than later.
- You waste fewer resources because you always work on up-to-date tasks.
- You can better adapt to change and respond faster.
- Faster turnaround times.
- You can detect and fix issues and defects faster.
Jira helps teams plan, assign, track, report, and manage work and brings teams together for everything from agile software development and customer support to start-ups and enterprises. Software teams build better with Jira Software, the #1 tool for agile teams.Is Jira the best agile tool? ›
In particular, Jira is an excellent tool for medium to large Agile teams, but it may be overwhelming for small teams that can easily track their tasks with a kanban board and calendar alone.How do you explain Jira in interview? ›
- Ability to track project progress from time to time.
- Use cases include project management, bug tracking, feature implementation.
- Easily customizable and extensible.
- Upfront and fair licensing policy.
Agile Coach. Traditional project management is built upon the basis of the triple constraints of time, cost and scope. Adjusting any of those variables forces a change in at least one of the others. Delivering a successful project is dependent on balancing these three competing variables.What is the most important in Agile projects? ›
According to the Agile Manifesto, the more important values are individuals and interactions, working software, customer collaboration, and responding to change. Agile organizations use processes and tools, appropriate documentation, contracts, and plans to support the more important values.What is the most important tool for Agile development? ›
- Active Collab. ...
- JIRA Agile. ...
- Agile Bench. ...
- Pivotal Tracker. ...
- Telerik TeamPulse. ...
- VersionOne. ...
- Planbox. ...
- Adaptability. Project paths rarely line up in a linear way; they're incremental. ...
- Efficiency. ...
- Collaboration. ...
- Disruption. ...
- # 1 Manage Atlassian Jira user groups and project roles. ...
- #2 Build and configure Jira workflows. ...
- #3 Configure boards for multiple audiences. ...
- #4 Configure Dashboards for the key stakeholders. ...
- #5 Configure issue fields. ...
- #6 Reporting.
- Statuses: where. ...
- Transitions: how. ...
- Assignees: who. ...
- Resolutions: why. ...
- Gather all of your stakeholders. ...
- Keep the workflow simple: less is more.
The word JIRA is derived from the Japanese word 'Gojira', meaning Godzilla. The software is based on agile methodology. If you're wondering what is jira used for, the answer is multiple purposes – bug tracking, issue tracking, and project management.