Your Software Development Lifecycle Data Template

Jira Software
Your Software Development Lifecycle Data Template

Your Software Development Lifecycle Data Template

This template provides a clear roadmap for collecting the essential data required to analyze your Software Development Lifecycle. It outlines the core data fields to gather, the critical process steps to track, and practical guidance on extracting this information from Jira Software. Use this guide to prepare your event log for effective process mining.
  • Recommended attributes to collect
  • Key activities to track
  • Extraction guidance for Jira Software
New to event logs? Learn how to create a process mining event log.

Software Development Lifecycle Attributes

These are the recommended data fields to include in your event log for comprehensive Software Development Lifecycle analysis.
5 Required 6 Recommended 11 Optional
Name Description
Activity
Activity
The name of a specific event or status change that occurred in the development lifecycle of an item.
Description

This attribute represents a distinct step or milestone in the software development process. These activities are derived from changes in the Jira issue's status field or other significant events like code commits or reviews.

In process mining, the sequence of these activities forms the process map. Analyzing activities helps identify the process flow, measure the duration of specific stages, and detect deviations from the standard workflow, such as rework loops or skipped quality gates.

Why it matters

Activities define the steps of the process, and their sequence is essential for visualizing the process flow, identifying bottlenecks, and analyzing process variations.

Where to get

Typically derived from the 'status' field transitions in the Jira issue history or changelog. It can also be enriched with data from connected development tools.

Examples
Development StartedCode Review PerformedQA Testing CompletedDeployed To Production
Development Item
DevelopmentItem
The unique identifier for a single unit of work, such as a story, bug, or task, within Jira Software.
Description

The Development Item serves as the primary case identifier, representing a distinct unit of work like a feature, bug fix, or task. It links all activities from initial conception and planning through development, testing, and deployment for that specific item. In Jira, this typically corresponds to the issue key, for example, 'PROJ-123'.

Analyzing this attribute allows tracing the full end-to-end lifecycle of each work item. It is the foundation for constructing process maps, calculating cycle times, and identifying variations in how different items flow through the development process.

Why it matters

This is the essential key for linking all related development activities together, making it possible to trace the journey of a single work item from start to finish.

Where to get

This is the standard 'key' field for an issue in the Jira Software Issue API object.

Examples
PROJ-101CORE-5432API-789
Event Time
EventTime
The exact date and time when a specific development activity or event occurred.
Description

Event Time is the timestamp that records when an activity took place. This is the temporal foundation for all process mining analysis, providing the chronological order of events for each case.

This attribute is critical for calculating all time-based metrics, including cycle times, processing times, and waiting times between activities. It enables the analysis of process performance over time, helping to identify when and where delays occur in the development lifecycle.

Why it matters

This timestamp is fundamental for sequencing events correctly and calculating all duration-based metrics, which are key to understanding process efficiency and identifying delays.

Where to get

This corresponds to the 'created' timestamp for each entry in an issue's changelog or history.

Examples
2023-10-26T10:00:00Z2023-11-15T14:35:10Z2024-01-05T09:00:00Z
Last Data Update
LastDataUpdate
The timestamp indicating when the data for this process was last refreshed from the source system.
Description

This attribute records the date and time of the most recent data extraction from Jira Software. It provides context on the freshness of the data being analyzed.

Knowing the last update time is important for understanding the timeliness of the process insights. It helps analysts and business users confirm that they are looking at current data and informs them of the cutoff point for the events included in the analysis.

Why it matters

Indicates the freshness of the data, which is essential for ensuring that analyses and dashboards reflect the most current state of the process.

Where to get

This timestamp is generated and recorded at the end of the data extraction, transformation, and loading (ETL) process.

Examples
2024-03-15T02:00:00Z2024-03-16T02:00:00Z
Source System
SourceSystem
The system from which the development lifecycle data was extracted.
Description

This attribute identifies the origin of the data. For this process, it will consistently be 'Jira Software', but it is useful for distinguishing data if multiple source systems are combined in a larger analysis.

In a broader IT landscape, specifying the source system ensures data lineage is clear and helps in managing data quality and integration efforts across different platforms.

Why it matters

Provides clear data provenance, which is crucial when integrating data from multiple systems or for data governance and auditing purposes.

Where to get

