Managing the array of activities across software delivery projects includes an additional set of challenges: poor collaboration, development inefficiency, poor code quality, defect mismanagement, and lackluster customer service, amongst many others.
To overcome these challenges, Atlassian offers a variety of tools that allow millions of teams across the world, work smarter and faster – together. From helping to plan and track software development lifecycles to collaborating on code, managing Git repositories, organizing tasks, and releasing world-class software – Atlassian tools bring a lot of value to the table.
However, merely investing in these tools is not enough. You need to ensure that these tools are appropriately implemented to suit the unique needs and cross-functional handshakes of your organization.
The drawbacks of improper implementation
Implementing Atlassian tools across your organization can provide many benefits. Using these tools allows you to connect your business and IT teams, harness the power of modern technology, drive continuous integration, and give your customers a seamless customer service experience.
At the same time, improper implementation of the tools can be disastrous for your organization. Some of the adverse effects of improper implementation include:
• Not getting the most out of these tools, leading to end-user complaints, management not getting the reports they want, people working on unimportant things, and more.
• Higher costs as teams are forced to invest time and money on rework and trying to turn failed implementations around.
• Tons and tons of organizational waste as teams will be waiting for inputs from each other, without really adding any value in the process.
• Inadequate and incorrect utilization of the strengths of the internal team that could result in team frustration.
Capabilities required for a successful rollout of the Atlassian ecosystem
Given the downsides of improper implementation, you must have what it takes to ensure success. That means you need to have sufficient knowledge of the software development processes and landscape, migration and upgrade processes, Atlassian tools, add-ons and plugins, and more.
Based on our experience with the tools and by helping numerous companies with their Atlassian implementations, here are the capabilities that we have found to be required for a successful rollout of the Atlassian ecosystem:
Cross-Functional Domain Knowledge (ALM, DevOps, or ITSM)
• Organizations need to develop Operational or DevOps Excellence teams along with PMOs and Quality Assurance resources to bring in the required cross-functional domain knowledge.
• These teams are crucial because they are the ones who align situational business objectives with operational processes and systems.
• They perform the organization’s value stream mapping, analyze bottlenecks/constraints, and define operational metrics & reporting systems around the objectives.
• They set the overall goals, team charter, and steer the execution towards business-level KPIs.
System Architecture Knowledge and Experience of Atlassian Stack
• Implementing Atlassian tools might seem like a great value add for your organization. However, the Atlassian ecosystem offers 10+ products and 4000+ plugins in the area of Software Engineering, Customer Support, IT Ops, and Business functions. Having the right mix of ALM, CI/CD, and DevOps domain knowledge and Atlassian tools are crucial to design a solution for your business needs. If you have a hybrid setup of Atlassian and non-Atlassian tools for your ALM and DevOps needs, that adds to the complexity.
• Atlassian provides three deployment options for its products – Server, Cloud, and Datacenter. Choosing the right deployment option requires both business insight and experience in technology evolution.
• In organizations with weaker or busy middle management, it may be difficult or complicated for the tools team to bring all cross-functional teams on the same platform and provide their requirements for Atlassian implementations. In such situations, these teams must have sufficient system architecture & change management knowledge to be able to design the solution architecture.
Atlassian Installations & Setup
• Any tool implementation has to be done with the utmost precision and usually begins with a detailed study of the existing environment, requisites, and requirements. Installing an array of Atlassian tools requires you to have sufficient knowledge on system requirements and supported platforms for each of the tools – operating systems, application servers, browsers, databases, hardware, internet protocols, anti-virus, etc.
• Also, you need to choose an installation method that is best suited for your organization and your particular development environment.
• Different teams follow different processes, rigor, and handshakes. Implementing these processes requires an in-depth experience of System configurations, Security permissions, Integrations, Workflow configurations, and automation, etc.
Migration and Data Merges
• When you adopt a new Atlassian tool, in most probability, you will be migrating from some legacy tool to Atlassian or one type of Atlassian deployment to another. Implementing Atlassian tools requires a deep understanding of instance migration (For example, Server to Cloud or Server to Data Center), so you can ensure that you make the most of the capabilities and get maximum return on your investment.
• We have seen a lot of cases where different teams within the same organization are using different instances of JIRA or Confluence. Businesses decide to merge these instances as a part of standardization effort for improved cross-functional collaboration and visibility. Merging instances involves a different level of complexity and diligence as the configurations of both systems must be unified before we migrate projects from the source and combine them into the destination instance.
• Additionally, you must know how and when to migrate data from your existing legacy tools onto Atlassian tools – in a way that causes the least interruption and data loss. You could be migrating from an opensource tool or another enterprise tool or simply spreadsheet-based system to Atlassian. During the migration, it is crucial to ensure that the relationships (traceability) between various data elements are retained. For example, Test case relation with Test Result, Story relation to its Sprint or Requirement Specification relation to Development story, etc.
• In all of the above cases, special considerations are required when migrating data associated with a plugin. This may require extensive collaboration with and validation from the plugin vendor.
Custom Plugin Development, Integrations, Automation
• Atlassian marketplace offers the third party add-ons for your various integrations, automation, and functionality needs. For example, there are plugins available for integration with different Version control systems, Continuous integration tools, Test Management tools, etc. Also, there are apps for a variety of extended feature sets like Timesheet management, Portfolio and Program Management, Product Management, Advanced Data Warehouse reporting, etc. However, you need experience on how to address some of the use cases from your business users, which are not available on off the shelve from base products.
• If the feature you are looking for is not available on the marketplace, Atlassian offers extensive APIs so that you can do custom development to develop the required functionality or integration on top of your implementation. Custom development is an important capability that requires developers with J2EE / JQuery / NodeJS capabilities.
• To overcome the challenges of manual tasks, you also need to be well-versed with the various automation rules to automate actions based on specific triggers and conditions. For example, you can set an automation rule that alerts an agent when a high-priority issue is created or reopen an issue if you receive a customer comment after it has been resolved.
Given the fact that Atlassian regularly updates tool capabilities to keep up with the times, it is natural for teams to experience complexity due to various considerations such as customizations/configurations, plugins support, and custom plugins. Standard and minor upgrades are straightforward while major upgrades need special teams because it involves a lot of considerations like migration paths, system compatibilities, Integration supports, Plugin compatibility, and custom development compatibility with the new version.
Maintenance and Support
Lastly, maintaining and supporting Atlassian tools is essential to ensure the desired availability and performance. If you are a large enterprise with distributed teams, you may want to consider to build capability to support your Atlassian instances 24×7. For this, you need to continually drive efforts towards infrastructure support as well as focus on aspects such as:
• Workflow improvements
• Integrations, automation
• Dashboards, reporting
• Monitoring process adherence, escalations
• Changes to the working boards – Kanban, Scrum, etc.
• Security, permissions, etc.
We have seen that some organizations rely on internal teams to do the end-to-end implementation while some choose to let experts do all Atlassian-related work while some others aspire to do a bit of both?
It takes experience, effort, time, and investments to build capabilities in-house. In most cases, it would be worthwhile to leverage the knowledge and expertise of experts to get the most out of your Atlassian tool investment.
In my upcoming blog, I plan to share some practical tips and suggestions for SMBs and large enterprises regarding strategies to adopt while deciding which capabilities to build in-house and which should be outsourced to the experts. Stay tuned!
Want to know more?