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
Are Spree sites meeting Google’s page speed standards?
A study of 680 sites built on the Spree OS platform reveals nearly all are mobile friendly, but only a handful achieved a mobile speed score high enough to be considered by Google as performing well.
Barry Harrison — Sep 12, 2016
Machine Learning and eCommerce Talk at SolidusConf
I recently spoke at SolidusConf about Machine Learning and eCommerce
David Jones — Jun 14, 2016
Top 7 Product Recommendation Options
Top 7 Product Recommendation Options Ranked by Revenue Generation
Barry Harrison — May 31, 2016