This is a static value that should be added during the data extraction and transformation process.

Examples
Jira Software
Assignee
Assignee
The user currently assigned to handle the development item.
Description

The Assignee is the individual responsible for the work item at its current stage. In Jira, this is a standard field that changes as the item moves between different people and teams.

Analyzing the assignee is key to understanding resource allocation, workload distribution, and handoff points. It helps answer questions about which developers or teams are involved in specific stages, who is a bottleneck, and how work is distributed across the organization.

Why it matters

Identifies the responsible user or resource for an activity, enabling workload analysis, resource management, and understanding handoffs between individuals.

Where to get

This is the 'assignee' field within the 'fields' object of the Jira Issue API response.

Examples
Alice SmithBob JohnsonUnassigned
Item Priority
ItemPriority
The priority level assigned to the development item, indicating its urgency.
Description

Item Priority defines the relative importance or urgency of a work item. Jira provides a standard 'priority' field with configurable levels like Highest, High, Medium, and Low.

Analyzing priority is crucial for checking conformance and identifying bottlenecks for critical items. For example, the 'Priority Item Conformance Check' dashboard relies on this attribute to verify if high-priority items are being expedited as expected or if they are getting stuck in the same queues as low-priority items.

Why it matters

Helps in analyzing whether high-priority items are processed faster than low-priority ones and if they follow a more streamlined path, ensuring SLAs are met.

Where to get

This is the 'priority' field within the 'fields' object of the Jira Issue API response.

Examples
HighestHighMediumLow
Item Status
ItemStatus
The current status of the development item within its workflow.
Description

This attribute reflects the specific stage of the development item at a given point in time, such as 'In Progress', 'In Review', or 'Done'. The sequence of status changes over time is what generates the activities for process mining.

While the 'Activity' attribute represents the change event, the 'ItemStatus' provides the state of the item. It is useful as a dimension for filtering and analysis, allowing you to see how many items are currently in a specific state or to analyze the characteristics of items that remain in a certain status for a long time.

Why it matters

Provides a snapshot of where an item is in its lifecycle, which is essential for status-based analysis and understanding the current state of work in progress.

Where to get

This is the 'status' field within the 'fields' object of the Jira Issue API response.

Examples
To DoIn ProgressIn ReviewDone
Item Type
ItemType
The classification of the development item, such as Bug, Story, Task, or Epic.
Description

Item Type categorizes the nature of the work being performed. Jira uses a standard 'issuetype' field to distinguish between different kinds of work items, which often have unique workflows.

This attribute is essential for comparative analysis. It allows you to filter the process for specific types of work, for example, to compare the lifecycle of a 'Bug' versus a 'Story'. This helps identify if certain types of work are more prone to delays, rework, or deviations from the standard process.

Why it matters

Allows for segmenting the process analysis to compare how different types of work, like bugs versus new features, are handled and where their processes differ.

Where to get

This is the 'issuetype' field within the 'fields' object of the Jira Issue API response.

Examples
StoryBugTaskEpic
Project Name
ProjectName
The name of the Jira project to which the development item belongs.
Description

In Jira, all work items are organized into projects. The Project Name provides high-level context, often corresponding to a specific product, team, or initiative.

This attribute is a powerful dimension for filtering and comparison. It allows for analyzing and benchmarking the SDLC process across different projects or products. This can reveal which projects are more efficient, which have more rework, and whether different teams follow different process variants.

Why it matters

Enables process analysis to be segmented by project, product, or team, allowing for performance comparisons and identification of best practices.

Where to get

This is the 'project' field within the 'fields' object of the Jira Issue API response.

Examples
Mobile App DevelopmentCore PlatformData Science
Team Name
TeamName
The development team responsible for the work item.
Description

Represents the specific agile or feature team assigned to the development item. In Jira, this is often implemented as a custom field, or it can be derived from other information like the project or a specific component.

This attribute is essential for team-level performance analysis. It allows dashboards to be filtered to show metrics like cycle time, rework rate, and throughput for individual teams. This is crucial for the 'Inter-Phase Handoff Efficiency' and 'Developer Workload & Item Progress' dashboards.

Why it matters

Allows for performance measurement and comparison between different development teams, helping to identify high-performing teams and share best practices.

Where to get

