Shared Build Module Version Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, independent teams often diverge in their build and deployment codebases for plugins, leading to duplication of work, inconsistency, and potential breakage of functionality when updating to changes in the target platform, such as APIs or SDKs, requiring manual updates and debugging across different teams.

Innovation Solution

A centralized repository manages a shared build module, allowing development teams to request and update to the latest version based on version information, ensuring all teams use a consistent build/deployment codebase, with automatic updates and notifications for deprecated functions, thus maintaining consistency and reducing manual maintenance efforts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If independent development teams maintain separate build/deployment code bases, then each team can customize build code for specific problems, but the code bases diverge over time requiring independent updates and testing

Engineering Contradiction:
Improvecustomization capabilityVSAvoidcode base management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The build module is segmented into a shared core component that provides common functionality and team-specific customization components. Each team can customize their build module by modifying or extending the shared build module with team-specific configurations and code, while maintaining a clear separation between common and custom elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of maintaining completely separate code bases, the system uses copying where each team gets a copy of the shared build module that can be customized. This allows teams to have their own versions while originating from a common base, making updates more manageable through selective synchronization.

Inventive Principle:
Principle #26Copying

2Productivity

If teams update their build code independently, then updates can be tailored to specific team needs, but updates may break functionality in other teams' code bases

Engineering Contradiction:
Improveupdate speedVSAvoidfunctionality consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where build modules are automatically tested and validated before updates are propagated. Test results and compatibility information feed back into the update process, allowing the system to determine whether an update should be applied to specific teams based on their customizations and test outcomes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Updates are prepared and validated in advance before being applied to teams. The system performs preliminary testing, compatibility checks, and validation of build module updates before propagation, ensuring that updates do not break functionality while maintaining readiness for rapid deployment.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a shared build module is used across teams, then updates can be propagated to all teams simultaneously, but teams lose the ability to customize for specific problems

Engineering Contradiction:
Improvecode consistencyVSAvoidteam-specific customization
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The build module structure implements local quality by allowing different parts of the system to have different properties. The shared core maintains consistency and common functionality, while team-specific sections allow customization. This enables simultaneous code consistency in critical areas and adaptability in team-specific areas.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically determines which parts of the build module should be synchronized across teams and which parts should remain team-specific. Based on customization levels, test results, and update compatibility, the system adaptively manages the balance between shared consistency and team autonomy.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10114637B1Automatically updating a shared project build platform
Publication Date: 2018.10.30 INTUIT INC
  • US10114637B1 patent drawing
  • US10114637B1 patent drawing
  • US10114637B1 patent drawing

AI summary

The present disclosure relates to building a software development project using a shared build module common to development projects targeting a specific software platform. According to one embodiment, a development system requests, from a centralized repository, version information for a latest version of a shared build module associated with a software platform targeted by the development project. The development system determines to replace a local copy of the shared build module with the latest version of the shared build module based, at least in part, on a comparison between version information for the local copy and the version information for the latest version of the shared build module. The development system builds the software development project using the local copy of the shared build module.