What is the SPACE framework?
The SPACE framework is a model designed to measure and understand the productivity of software engineering teams. It stands for Satisfaction and Wellbeing, Performance, Activity, Communication and Collaboration, and Efficiency and Flow. By integrating various dimensions of productivity, the SPACE framework provides a holistic view that encompasses both quantitative and qualitative data.
The SPACE framework focuses on the deep relationship between satisfaction, well-being, and productivity. It helps you design metrics for the reality of individuals working in teams. You can apply the template to a focused area you want to improve or the whole organization.
If you use a measurement system that prioritizes individual productivity, it discourages people from helping others. Equally, if someone becomes subverted entirely to the team’s needs, they can no longer complete their own work. The SPACE framework provides a balanced measure of both aspects in your organization.
This is part of a series of articles about Developer Experience.
Understanding the SPACE metrics
The SPACE framework includes 5 categories of metrics:
- Satisfaction and wellbeing
- Performance
- Activity
- Communication and collaboration
- Efficiency and flow
You should use a mix of measures for each of the 5 categories, including instrumented and perceptual measurements. Perceptual data is the only way to determine how people feel, which is a crucial driver of productivity.
We explain the categories below with some ideas for data you could capture. The goal isn’t to put all these metrics in place but to choose measurements based on your circumstances.
1. Satisfaction and wellbeing
Satisfaction captures how fulfilled people feel with their work, team, tools, and culture. Wellbeing captures how healthy and happy they are.
This dimension often predicts future performance. People rate their satisfaction and wellbeing lower before their productivity falls.
System data:
- Retention - how many people stay on a team and with the organization
Survey questions:
- How satisfied are you with other employees?
- Would you recommend your team to other people?
- Do you have the tools you need to get your job done?
- How would you rate your energy and enthusiasm for work?
- How satisfied are you with the software delivery system?
2. Performance
The performance dimension captures the outcome of a system or process.
System data:
- Quality - how many defects you have and the ongoing system health and reliability
- Impact - feature usage, cost reduction, and business won and kept
Survey questions:
- Customer satisfaction with a feature, the product, and your organization
3. Activity
Activity metrics track the work done, like how many bugs you’ve fixed.
Never use activity metrics in isolation. Increased activity does not necessarily mean improved outcomes.
System data:
- Number of work items, commits, pull requests, builds, and deployments
- Number of incidents and issues and their severity
4. Communication and collaboration
Team communication and collaboration often come at a cost to individual productivity. Yet, collaboration drives higher team performance.
System data:
- Speed of integration (for example, if the team uses pull requests, how long does it take to review and merge them)
- Presence and quality of documentation
- Onboarding speed (how long before a new developer has code in production)
Survey questions:
- How would you rate the quality of team meetings?
5. Efficiency and flow
Individuals need solid focus time to get into a flow state and stay productive. This dimension refers to the flow of work and information.
System data:
- Number of hand-offs in a process
- Whole value-stream cycle time
- Amount of value-adding time in the value stream
- Amount of wait time in the value stream
Survey questions:
- Can you regularly get uninterrupted flow time?
- How often are you interrupted?
- How much time do you spend on interruptions?
SPACE framework versus DORA metrics: What are the differences?
The SPACE framework and DORA metrics both provide a way to measure software development, but they differ in scope, focus areas, and the type of metrics they use. You can think of the DORA metrics as an example of the SPACE framework in action.
Scope and focus
The SPACE framework provides a holistic view of productivity by considering both technical and human aspects. It emphasizes not only output and efficiency but also factors such as satisfaction, wellbeing, and collaboration, offering a comprehensive understanding of team dynamics and performance.
DORA metrics are more narrowly focused on software delivery performance and how to improve it using DevOps practices. The DORA metrics are designed to encourage working in small batches and automating toil.
Dimensions and metrics
SPACE framework categories:
- Satisfaction and Wellbeing
- Performance
- Activity
- Communication and Collaboration
- Efficiency and Flow
DORA metrics:
- Deployment frequency
- Lead time for changes
- Change failure rate
- Time to restore service
Approach to measurement
The SPACE framework uses a combination of instrumented data (e.g., system logs, deployment stats) and perceptual data (e.g., surveys, self-reports). This blend ensures a balanced view that includes subjective experiences and objective outcomes.
DORA metrics use quantitative data from the software delivery pipeline. This data-centric approach focuses on measurable, observable outcomes related to software delivery performance.
Application and Use Cases
The SPACE framework is ideal for organizations seeking to improve overall team health and productivity, encompassing a wide range of factors from technical performance to employee wellbeing. It’s suitable for continuous improvement efforts across diverse teams and roles within an organization.
DORA metrics are best suited for organizations focused on optimizing their DevOps practices and improving software delivery capabilities. It provides clear, actionable metrics for teams dedicated to enhancing their deployment processes and reducing downtime.
Applicability and completeness
The SPACE framework can be applied to a broad set of measurement situations. You could use it to design a set of metrics for your whole software value stream, or to focus on a specific area you want to improve. You’ll need to design the measurements and watch out for unintended consequences.
DORA metrics apply to software delivery performance and are designed to be good measures of your ability to deliver software well. They are also leading indicators of organizational performance, which may not be true of measurement systems you design for yourself.
Getting Started with SPACE metrics
Evaluate your current tools and processes
Begin by assessing your existing tools and processes. Identify which tools are currently being used to track metrics and gather data. Evaluate their effectiveness in capturing the necessary data for the SPACE metrics. This assessment will help in determining the gaps and areas for improvement.
Consider conducting an audit of:
- Tools used for tracking code commits, deployments, and incidents
- Communication platforms and collaboration tools
- Survey tools for capturing employee satisfaction and wellbeing
Understanding your current setup will provide a baseline and help in planning the integration of new tools or the enhancement of existing ones.
Select at least 3 SPACE categories for your organization
The SPACE framework doesn’t need every metric measured all the time. You should select a mix of instrumented and perceptual measures across at least 3 categories. Over time, you can adjust by adding and removing metrics to nudge behavior and communicate what the organization values. You can use the metric selection principles to reduce unintended side effects.
Here are a few important considerations:
- Keep individual data private and only share aggregated values at the team and organization levels. Don’t ask survey questions that compromise anonymity, as it limits how honestly people can answer. Even asking for a job title or department can discourage openness, especially for people in unusual roles or small teams.
- Watch for external forces that might influence your data. Activity metrics often drop when a team or organization invests in the future. Attending training and conferences or when people take holidays, for example.
- Pay attention to bias in your system, which you should attempt to uncover in the data. Look out for skewed code reviews or longer waits for pull requests for specific team members, as these signal biases you need to tackle. You can use survey responses to check for this, too.
- Consider personality differences, as they can impact survey responses. Asking people to compare their feelings to a previous period can help reduce individual measurement bias. For example, here are 2 ways to ask for the same information. The second question asks the individual to compare to their previous experience: (a) How many interruptions do you get? Not many, a few, or a lot? (b) Compared to last week, how many interruptions did you get? Fewer, about the same, or more?
- Don’t discourage vital but invisible work. Focusing too much on individual productivity or instrumented data will discourage teamwork, like teaching others how to make changes in a complex system. If you set individual focus on personal productivity, like the number of commits, essential teamwork won’t happen.
The SPACE framework balances the natural tension between individual, team, and organization performance. Other productivity measurements that hide these tensions result in sub-optimal performance.
Ensure the metrics represent individual, team, and system concerns
It’s important to use the SPACE metrics to measure the productivity of individuals, teams, and development systems. The table below shows the SPACE framework matrix, with an example metric in each category. The metrics you choose can differ, and it’s important to test the broader questions you want to answer about your system.
SPACE | Individual | Team | System |
---|---|---|---|
Satisfaction and wellbeing | Developer satisfaction | Retention | Satisfaction with deployment pipeline |
Performance | Code review velocity | Code review velocity | Customer satisfaction |
Activity | Time spent coding (vs other activity) | Features completed | Deployment frequency |
Communication and collaboration | Quality of meetings | Discoverability of information | Quality of documentation |
Efficiency and flow | Amount of flow time | Number of handoffs | Flow of work through the system |
Remember, you only need a mix of instrumented and perceptual data across 3 or more dimensions. You don’t have to fill in the whole matrix!
Obtain data from relevant tools
Choose the tools that will best help capture the required data across the SPACE categories. Ensure that these tools can integrate seamlessly with your current workflow to minimize disruption.
Some of the tools commonly used to collect quantitative metrics include:
- For performance and activity metrics: Jira, GitHub, GitLab
- For communication and collaboration metrics: Slack, Microsoft Teams, Confluence
- For satisfaction and wellbeing metrics: Officevibe, TINYpulse, custom survey tools
- For efficiency and flow metrics: Trello, Asana, Kanban boards
Implement measurement and reporting systems
Set up systems to regularly capture and report on the defined metrics. Ensure that data is collected consistently and accurately to provide reliable insights.
Steps to implement measurement systems:
- Automate data collection: Use scripts and integrations to automate the collection of system data.
- Regular surveys: Schedule periodic surveys to gather perceptual data from team members.
- Dashboards and reports: Create dashboards using tools like Power BI, Tableau, or custom solutions to visualize metrics. Ensure reports are easily accessible to relevant stakeholders.
Establish a regular reporting cadence, such as weekly or monthly reviews, to keep track of progress and identify trends.
Foster a culture of continuous improvement
Encourage a culture where continuous improvement is a core value. Use the insights gained from SPACE metrics to start conversations and drive actions for improvement.
Actions to foster continuous improvement:
- Regular retrospectives: Hold regular retrospective meetings to discuss what is working well and what needs improvement.
- Feedback loops: Create feedback loops where team members can suggest improvements and discuss challenges openly.
- Training and development: Provide training and development opportunities to help team members improve their skills and productivity.
By fostering a culture of continuous improvement, teams will be more engaged and motivated to enhance their productivity and wellbeing, leading to sustained organizational success.
Related content: Read our guide to Platform Engineering
How Octopus Deploy can help improve SPACE metrics in your organization
Octopus Deploy’s Insights feature is based on the DORA metrics and also includes deployment duration statistics. The insights inform your improvement process and let you know when something might need attention. There are trend indicators that highlight changes that might be useful starting points.
You can read more about deployment insights or try it out for yourself with a free trial.
Help us continuously improve
Please let us know if you have any feedback about this page.