Software Cycle Time Analysis via Version Control Linking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mature software organizations face challenges in tracing bottlenecks in software design due to non-actionable throughput metrics from existing project management tools like Jira or Trello, which do not allow for specific identification of bottlenecks in the development process.
Innovation Solution
An electronic data-processing apparatus and method that determines cycle time in a software project by accessing project management data and version control data, linking task data items with version control data items to calculate time durations between task timestamps and commit timestamps, enabling the identification of time-consuming components and resources allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If throughput metrics are used to track development efficiency, then overall productivity can be measured, but specific bottlenecks in software design cannot be identified
Solution Approach 1:
The patent segments the software codebase into individual files and tracks cycle time for each file separately. By dividing the overall development process into file-level units, the system can identify which specific files are causing bottlenecks while maintaining overall productivity metrics.
Solution Approach 2:
The patent introduces version control data as an intermediary between project management data and code files. This intermediary layer enables the system to link tasks to specific files and determine cycle times, thereby identifying bottlenecks without disrupting the existing project management workflow.
2Measurement precision
If manual tracking of cycle time is performed, then accuracy can be maintained, but automation and scalability are reduced
Solution Approach 1:
The system automatically determines cycle times by leveraging existing version control data and project management data. The version control system itself provides the timestamps and file information needed for cycle time calculation, eliminating the need for manual tracking while maintaining accuracy.
Solution Approach 2:
The patent replaces manual cycle time tracking with an automated computational process. By using version control timestamps and project management data, the system automatically calculates cycle times through computer processing rather than manual measurement, enabling scalability.
3Loss of information
If file-level cycle time tracking is implemented, then bottleneck identification improves, but system complexity increases
Solution Approach 1:
The patent reuses existing version control data structures and project management data fields for cycle time tracking. By making these existing systems multi-functional, the patent avoids adding complex new infrastructure while still achieving file-level tracking capabilities.
Solution Approach 2:
The version control data serves as an intermediary that already contains file information and timestamps. This intermediary structure simplifies the data processing by providing pre-organized information that can be directly used for cycle time calculations without requiring complex data aggregation systems.
Data Source
AI summary
A computer-implemented method is disclosed for determining a cycle time in a software project. The method includes obtaining a task data item by accessing project management data, wherein the project management data is indicative of migration of software project tasks through different project phases including an in-progress phase. The task data item includes a task identifier indicating a task corresponding to the task data item, and a task time stamp indicating when the task migrated to the in-progress phase. The method also includes obtaining a version control data item by accessing version control data, wherein the version control data is indicative of software commits of the software project. Corresponding apparatus and computer program product are also disclosed.