This is often a custom field in Jira. Consult your Jira administrator to identify the specific field name, which could be 'Team', 'Squad', or similar.

Examples
Team PhoenixCore ServicesUI/UX Avengers
Component
Component
A sub-section or functional area of a project to which the item belongs.
Description

Components are used in Jira to group issues within a project into smaller, more manageable parts. This could represent a feature area like 'User Authentication', a technical layer like 'Backend API', or a module like 'Reporting'.

Analyzing by component allows for a more granular view of the development process. It can help identify if certain parts of the application generate more bugs, have longer development cycles, or experience more rework, pointing to areas of technical debt or complexity.

Why it matters

Allows for segmenting the process by functional or technical areas of the product, helping to pinpoint which components are sources of delay or quality issues.

Where to get

This is the standard 'components' field within the 'fields' object of the Jira Issue API response.

Examples
User InterfaceDatabaseAPI GatewayAuthentication
Event End Time
EventEndTime
The timestamp when an activity or status was completed.
Description

This attribute marks the completion time of an activity. It is the timestamp of the next activity in the sequence for a given case.

While the 'EventTime' (StartTime) marks the beginning of an activity, the EventEndTime marks its end. The difference between these two timestamps is the processing time for that activity. This is crucial for calculating the 'Average Stage Processing Time' KPI and for building dashboards that analyze activity durations.

Why it matters

Defines the end point of an activity, making it possible to calculate the duration of each step in the process, which is essential for bottleneck analysis.

Where to get

This is a derived attribute. For a given event, its end time is the start time of the subsequent event for the same case.

Examples
2023-10-26T12:30:00Z2023-11-15T18:00:15Z2024-01-05T11:45:00Z
Fix Version
FixVersion
The software version in which the development item was actually resolved and released.
Description

The 'Fix Version' in Jira indicates the release that contains the completed work for an item. It marks the concrete outcome of the development effort.

This attribute provides the actual release context, which can be compared against the 'PlannedReleaseVersion' to analyze delivery performance. It is also used to group all items delivered in a specific release for a consolidated view of what was accomplished.

Why it matters

Confirms which release a piece of work was included in, providing the ground truth for release analysis and tracking delivered features.

Where to get

This corresponds to the 'fixVersions' field in the Jira Issue API response.

Examples
v2.1.1 Hotfixv3.0.0 Major Releasev2.2.0
Handoff Wait Time
HandoffWaitTime
The idle time between two consecutive activities.
Description

This metric calculates the waiting time or queue time between the completion of one activity and the start of the next. It represents the time work is sitting idle waiting for someone to pick it up.

This is a critical metric for the 'Average Handoff Wait Time' KPI and the 'Inter-Phase Handoff Efficiency' dashboard. High handoff times often indicate coordination problems, resource constraints, or inefficient communication between teams, such as between development and QA. Minimizing this idle time is a key lever for reducing the overall cycle time.

Why it matters

Highlights idle or queue time in the process, exposing inefficiencies in handoffs between teams or individuals and revealing coordination issues.

Where to get

This is a calculated metric. It is the start time of an activity minus the end time of the previous activity for the same case.

Examples
017280043200
Is Rework
IsRework
A flag indicating if an activity is part of a rework loop.
Description

This boolean attribute is true if an activity represents a step backward in the process, such as returning to 'Development Started' after failing QA testing. It is determined by analyzing the sequence of activities for a case.

Identifying rework is fundamental to improving process efficiency and quality. This attribute directly supports the 'Rework Activity Rate' KPI and the 'Rework Loop Frequency and Paths' dashboard. It allows for quantifying the amount of wasted effort and pinpointing the root causes of quality issues that lead to rework.

Why it matters

Explicitly flags activities that are part of inefficient rework loops, allowing for precise measurement and analysis of process waste and quality issues.

Where to get

This is a calculated attribute. It requires defining the expected process flow and then flagging any activity that deviates by moving to an earlier stage.

Examples
truefalse
Item Resolution
ItemResolution
The final outcome or reason for closing a development item.
Description

Resolution explains why an item was moved to a closed state. While a status might be 'Closed', the resolution could be 'Done', 'Won't Do', 'Duplicate', or 'Cannot Reproduce'. This provides crucial context on the outcome of the work.

