Product development · 3 min
Build the Workflow Before You Automate It
ProductForge became useful before it became software.
3-minute read
When I first started developing ProductForge, I was not running an automated product-development system.
I was manually following a structured process with an AI assistant.
It felt extremely slow.
The brainstorming sessions often went too deep too early. As the decision maker, I had to resolve many product and technical questions continuously. Very little code was being produced, so progress sometimes felt almost invisible.
Then implementation began.
Because the requirements, architecture, dependencies, and tasks were already clear, implementation moved extremely quickly. Debugging was easier because fewer decisions had been improvised during coding. The early process felt slower, but the overall development cycle became significantly shorter.
That experience changed how I think about workflow automation:
Automation does not create the value of a workflow. It removes the friction from a workflow that is already valuable.
A structured workflow makes uncertainty visible
The most valuable result of manually running ProductForge was not better documentation.
It was discovering hidden assumptions before they became code.
A typical development process often moves directly from idea to implementation:
Idea → Prompt → Code
The unresolved decisions do not disappear. They are silently delegated to whoever writes the implementation—sometimes a developer, and increasingly, an AI coding agent.
ProductForge introduces explicit stages:
Discover → Design → Decompose → Verify → Execute
The sequence gives the developer a clear path through the project.
But product development is not actually linear. Evidence affects decisions. Decisions affect requirements. Requirements affect architecture, tasks, and tests.
That is why ProductForge is designed as both:
- a linear guide for progressing through development;
- a dependency graph for preserving how conclusions were reached.
The sequence tells you what to do next.
The graph tells you what must change when new information appears.
One discovery can change the entire product
KageFlow provided a concrete example.
My earlier assumption was that customers would care heavily about how natural the AI receptionist sounded.
New customer evidence suggested something different.
Customers cared more about whether the AI could:
- handle complex requests;
- avoid frustrating callers;
- follow the intended business process;
- and create the correct work item in the CRM.
That changed the product priority from:
Natural-sounding conversation
to:
Reliable business execution
The impact extended far beyond one requirement.
Customer evidence
↓
Product priority
↓
Core requirements
↓
System architecture
↓
Testing strategy
↓
Implementation tasks
Voice quality still mattered, but it was no longer the system’s primary measure of success. Complex-case handling, recovery behaviour, controlled tool execution, and CRM completion became more important.
The difficult part was not changing the original assumption.
The difficult part was identifying every affected decision while preserving everything that remained valid.
Authentication, billing, and deployment architecture did not need to be reconsidered. Conversation orchestration, acceptance criteria, simulations, and implementation priorities did.
A dependency graph makes that boundary visible.
Instead of restarting the entire product-development process, the workflow can invalidate and reconsider only the affected downstream nodes.
Documents describe the answer. The graph preserves why.
Traditional product development stores reasoning across PRDs, architecture documents, meeting notes, task descriptions, and chat histories.
These documents are useful, but they become difficult to maintain when discovery changes.
A requirement document may reflect the new product priority while the architecture document still reflects the old one. The task plan may remain internally coherent while implementing a system the customer no longer values.
Each document can appear correct independently while the project becomes contradictory as a whole.
ProductForge treats evidence, assumptions, decisions, requirements, tasks, and tests as connected nodes.
Documents remain useful outputs for communication, but they should not be the canonical source of product reasoning.
Documents describe the current answer. The graph preserves why that answer exists.
When a discovery node changes, the workflow can identify which conclusions require review and regenerate the relevant documents from the updated state.
This is difficult to maintain manually. But even manual dependency mapping is more reliable than assuming every document remains aligned.
The workflow feels slow because effort moves upstream
A structured workflow does not make every phase faster.
It changes where the effort happens.
Unstructured development
Fast start
→ hidden ambiguity
→ implementation drift
→ rework
→ difficult debugging
→ architecture changes
Structured development
Slow discovery
→ explicit decisions
→ bounded implementation
→ faster execution
→ easier debugging
→ less rework
During ProductForge’s discovery phase, I spent substantial time defining the product, challenging assumptions, and mapping dependencies.
That work felt slower than coding.
But once implementation started, the coding agent was no longer being asked to discover the product while building it. The plan was comprehensive, the task boundaries were clear, and the intended outcome had already been decided.
Debugging also became easier. When a result was wrong, I could distinguish between:
- an incorrect product decision;
- a missing requirement;
- a flawed architecture choice;
- or an implementation defect.
Less ambiguity during implementation meant fewer possible sources of failure later.
The workflow did not make every phase faster. It made the entire development cycle shorter.
Manual execution also exposes workflow problems
The manual ProductForge process was effective, but it was not frictionless.
It exposed a new bottleneck: me.
The AI assistant sometimes explored details before higher-level decisions were stable. It asked for many consequential decisions in a short period, creating decision fatigue.
ProductForge reduced ambiguity for the implementation agent, but increased cognitive pressure during discovery.
I have not fully solved that problem yet.
That limitation is part of why manually executing a workflow matters before automating it. Manual use reveals:
- where judgment is genuinely required;
- where questions are premature;
- where information becomes repetitive;
- where state becomes difficult to maintain;
- and which steps are safe to automate.
Without running the workflow manually, automation would only hide these design problems behind a faster interface.
Automation should remove friction, not reasoning
ProductForge does not need to be fully automated to provide value.
Its manual workflow already improves development by exposing assumptions, preserving dependencies, reducing implementation ambiguity, and making changes easier to trace.
Automation becomes valuable when it reduces the cost of maintaining those benefits.
It can propagate node changes, identify affected decisions, regenerate documents, preserve context, and defer low-impact questions.
But it should not eliminate the reasoning process or silently replace the human decision maker.
The manual workflow proves the model.
The software should make that model easier to execute.
Automate the workflow only after the workflow has proven what deserves to be automated.