Software Factory Work Packet Assembly for Custom Development
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Custom software development is often perceived as an art rather than a science, leading to software of varying reliability, usefulness, and value due to reliance on developer experience, training, and intuition, resulting in high long-term costs and inconsistent quality.
Innovation Solution
A standardized software factory approach that receives customer descriptions, evaluates project proposals, parses them into major functional areas, retrieves reusable work packets, assembles, tests, and delivers custom software, utilizing a governance model, design center, and assembly line to ensure consistency and quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If custom software is developed using traditional artisanal methods relying on developer experience and intuition, then the software can be tailored to customer needs, but the reliability and quality become inconsistent and vary by project
Solution Approach 1:
The patent segments custom software development into standardized work packets that can be independently developed, tested, and assembled. Each work packet represents a discrete functional component that can be reused across multiple projects, ensuring consistent quality while maintaining customization capability through different combinations of packets.
Solution Approach 2:
The patent changes the development approach from artisanal intuition-based methods to a parameterized standardized process. By defining specific parameters for work packet creation, assembly, and testing, the system achieves repeatable results across different projects while still accommodating customer-specific requirements.
2Adaptability or versatility
If custom software is developed from scratch for each customer, then the software meets specific customer needs, but the development time and costs increase significantly
Solution Approach 1:
The patent performs preliminary action by pre-developing and storing standardized work packets that contain common software functions and components. These packets are created in advance and can be quickly retrieved and assembled for new customer projects, dramatically reducing development time while maintaining customization capability.
Solution Approach 2:
The patent uses copying by creating reusable work packets that can be replicated and assembled across multiple projects. Instead of developing each software component from scratch, the system copies and adapts proven, tested work packets to meet specific customer requirements, improving productivity while maintaining quality.
3Ease of manufacture
If off-the-shelf software is used to reduce initial costs, then the upfront investment is lower, but long-term costs for implementation, training, and business process alterations become onerous
Solution Approach 1:
The patent segments software delivery into modular work packets that can be selectively assembled based on customer needs. This approach reduces initial costs compared to full custom development while minimizing implementation time and training requirements, as customers only receive the specific functional packets they need rather than a complete off-the-shelf system that requires extensive customization.
Data Source
AI summary
A method, system and computer-readable medium for creating software in a standardized manner are presented. The method includes the steps of: receiving, at a software factory, a description of software needs from a customer; creating, in the software factory, a project proposal that meets performance criteria found in the description of software needs; inducting the project proposal into the software factory, where inducting the project proposal initially evaluates the project proposal's compatibility with a capacity of the software factory; parsing the project proposal into major functional areas; retrieving work packets that are appropriate for the project proposal, where the work packets are pre-stored, reusable, self-contained, discrete units of software code; assembling the work packets into a deliverable software; testing the deliverable software; and delivering the deliverable software to the customer.


