Skip to main content

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.

Written spec before development begins
Working software on staging every sprint
Nothing to production without your sign-off
Full documentation delivered at handover

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

Free

You 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.

Deliverable: A clear picture of your requirements, a realistic scope estimate, and honest advice on your approach.

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.

Deliverable: A signed functional requirements document with use-case scenarios and acceptance criteria.

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.

Deliverable: A fixed-price or time-and-materials proposal, full technical specification, project timeline, and scope definition.

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.

Deliverable: Approved wireframes, finalized database schema, complete system architecture, and sign-off before development begins.

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.

Deliverable: Working software on staging after each sprint, weekly progress updates, access to the git repository throughout.

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.

Deliverable: Production-verified system, monitoring in place, deployment runbook, and a documented rollback procedure.

Post-Launch Support & Iteration

Ongoing

Every 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.

Deliverable: Monthly retainer options, documented support SLAs, a team that already knows your codebase.

Common Questions

Frequently Asked Questions

How long does a typical project take?
It depends heavily on scope. A corporate website or landing page: 3–6 weeks. A custom web application or CRM with moderate complexity: 2–4 months for a solid v1. A large-scale legacy migration or enterprise system: 4–9 months. We give you a specific timeline estimate in the proposal stage, and our 98% on-time rate reflects conservative scoping rather than optimistic promises.
Do you work with clients who don't have a technical background?
Yes, and frequently. Business owners who understand their operations but not the technology are often our best clients — because they know exactly what problem they're trying to solve. We handle the translation from business requirement to technical specification. You don't need to know PHP or understand database schemas to work with us effectively.
How do you handle changes to requirements mid-project?
Honestly, with a formal change request process. When requirements change, we document the change, estimate the impact on scope, timeline, and cost, and get your written approval before proceeding. We don't sneak changes into the budget or pretend they're free. For projects where requirements are expected to evolve significantly, we recommend time-and-materials rather than fixed-price engagement.
What if you're inheriting a system another developer built?
We take this on regularly. We start with a paid code audit: a thorough review of the existing codebase, infrastructure, and documentation (if any exists). We give you a written assessment: what's salvageable, what needs refactoring, what should be rebuilt, and a realistic estimate for each path. We won't recommend a full rewrite unless it genuinely costs less than working with what's there.
Who owns the code after the project ends?
You do. Full intellectual property transfer is in every contract by default. On final payment, all custom code, assets, deployment configuration, and documentation belong entirely to you. We're not creating vendor dependency — if you want to hand the codebase to a different developer after our engagement, you should be able to do that without our involvement.
What does your ongoing support look like?
Monthly retainers covering: security patching, dependency updates, uptime monitoring, and a set number of development hours for bug fixes and minor feature work. The retainer size scales with your system's complexity and how many hours of development time you typically need. We also handle emergency incidents for retainer clients with defined response SLAs.
Can you work with our existing internal team?
Yes. We've worked as the primary development team, as augmentation to an existing internal team, and as technical consultants reviewing another team's architecture. We adapt to what the engagement needs. If you have developers in-house, we're comfortable doing code reviews, pair programming sessions, or architecting systems that your team will then build.
How do I start?
Email us at info@itmem.net or fill out the contact form. Describe the problem you're trying to solve — even in rough terms. We'll reply within one business day to schedule a 30-minute discovery call. That first call is free. We'll ask questions, give you our honest initial read, and explain what a next step would look like. No commitment required.

Ready to Get Started?

The first step is a 30-minute discovery call. Email us at info@itmem.net or use the form below — we'll reply within one business day.