Analyzing resolution helps differentiate between successfully completed work and items that were canceled or rejected. This is important for quality analysis and understanding the true throughput of valuable work versus effort spent on items that were ultimately discarded.

Why it matters

Distinguishes between successfully completed items and those closed for other reasons, which is vital for accurate productivity and quality analysis.

Where to get

This is the 'resolution' field within the 'fields' object of the Jira Issue API response. It is typically populated only when an issue is closed.

Examples
DoneWon't DoDuplicateCannot Reproduce
Planned Release
PlannedReleaseVersion
The target software version or release in which the item is planned to be deployed.
Description

This attribute, often the 'Affects Version/s' field in Jira, indicates the intended release for a feature or fix. It serves as a deadline or target for the completion of the work.

This is a critical attribute for the 'On-Time Release Delivery Rate' KPI. By comparing the actual deployment date with the planned release date associated with this version, you can measure schedule adherence and the predictability of your release process.

Why it matters

Defines the target delivery date or release, enabling the calculation of on-time delivery rates and analysis of schedule adherence.

Where to get

This corresponds to the 'versions' or 'fixVersions' fields in the Jira Issue API. The specific field used for planning may vary.

Examples
Version 2.1Q1 2024 ReleaseProject Phoenix Launch
Processing Time
ProcessingTime
The total active time spent on a specific activity.
Description

Processing Time is the duration an item spends in a particular status or activity. It is calculated as the difference between the EventEndTime and EventTime for a single event in the log.

This metric is a core component of bottleneck analysis and is used directly in the 'Average Stage Processing Time' KPI. By aggregating the processing time for each activity, you can clearly see which stages of the development lifecycle consume the most time, helping to focus improvement efforts.

Why it matters

Directly measures the duration of each activity, making it a primary metric for identifying which process steps are the most time-consuming bottlenecks.

Where to get

This is a calculated metric, derived by subtracting the 'EventTime' from the 'EventEndTime' for each row in the event log.

Examples
86400360000604800
Reporter
Reporter
The user who originally created or reported the development item.
Description

The Reporter is the individual who created the issue in Jira. This could be a developer, a QA tester, a product manager, or even a customer via a service desk integration.

Analyzing the reporter can provide insights into the origin of work. For example, you can analyze if bugs reported by the QA team have a different lifecycle than those reported by customers. It can also help in understanding communication patterns and the flow of information at the start of the process.

Why it matters

Identifies the origin of the work item, which can be used to analyze patterns based on who creates tasks or reports bugs.

Where to get

This is the 'reporter' field within the 'fields' object of the Jira Issue API response.

Examples
Charles DarwinMarie CurieIsaac Newton
Sprint Name
SprintName
The name of the agile sprint to which the development item is assigned.
Description

For teams using Scrum, the Sprint is a time-boxed period during which a set of work is completed. This attribute captures the name or identifier of the sprint an item belongs to.

Analyzing by sprint is fundamental for agile-focused process mining. It helps in evaluating the performance of individual sprints, understanding carry-over work, and tracking progress against sprint goals. It provides a time-based context that is more specific than general date ranges.

Why it matters

Provides a critical context for agile teams, enabling analysis of process efficiency and throughput on a sprint-by-sprint basis.

Where to get

This information is typically stored in a 'Sprint' custom field, managed by Jira Software (Agile). The data is accessible via the Issue API.

Examples
PROJ Sprint 1Q4-2023 Sprint 3November PI Sprint 2
Total Cycle Time
CycleTime
The total end-to-end duration for a development item.
Description

Cycle Time measures the total time elapsed from the creation of a development item to its final resolution, such as deployment to production. It is calculated at the case level as the difference between the timestamp of the very first event and the very last event.

This is a primary KPI for measuring overall process velocity and efficiency. The 'Average End-to-End Cycle Time' KPI and the 'Overall SDLC Cycle Time Analysis' dashboard are directly based on this calculation. Reducing cycle time is often a key goal of process improvement initiatives.

Why it matters

Measures the end-to-end speed of the development process, providing a key performance indicator for overall efficiency and delivery velocity.

Where to get

This is a calculated attribute at the case level. It is the timestamp of the last event minus the timestamp of the first event for a given 'DevelopmentItem'.

Examples
12096002592000604800
Required Recommended Optional

Software Development Lifecycle Activities

