Our Process
How a Project Works
At
ITMem
Seven stages from first call to production. Documented deliverables at each one. No ambiguity about what you're getting, when, or what it costs.
Why Process Matters
Most Projects Fail at the Requirements Stage
In our experience, the majority of software projects that go over budget or fail to deliver don't have a code quality problem. They have a communication and planning problem — usually visible from the first conversation.
Our process is structured around three discipline points: write down what's being built before building it, show working software frequently, and document everything so the client isn't dependent on us to maintain their own system. Simple, but consistently underestimated.
Stage by Stage
The ITMem Project Lifecycle
What happens at each stage, what we deliver, and what you approve before we move to the next one.
Discovery Call
FreeYou describe the problem you're trying to solve. We ask questions — about your current process, your constraints, your timeline, your budget, and the people who will use the system. The goal is to understand whether this is a project we can help with and what involvement would look like.
This first call takes 30–60 minutes and comes with no obligation. We'll tell you honestly if there's a simpler solution than what you're imagining, or if the problem calls for something more substantial.
Requirements Gathering
Structured discovery: stakeholder conversations, workflow analysis, review of existing systems, and competitive research where useful. This phase surfaces requirements that weren't obvious from the initial conversation — edge cases, integration dependencies, data constraints.
The output is a functional requirements document: what the system needs to do, not how it does it. This is the contract that scopes the project and the baseline against which we test delivery.
Technical Specification & Proposal
We define the system architecture, technology stack, data model, API contracts, and integration points. Where trade-offs exist, we document them — the cost of choosing option A over option B in terms of complexity, timeline, and long-term maintainability.
This phase also produces the project plan: milestones, delivery dates, and a clearly defined scope. If budget is a binding constraint, this is where we identify what to build in v1 versus what can be deferred.
UX Design & Architecture
For systems with user interfaces, we design the user experience before writing production code. Wireframes and interactive prototypes let you validate layout and flow before they're built — when changes are fast and cheap. For API-heavy or backend systems, this phase focuses on detailed database schema design and API architecture.
Your feedback here directly shapes the final system. We iterate until the design satisfies both the functional requirements and your team's usability expectations.
Iterative Development
Development proceeds in 1–2 week sprints. At the end of each sprint, working software is deployed to a staging environment where you can review, test, and give feedback. No month-long blackout periods. No "trust us, it'll work" moments.
We maintain a clean git history, conduct code reviews, write tests for critical paths, and follow OWASP security guidelines throughout. Dependencies are pinned and documented. The codebase is organized so someone other than us can navigate it.
Quality Assurance & Launch
Pre-launch testing covers: functional testing against all requirements, edge case and error handling, load testing under expected traffic, browser and device compatibility, and a security review. We test the deployment process itself on staging before touching production.
Production deployment is coordinated carefully — migrations rehearsed, monitoring configured, rollback procedure written and tested. We don't release on Fridays, and we don't release without a clear plan for the first 48 hours post-launch.
Post-Launch Support & Iteration
OngoingEvery project includes a 30-day warranty period for production bugs after launch. Beyond that, most clients continue on a monthly support retainer — covering security patches, dependency updates, uptime monitoring, and development hours for feature work and bug fixes.
Software in the real world evolves. User feedback reveals gaps in the original requirements. Business needs change. Many of our best long-term relationships started with a v1 that was then refined significantly based on what real users actually did with it.
Common Questions