Challenges and capabilities: an introduction to CloudBees Engineering Efficiency

Data analytics

Engineering managers often need to understand, monitor, and report on where their teams are spending efforts. Does this effort match with set priorities and expectations? Where are the slowdowns in the workflow or unexpected difficulties?

Using CloudBees Engineering Efficiency, you can pinpoint this information using metrics and analytics gleaned from your team’s tools, like Jira, GitHub, and Jenkins.

CloudBees Engineering Efficiency collects and visualizes activity happening across your development systems to give you the visibility to focus on quickly and predictably delivering value to your customers and the business. Connecting tools and teams provides metrics and insights on development time toward planned initiatives, analytics on delivery throughput, and software quality thresholds. It also pinpoints bottlenecks impacting development costs.

Improve software delivery speed and predictability with CloudBees Engineering Efficiency

Challenges

Engineering managers face many challenges, including:

  • Complex and independently executing product organizations.

  • An organization has dozens of teams and hundreds of resources that work together in often unclear ways towards the delivery of software solutions and improvements.

  • Multiple development services used by the organization pump out huge amounts of data that is impossible to understand if you don’t know how it is related.

  • Teams are getting lots of stuff done, but it is often difficult to understand how that stuff relates to actual business value. It is especially difficult to understand this on a continuous basis.

  • Tracking teams and delivery efficiency with actual metrics is a key goal in modern software delivery, but it is incredibly difficult to get all the data flowing in your development organization into a useful shape for establishing your baseline metrics and tracking your improvements.

Tackling the challenges

With so many challenges, where do you locate issues and then tackle them? How can you capture a view of subsets of all of this information so you can understand how this disparate data relates to a specific work effort that you are interested in?

Handling these issues is an iterative process that follows the phases outlined below. This module can help you organize your work into a set of products and then associate that product’s relevant data.

The numbered steps in the diagram correspond to the challenges and actions below.

Table 1. Challenges and actions for engineering managers
NumberChallengeAction

1

How do you deal with too much data flowing in ways that are difficult to capture or use?

Get a baseline of all of the data. Organize and structure data using products and associating data with the product

2

Is the team working efficiently?

Evaluate team efficiency using data. Review metrics and analytics that show where blockers, long process, or build times are. Suggest new work efforts to streamline.

3

What isn’t working right?

Determine what is and is not working. Understand and prioritize areas that are not working effectively

4

What can be done to improve?

Decide area for improvement. Establish improvement goals and hypotheses about what can be changed about the way the team is executing to improve them.

5

Are new suggestions working?

Re-evaluate data for team efficiency. Measure if those improvements are having the expected impact by comparing activity over time in key investment areas.

Capabilities

Using integrated data sources, engineering managers can access analytics to gain insights into their teams' performance. Managers can assess if engineering teams are executing against the right things and determine how to increase speed and predictability of execution against roadmap items.

Table 2. Capabilities
Areas of concernQuestion to answerWhy this is importantInsights

Are you focusing your efforts on the right things?

  • Track and measure engineering time spent on new feature development, support, QA, and maintenance.

  • Use this insight to balance resources between delivering fast enough on the important initiatives and addressing technical debt, or dealing with interruptions.

Analyze where the team is investing their efforts over time. Each bar represents 100% of effort for a given time frame or interval broken out by issue type or work category.

Is your execution effective and supporting key priorities?

  • Determine what projects or epics have progressed forward and where other work is slowing down or blocking prioritized development work and jeopardizing delivery timelines.

  • Have the visibility to proactively remove barriers and distractions so your teams can focus on delivering as planned.

Analyze the throughput of product work by features and initiatives.

Are you delivering the things are focused on as fast as possible?

  • Discover areas in the software delivery process that are not working well and are reducing velocity.

  • Identify process improvements, giving you confidence in your team’s development agility in order to deliver quickly, frequently, and predictably.

Analyze cycle time and break it down by major phases of the SDLC to identify opportunities for improvement.

How can you optimize our build, test, and deployment automation to support fast cycle times?

  • Keep track of the delivery automations that are more important to your team.

  • Determine which jobs run most frequently, which jobs fail the most, and which job take the longest to recover.

Assess performance of CI/CD automation and identify CI/CD jobs that present the biggest opportunity for improvement to speed up time to market and improve cycle time.

Where are pull requests sitting open too long, delaying work?

  • Manage pull request hygiene and review times to improve the review processes to decrease the time to merge code changes.

Use this screen to help understand which pull requests are open and how to close them faster, improving your cycle time.