These are the key process steps and milestones to capture in your event log for accurate Software Development Lifecycle process discovery.
6 Recommended 8 Optional
Activity Description
Deployed To Production
This event marks the moment the code changes associated with the development item are live in the production environment. This can be inferred from a final status change to 'Done' or 'Released', or captured via an explicit event from an integrated CI/CD tool.
Why it matters

This is the primary success endpoint for the process. It is essential for calculating the total end-to-end cycle time and measuring deployment frequency and throughput.

Where to get

Can be inferred from the Jira issue changelog when the status changes to 'Released' or 'Done'. For more accuracy, it can be captured from deployment events pushed by CI/CD tools like Jenkins, Bamboo, or via the Deployments feature in Jira.

Capture

Timestamp of status change to 'Done' or 'Released'.

Event type inferred
Development Item Created
This marks the beginning of the lifecycle, when a new development item, such as a story, bug, or task, is formally logged in Jira. This event is explicitly captured by the system with a creation timestamp for every issue.
Why it matters

This activity serves as the definitive start of the process, which is essential for calculating end-to-end cycle times and tracking the total volume of incoming work.

Where to get

This is a fundamental event for every Jira issue. The creation timestamp is stored in the 'created' field of the issue record, accessible via the Jira API.

Capture

The 'created' timestamp field on the Jira Issue object.

Event type explicit
Development Started
Represents the moment a developer begins actively working on the development item. This is almost always captured by inferring a status change within Jira's workflow, for instance, when the issue status moves to 'In Progress'.
Why it matters

This is a crucial milestone for measuring active development time. It helps distinguish between waiting time and value-adding work, a key metric for identifying bottlenecks.

Where to get

Inferred from the Jira issue changelog. It is the timestamp when the 'status' field first changes to 'In Progress', 'In Development', or a similar active state.

Capture

Timestamp of status change to 'In Progress'.

Event type inferred
QA Testing Completed
Signifies that the development item has successfully passed all Quality Assurance checks and is ready for the next stage, such as User Acceptance Testing or release. This is inferred from a status change out of the primary testing status.
Why it matters

This marks the completion of an important quality gate. Analyzing the duration of the QA phase helps optimize testing processes and resource allocation.

Where to get

Inferred from the Jira issue changelog. It is the timestamp when the 'status' field transitions from 'In QA' to a subsequent state like 'Ready for UAT' or 'Ready for Release'.

Capture

Timestamp of status change from 'In QA' to 'Ready for UAT'.

Event type inferred
QA Testing Started
This event marks the beginning of the formal Quality Assurance testing phase for the development item. It is inferred from a Jira status change when the issue is moved to a status like 'In QA', 'In Testing', or 'Ready for Testing'.
Why it matters

This is a key milestone that begins the quality validation cycle. Measuring the time from 'Development Completed' to this point highlights handoff delays between Dev and QA teams.

Where to get

Inferred from the Jira issue changelog. It's the timestamp when the 'status' field changes to a designated QA testing state like 'In QA'.

Capture

Timestamp of status change to 'In QA' or 'In Testing'.

Event type inferred
UAT Approved
Represents the successful completion of User Acceptance Testing, indicating stakeholder approval for release. This is inferred from a status change from 'In UAT' to a state like 'Ready for Release' or 'Done'.
Why it matters

This milestone confirms business acceptance and greenlights the item for production deployment. It is a critical gate for ensuring the delivered work meets user expectations.

Where to get

Inferred from the Jira issue changelog. It is the timestamp of the status change from 'In UAT' to the next state in the workflow, signifying approval.

Capture

Timestamp of status change from 'In UAT' to 'Ready for Release'.

Event type inferred
Code Review Performed
Indicates that a peer or lead has reviewed the code for quality, standards, and functionality. This can be inferred from a status change, such as moving from 'In Review' to 'Ready for QA', or explicitly from integrated development tools.
Why it matters

This activity is a critical quality gate. Analyzing its duration and outcomes, like rework, helps improve code quality and reduce bugs found later in the process.

Where to get

Commonly inferred from the Jira issue changelog when the status moves out of a 'Code Review' state. It can also be an explicit event if code repository tools like Bitbucket or GitHub are integrated.

Capture

Timestamp of status change from 'In Review' to the next state.

