What to expect from the dev agency after MVP is done?

08 February 2024 ยท Updated 11 February 2024
Question

Hello Vadim,

I'm standing at a crossroads, we've just wrapped up the development of our mobile app MVP with an external software development company (quite successfully I might add), and I'm now facing a barrage of questions that keep me up at night, more so than my three-year old. I tried googling, but I get vague answers.

First off, what kind of documentation (technical and otherwise e.g. user guide) is reasonable to expect from the dev agency after the MVP is complete? I want to ensure that we're not just handed over a codebase with a pat on the back and a "Good luck!" but rather everything we need for another team to take it over and build upon it. Then there's the elephant in the roomโ€”how do we guard against theft of IP? It's not that I don't trust the company we've worked with, but maybe just a little. What measures can we put in place to ensure that our intellectual property remains ours, and ours alone? What is part of the intellectual property?

Then there's the question of how to protect the codebase from the dev agency once our engagement with them is done. Is it as simple as changing passwords and revoking access, or are there more nuanced steps we should be taking to safeguard our digital assets?

Lastly, when the time comes to transition from external developers to hiring our own in-house team, how easy is it for them to manage and build upon the codebase developed by some other company? I've heard horror stories of in-house developers being handed over a codebase that's about as decipherable as ancient hieroglyphs, and I'd like to avoid that fate at all costs.

Thanks in advance for your advice, and any infos you might have. I'm all ears.

Cheers,
JK

Answer

Dear JK,

Congratulations on reaching this pivotal moment with your MVP. It’s an exciting time, but I understand it’s also filled with questions and uncertainties about the next steps. Your concerns about documentation, IP protection, and transitioning to an in-house development team are valid and crucial for the sustainable growth of your startup. Let me share some insights from my experience and some knowledge as well, as I run my own dev agency, so maybe I can help you understand better how it works.

First and foremost, the code is just a small part of the MVP that you should receive and it’s just the beginning of a journey. The documentation you receive from your development agency is your roadmap for this journey. It should be comprehensive, covering both technical and non-technical aspects. Expect detailed API documentation, architecture diagrams, user guide (if there’s a dashboard of some sort), list of user stories that explain not just the “what” but the “how” and “why” behind your product.

I’ve once written a 100 Page API description after project delivery โ€” detailing every endpoint, every component, every business logic that we implemented and how.

Platforms like Jira and Confluence can be invaluable here, serving as repositories DURING development, which then can be exported for later use as your requirements, planning, and documentation. This includes business flow and architectural diagrams, tech stack information, detailed design documents, and even data models. These documents are not just paperwork; they are the blueprint of your product’s foundation. The more your external team invests into documentation during the development, the easier it is for you to take the project with you.

Protecting your intellectual property (IP) is another critical concern. Here’s it’s more or less straightforward โ€” the foundation of IP protection is a clear contract, NDA, and Statement of Work (SOW) that explicitly states your ownership of all developments, including code, ideas, and any IP created during the engagement.

The standard practice in software development is to do that AFTER all invoices are paid in full, there’s a clause in every statement of work, which transfers the IP to you and you become the sole owner after payment.

If you’re not technically inclined, consider hiring a temporary technical advisor who can oversee this aspect, ensuring that all legal and technical measures are in place to protect your IP. This includes ensuring that the development team uses a secure source code repository like GIT, with access strictly limited to individuals who have signed the NDA.

As your engagement with the development agency comes to an end, safeguarding your codebase becomes paramount. There are two questions here:

  • Where is the code stored?
  • Where is the code deployed?

Ensure that you have a process in place for revoking access to all your systems and that you maintain regular backups to mitigate any data loss risks. The transition of the codebase to your in-house team should be planned right from the start. It shouldn’t be a secret that you’re planning on taking the project in-house and the external agency should help you out with the process. A handover session of at least two hours with the development agency can facilitate a smoother transition, but from my experience you usually require a few of those. Don’t underestimate the value of ongoing support. Your new team will benefit from the ability to consult with the outgoing developers as they familiarize themselves with the codebase.

Remember, transitioning a software project is not a one-off event. It’s a process that requires time, patience, and cooperation from both your in-house team and the external agency. You cannot just say for example 31st of December the old agency stops working, and 1st of January your new in-house team takes over. No, there needs to be a 6-, 3-, or 1-month transition period where both teams work alongside each other. The goal is to ensure no loss of knowledge or assets, making the parallel support of the original developers invaluable.

I highly recommend you get someone tech-savvy on board to help with this transition. I can suggest myself, but if you have anyone else in mind, you can also work with them. Having your own expert or technical advisor can really make all the difference and save you some headaches.

Hope this has answered your question about what to expect form a development agency.

Cheers,
Vadim




Hot! The last couple of years I've been writing about CTO / Tech lead job. I've compiled all my knowledge into a printable PDF. I called it "256 Pages of No Bullshit Guide for CTOs". So if you're interested, take a look.

New! If you're a software engineer looking for a job, I started a Roast my Resume service, where I record a personalized video of me "roasting" your CV, which basically means taking a hard look at your resume as a CTO and commenting on all the good and the bad parts.

  • Logan G.

    Absolutely, the transition from an external development team to an in-house one isnโ€™t just flipping a switch. It’s more like a baton pass in a relay race โ€“ it’s got to be smooth to maintain the momentum. A detailed handover, where both teams work together over a period of time, cannot be underestimated. Sometimes, people overlook the fact that even after the handover, having a phase where the external team is available for queries makes a huge difference. It’s not just about moving codebase; it’s transferring knowledge and insights that can’t always be documented. This collaborative approach minimizes disruptions and sets a solid foundation for the in-house team to build upon.

  • Lucas Martin

    The whole “seamless transition” spiel from outsourcing to an in-house team is a tech utopia that seldom materializes. I had documentation delivered to me that was supposed to be exhaustive but turned out to be superficial at best, leaving my in-house devs playing detective with the codebase. what’s pitched in meetings and what happens on the ground are worlds apart, leaving me to wonder if tech projects are just inherently designed to test your sanity.

  • Cleo R.

    When I switched from an external team to in-house, making a detailed checklist simplified things a lot. Discussions between both teams were crucial, not just for issues but for syncing on the project goal. Regular backups and ensuring the new team could access everything they needed without hurdles were my focus. This process kept the transition smooth and stress-free.

  • Quinn

    Absolutely, protecting your intellectual property (IP) during and after development is essential. A clear contract and NDA are vital. This makes sure everyone knows who owns what. Sometimes people forget this important step because they’re excited about building something. It’s important to protect your ideas and code. Also, when you’re moving to your own team, talk clearly with the agency leaving. Don’t expect a smooth changeover with just documents. Real understanding comes from talking and asking questions. Plan well for handing over, with meetings to clear doubts. This planning helps avoid problems.