
The Architect’s Job in an App Team: From Chaos to Clarity with Intent-Driven Engineering
- Mark Kendall
- 2 hours ago
- 3 min read
The Architect’s Job in an App Team: From Chaos to Clarity with Intent-Driven Engineering
Intro
Most application teams don’t fail because of lack of talent. They fail because of lack of structure, consistency, and clarity.
Developers build. Product owners prioritize. QA tests.
But when it comes to how a project should be structured, named, governed, and scaled—that’s where things quietly fall apart.
This is where the architect steps in.
Not as a diagram creator.
Not as a gatekeeper.
But as the system designer of how work gets done.
And in today’s world, that system must evolve beyond prompts and ad hoc practices into something far more powerful:
👉 Intent-Driven Engineering
What Is an Architect in an App Team?
An architect is not just responsible for what gets built.
They are responsible for:
How projects start
How teams structure their work
How systems remain consistent across teams
How decisions are encoded—not just discussed
At a practical level, an architect defines:
Project structure
Naming conventions
Data contracts
Integration patterns
Governance rules
Delivery workflows
But here’s the shift:
The modern architect doesn’t just define guidelines.
They define executable intent.
The Real Problem: Every Project Starts From Scratch
Let’s be honest.
Most teams start projects like this:
Create a repo
Copy something from another project
Rename a few things
Start coding
Fix inconsistencies later (or never)
What you get:
Inconsistent naming
Different structures per team
Reinvented patterns
Hidden assumptions
Fragile systems
Multiply that across 20+ teams?
You don’t have an architecture.
You have organized chaos.
The Shift: From Guidelines to Intent
Instead of saying:
“Follow these standards”
You move to:
“Execute this intent”
This is the foundation of Intent-Driven Engineering.
What Is Intent-Driven Engineering?
Intent-Driven Engineering is a model where:
Work starts from a structured intent file
The intent defines inputs, outputs, and success
Systems are generated and validated from that intent
Architecture becomes executable, repeatable, and measurable
The intent file is not documentation.
The intent file is the system.
How Architects Should Start a Project (The Right Way)
Here’s the part most people overcomplicate.
You do not start with a massive framework.
You start simple.
Step 1: Create a Minimal Repo
project/
├── intents/
│ └── build_api.intent.md
├── src/
├── tests/
└── README.md
That’s it.
No over-engineering. No ceremony.
Step 2: Define ONE Intent
Example:
# Intent: Build Spring Boot API with Swagger
Inputs:
- API name
- endpoints
- request/response models
Outputs:
- Spring Boot project
- Controllers
- DTOs
- OpenAPI spec
- Swagger UI enabled
Success:
- App runs
- Swagger loads
- Endpoint returns 200
Executor:
- claude_code
This single file replaces:
scattered requirements
inconsistent scaffolding
tribal knowledge
Step 3: Execute and Validate
Now the architect ensures:
The API runs
Swagger is generated
Contracts are correct
Output is consistent
👉 This is architecture in action—not theory.
Naming Conventions: The Architect’s Hidden Superpower
Naming is not cosmetic.
It’s how systems communicate intent.
Bad naming creates:
confusion
duplication
integration failures
Good naming creates:
clarity
discoverability
scalability
Project Naming
Use consistent patterns:
<domain>-<capability>-<type>
Examples:
customer-provisioning-api
order-processing-service
billing-event-processor
Intent Naming
<sequence>_<action>_<object>.intent.md
Examples:
001_generate_api_contract.intent.md
002_build_spring_service.intent.md
003_generate_tests.intent.md
Pipeline Naming
<object>_<lifecycle>.pipeline.md
Examples:
api_delivery.pipeline.md
service_release.pipeline.md
Why This Matters
Because now:
Anyone can understand the system instantly
Automation becomes predictable
Scaling across teams becomes possible
Typing: Where Most Teams Fail
This is critical.
Most teams treat inputs like this:
{
"data": "something"
}
That’s not engineering. That’s guessing.
Architect’s Responsibility
Define typed inputs and outputs.
Example:
inputs:
api_name: string
endpoints:
- path: string
method: GET | POST | PUT | DELETE
request_model: object
response_model: object
Now:
Systems can validate automatically
APIs are consistent
Errors are reduced early
When to Scale the System (Important)
Do NOT start with a massive architecture.
Add layers only when needed:
Problem
Add
Repeating patterns
intent-library
Multi-step flows
pipelines
Inconsistency
success criteria
Team growth
governance
Production risk
evidence tracking
The Architect’s Real Role (Reframed)
The architect is not:
A document writer
A diagram creator
A gatekeeper
The architect is:
The designer of a system that produces consistent, scalable, high-quality outcomes—every time.
Why This Matters Now
We are moving from:
Manual coding → Assisted coding
Prompting → Systems
Individuals → Platforms
And the teams that win will be the ones that:
Encode knowledge
Standardize execution
Scale without chaos
Key Takeaways
Start simple: one repo, one intent
Focus on execution, not theory
Use consistent naming conventions
Enforce typed inputs and outputs
Grow the system only when needed
Treat architecture as executable intent, not documentation
Final Thought
If your team still starts projects by copying old repos and guessing structure…
You don’t have an architecture.
You have habits.
👉 It’s time to move beyond prompts.
👉 It’s time to move toward Intent-Driven Engineering.
If you come back to this later, remember this one line:
Start with one intent. Prove it works. Then build the system around it.

Comments