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
Investing in Digital Marketing in 2021.
In such a competitive environment, the need to increase your online visibility and optimize your site’s conversion rate often demands an investment in digital marketing tactics.
Alejandra Renteria — Jun 16, 2021
3 reasons your website still doesn't work on mobile
More than complying with Google, we believe that setting up your mobile site correctly is key for sites. From ranking higher, to optimizing performance and customer experiences, sites will undoubtedly work better when optimized for mobile from the ground up.
Alejandra Renteria — Jun 3, 2021
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