Event type inferred
Development Completed
This activity signifies that the developer has finished coding and the item is ready for the next stage, such as code review or testing. It is inferred from a Jira status change, like moving from 'In Progress' to 'In Review' or 'Ready for QA'.
Why it matters

This marks the end of the core development phase, allowing for analysis of coding duration and the efficiency of handoffs to the quality assurance team.

Where to get

Inferred from the Jira issue changelog by capturing the timestamp when the 'status' field changes from an active development state to a subsequent state like 'In Review' or 'Ready for QA'.

Capture

Timestamp of status change from 'In Progress' to 'In Review' or 'Ready for QA'.

Event type inferred
Development Item Canceled
Represents the termination of a development item before completion. This is inferred from a status change to a terminal state like 'Canceled', 'Rejected', or 'Won't Do', and is often accompanied by a specific resolution.
Why it matters

This activity tracks non-successful process outcomes. Analyzing why items are canceled can reveal issues with planning, prioritization, or requirement definition.

Where to get

Inferred from the Jira issue changelog. This is the timestamp when the issue 'status' is changed to 'Canceled' or 'Won't Do' and a corresponding resolution is set.

Capture

Timestamp of status change to 'Canceled', 'Rejected', or 'Won't Do'.

Event type inferred
Development Item Closed
This is the final administrative action, confirming that no further work is expected on the item. It is often inferred from a status change to 'Closed' and the setting of a 'Resolution' field value.
Why it matters

Represents the absolute end of an item's journey. Comparing this with 'Deployed to Production' can reveal administrative lag or post-deployment monitoring periods.

Where to get

Inferred from the Jira issue changelog. It is the timestamp when the 'status' field changes to 'Closed' and a resolution is set.

Capture

Timestamp of status change to 'Closed'.

Event type inferred
Item Ready for Development
Indicates that a development item has been fully specified, reviewed, and prioritized, making it ready for a developer to start working on. This is typically inferred from a status change in the workflow, such as moving from 'Backlog' to 'To Do' or 'Ready for Dev'.
Why it matters

Tracking this helps measure backlog readiness and the time items wait before development begins. It isolates planning and refinement time from active development time.

Where to get

Inferred from the Jira issue changelog. Look for a timestamp when the 'status' field changes to a value like 'Ready for Dev', 'To Do', or 'Selected for Development'.

Capture

Timestamp of status change to a pre-development ready state.

Event type inferred
Prepared For Release
Indicates the development item has passed all checks and has been bundled into a specific software release version, awaiting deployment. This is often inferred when an issue's status changes to 'Ready for Release' or the 'Fix Version' field is populated.
Why it matters

This activity helps track release readiness and the time items spend waiting for a deployment window after all development and testing work is complete.

Where to get

Typically inferred from the Jira issue changelog as a status change to 'Ready for Release'. Alternatively, it can be inferred from the timestamp when the 'Fix Version/s' field is set.

Capture

Timestamp of status change to 'Ready for Release' or when 'Fix Version' is populated.

Event type inferred
QA Testing Failed
Indicates that the QA team found a defect, causing the development item to be sent back to developers for rework. This is inferred from a backward status transition, for example, from 'In QA' back to 'In Progress' or 'To Do'.
Why it matters

This activity is crucial for identifying rework loops. Tracking its frequency helps quantify the cost of poor quality and highlights areas for improvement in development or requirements.

Where to get

Inferred from the Jira issue changelog. Captured when the 'status' field transitions from a testing state (e.g., 'In QA') to an earlier development state (e.g., 'In Progress').

Capture

Timestamp of status change from a testing status to a development status.

Event type inferred
UAT Started
Marks the start of User Acceptance Testing, where business stakeholders or end-users validate the new functionality. This is inferred from a Jira status change to a state such as 'In UAT' or 'User Acceptance Testing'.
Why it matters

This activity tracks the start of the final validation phase before release. Analyzing its duration is key to understanding and reducing delays caused by stakeholder availability or feedback cycles.

Where to get

Inferred from the Jira issue changelog. It's the timestamp when the 'status' field is updated to 'In UAT' or a similar designated status.

Capture

Timestamp of status change to 'In UAT'.

Event type inferred
Recommended Optional

Extraction Guides

How to get your data from Jira Software