Over the years I’ve been asked to evaluate an array of closed source codebases, many with several years' history. Without even running an application, I can identify a lot about the project state, the people involved, and the business behind it.
Your codebase and more importantly the version control history tells an incredible story. This history gives you a list chronological list of every change made and who made it.
Looking through version control history is like reading someone’s diary. All the secrets are on the table.
You find out the following right away
- How many developers have worked on the application? Individuals or teams?
- What was the engagement like? In house, freelancers or a consulting company?
- Who was there when the project started?
- How much impact has each developer made on the project?
- When was the majority of the project developed?
- What’s the developer churn look like?
- What’s the code quality like? Has it been hacked together or is it well factored? Is it well-architected or is it a mess?
- How up to date are the dependencies within the project?
- Is there a test suite?
- Have aspects of the codebase been replaced many times before?
Based on what you’ve now learnt, you have to ask yourself the harder questions
- If no one seems to stick around on this project, why? Is it the business direction? The people? Was the state of the project beyond repair?
- What level of skill did the developers that worked on it have? How well was the knowledge transferred through the team?
- What security risks exist within the dependencies and the codebase itself?
Next you can start to get a picture of the business
- Based on when and how many people were added you can estimate the development expenditure.
- Has the project been hacked together possibly due to the way the development funding was spent? Or was there a lead developer that stuck around and took responsibility for the project’s health?
- Who was the key person responsible for the technical aspects of the project and did they establish a clear direction?
- Is it going to be easy to attract new developers to work on this project or is it dated and frustrating to work with?
- Is there evidence of specific business problems within the codebase?
Now that you know how to listen to your codebase, what is it saying about you?
Join The Conversation
More On The Blog
Why is it so hard to get an estimate for a software product?
Getting an accurate estimation for your software product can save you time, money and countless headaches when building your site, MVP or product.
David Hemmat — May 20, 2021
What open source can offer eCommerce sites.
In this article we will be looking at the most typical categories to choose from and giving you our take on what open source can do for your brand.
Alejandra Renteria — Sep 24, 2020
Grocery eCommerce: insights for the future of supermarkets.
In this article we'll take a closer look at trends and success factors driving the grocery eCommerce industry forward.
Alejandra Renteria — Sep 22, 2020