A software factory is an automated system that takes a product requirement and produces a pull request for the feature with little human interaction if the requirement is scoped correct.
My requirements for a software factory
- It must claim work automatically when tagged as something that can be done by the AI worker.
- It must embody my desired coding styles, methods of architecture, and infrastructure choices.
- It must be able to detect problems early with the live production system and file bugs for things that should be fixed or tuned. These should not automatically be fixed. Human in the loop is necessary for safety and product decisions.
- It must produce well tested software that is factored cleanly.
- It must rely on CI/CD to ensure that nothing ships a broken build.
- It must have release gates that have humans in the loop.
- It should use an adversarial model to review any work that it commits.