Rate this page:
Compass is a developer portal that provides a unified real-time representation of the engineering output in one place.
Compass helps you track the things your engineering teams build — we call these components. It naturally compliments Jira, which tracks the effort of your engineering teams in building those components.
Register for our office hours to learn how to set up your developer experience platform, directly from the Atlassian team.
Visit our registration page to sign up to talk to the team.
Compass has three main aspects that help you manage the output of your engineering teams:
Component catalog – a collection of all your organization’s software components that brings dispersed information and teams together all in one place. Navigate your software architecture, track your components and the relationships between them, the teams that own them, and the tools and practices that power those components – not only to keep them running but also to improve them.
Apps and integrations – a platform to build custom apps and integrations with a forthcoming focus on component discovery and data ingestion from external tools to provide insights into the status and health of components.
Teams and culture – strong guidance inside Compass to help you cultivate behaviors that improve your organization’s development and operations practices.
Compass adds value at different levels of your organization, from developers to engineering managers running multiple teams.
Compass is for you if you are in one of the following roles:
Compass is for modern engineering organizations that have identified the difficulties of development sprawl and see opportunities to address operational health holistically. Learn more about what is development sprawl and how you can manage a sprawl with Compass.
A distributed software architecture, or a microservice architecture, is a set of loosely coupled, coordinated services running independently of each other, often across multiple sources of computing, in multiple regions. Each service performs a separate task and orchestrates into a larger set of outcomes.
A distributed software architecture provides several benefits to modern software organizations:
A distributed software architecture has some challenges:
An example of a distributed architecture is an e-commerce website, which has many capabilities such as user management, catalog and inventory, shopping cart, checkout and billing, payment, shipping, and delivery management. You can realize each business capability by a separate service or group of services that are owned and developed by specialist, domain-expert teams. Collectively, these services form the distributed architecture of the e-commerce website.
Modern software organizations that are using a distributed architecture often experience software development sprawl.
Software development sprawl is the ever-growing mass of output that a modern, distributed software architecture generates.
An increasing number of software teams are using distributed software architecture. A plethora of built-for-purpose tools and frameworks encourage developers to build new services, rather than expand on the existing ones. Advanced CI/CD capabilities enable software teams to deliver less error-prone changes in a much faster and automated way. As a result, there is a sheer amount of growth in the engineering output, such as services, APIs, libraries, and other artifacts, which we call components. There are also artifacts such as repositories and documentation which are linked to these components.
With an unmanaged growth of their output, software teams experience difficulty in maintaining complete and timely information about their software architecture. They must have a holistic approach to software and service development, which understands the entirety of the process and tools involved.
Software developers often have the following questions:
In addition, engineering managers and leaders have the following questions:
The inevitable complexity of so many moving parts becomes overwhelming to software engineering organizations of all sizes. The complexity of software development sprawl, if left unmanaged, can result in a lower velocity of value delivery and poor operational performance, affecting not just your teams, but also your customers.
The increasing use of distributed architecture leads many modern software organizations to experience development sprawl. If left unmanaged, sprawl leaves you with disconnected information about your engineering output, which we call components, and the teams who maintain those components.
Compass brings disconnected information about components and teams all in one place and helps you manage development sprawl.
Here’s how to get started with managing your sprawl with Compass:
Rate this page: