Background
Iterable’s engineering operations team’s goal is to provide services to make engineering more productive and efficient and do this through measuring established KPIs and creating human feedback to ensure engineers are successful. Iterable has processes in place to ensure that operations are effective. Their cycle flows through four stages:
- Identify the business impact issue
- Hypothesize on it
- Launch initiatives
- Review data
Iterable found Jellyfish after facing high-level alignment and delivery problems within their organization. The Iterable teams were looking for a platform that allowed them to accurately track and allocate R&D costs in real-time, making it easier for their teams to collaborate and ensure accurate financial reporting.
“We identified the problems that hurt alignment and visibility and Jellyfish fit in that gap to solve that problem. We provided that information to leadership to get them bought into the tool,” Jeff Sing, Director of Engineering at Iterable, shared.
Optimize engineering operations across all levels with Jellyfish
Iterable organizes engineering challenges solved by Jellyfish into three levels: Directors+, Managers, and Engineers. Each group has very different efficiency requirements and challenges. Broadly speaking, this is the breakdown:
- Directors+ care about Team Health and OKR alignment
- Managers care about Visibility into escalations and processes help teams do their jobs
- Engineers care about enablement, visibility, and burnout
Iterable has configured their Jellyfish environment to coincide with these challenges and provide solutions within each of the below categories.
1. High-level alignment & delivery
Iterable wants to understand if engineers are working on the right things and be able to easily identify if something is trending in an unhealthy way.
Jeff Sing Director of Engineering, IterableOne of the things I love about Jellyfish is this concept of high-level alignment. It tells you right away where your resources are deployed into broader categories,” Jeff shared. “Utilizing Jellyfish allows us to immediately ‘debug’ things. We can tell if the cost of something is too high.
With this goal in mind, Iterable uses Jellyfish to solve for alignment problems by identifying possible issues and helping to course correct. “One of the things I love about Jellyfish is this concept of high-level alignment. It tells you right away where your resources are deployed into broader categories,” Jeff shared. “Utilizing Jellyfish allows us to immediately ‘debug’ things. We can tell if the cost of something is too high.”
Iterable is able to see the cost of incidents and overrunning initiatives so they can provide better enablement for less popular categories. Iterable can easily reallocate resources, prioritize action items and assign leaders to tackle issues.
During bi-weekly ops reviews the Iterable team looks at Allocations adjustments to determine where progress is being made and if not, why. The purpose of these status meetings are to ensure leaders are aligned with what teams are doing. Iterable also uses Jellyfish during their quarterly engineering reviews to look at high level alignments and set expectations.
Jellyfish also helps Iterable evaluate what risk really means and quantify the impact of change. Within Jellyfish each high level initiative has an Epic, with relative tasks. This granularity allows Iterable to investigate divergent views. “That’s one of the greatest powers of Jellyfish. You can click on the Initiative, Team, Epic and see data at each level,” Jeff shared.
Iterable can double click on projects to find the source of truth and calculate tradeoffs for resources. They can see how much has been done, if scope should be cut, and what improvements will be seen once changes are made.
2. Team level delivery management
At the team level of delivery management, it’s important for Iterable to identify Software Development Life Cycle (SDLC) inefficiencies, understand why estimates are off and set realistic delivery dates.
Jellyfish data provides great validation for Jeff’s team to confirm if estimates are correct.
If something is missed, they can easily double click into that and determine what is causing it. Iterable is also able to see Epics that weren’t started and why. They’re able to drive improvements through that analysis.
Jeff Sing Director of Engineering, IterableWhat’s valuable is that with a tool like Jellyfish you can actually see trends, click that link, and get to the bottom of things that were once just a gut feeling.
3. Engineer efficiency & effectiveness problems
Jellyfish provides the enablement to help Jeff do his job. The Iterable team can easily debug engineers efficiency and effectiveness problems by looking at activity metrics in Jellyfish:
- PRs Merged – if it drops, that gives an indication that there’s a blocker
- Days with Commits – if that’s lower or higher than average, they know to dig in
- PR Cycle Time – indicates how quickly software can be delivered to the customer. Lower Cycle Time typically means higher stability
The Iterable engineering leadership team looks at trends using Jellyfish data weekly to call out what’s working and identify candidates who might need better coaching.
Importance of prioritization
Prioritizing work can be a difficult task but has been crucial for Iterable to improve their engineering operations. “Alignment only works if you know what is important,” Jeff shared. “What is the most important goal you want to achieve to make your organization more efficient? How do you translate that into the data to show that you’re truly in a more optimal state? Once that happens, how do you action on it?”
The Iterable team is realistic about how to fix things and doesn’t jump to conclusions. “You need to identify where the problem is and think about where they should go to fix it,” Jeff said.
Capitalizing software R&D costs
Jeff Sing Director of Engineering, IterableIterable reduced the time spent on software capitalization worksheets by 98%, cutting nearly 24 hours out of the process each month.
Software Capitalization is when finance reports some amount of engineering work as a capital asset that amortizes over time, instead of being incurred as an operating expense in a single fiscal reporting period. Generally, capitalizing software development helps improve the financial profile of a company. It’s an invaluable accounting practice and perfectly legal. Smaller SaaS companies such as Iterable need to capitalize software R&D costs in a prompt and accurate manner. However, it can be challenging to track and allocate R&D costs accurately. There are several factors that contribute to this difficulty: the complex nature of engineering works makes it difficult to measure, the time sensitive nature of the process, and the need for cross-team collaboration.
Among the list of requirements they had, Jellyfish provides the following to Iterable:
- The ability to track project costs: Jellyfish allows Iterable to track all expenses related to their R&D project, including salaries, equipment, and materials. By doing so, they can determine the total cost of the project.
- Cost allocation: Jellyfish can allocate costs to specific projects, phases, or tasks. This enables Iterable to track the costs associated with each individual R&D project, by person, by epic etc which is important for capitalization purposes.
- Implement customized capitalization rules: Jellyfish helped Iterable apply capitalization rules to their R&D project costs. For example, by using Jellyfish, they can connect their customized Jira field to Jellyfish, giving engineers different allowance percentages by level.
- Automatic report generation: Jellyfish provides various reporting features that allow Iterable to generate reports on project costs and capitalization. This can help to ensure compliance with accounting standards and provide stakeholders with accurate information about the financial position of the company.
- Integration with other tools: Jellyfish can integrate with other tools such as Jira and Git, which can provide additional data on project costs and progress. This helps Iterable to make more informed decisions about capitalization and improve their R&D project management overall.
The partnership that Iterable and Jellyfish have formed to help streamline their software capitalization process has netted many benefits to Iterable’s engineering organization:
- Time savings: Automating R&D project cost tracking through Git and Jira has saved significant amounts of time compared to manual tracking, freeing up people’s hands to focus on other tasks.
- Improved accuracy: Automating the process reduced the risk of human error for more reliable data.
- Increased productivity: Automating the process of capitalizing R&D project costs allows teams to focus on innovation and creativity, leading to increased productivity.
What’s Next for Iterable
Iterable plans to expand their Jellyfish use case by enabling Individual Contributors to work on projects they really care about. “We also want to further utilize Jellyfish metrics and convert what we’re seeing into actions,” Jeff shared.
If you’re interested in learning more about Iterable’s story you can check out their session from GLOW 2023 here.