Ok, so you’re a programmer and your management just bought this new piece of software to use internally in your company, but is not sure of the code quality it delivers. You’ve been asked to check if this whole brand new thing is actually worthwhile, where do you start?
If you start googling around you will get a whole bunch of high-level terminology with not much direct down-to-earth information on what exactly to consider when reviewing such big codebase.
Well, let’s start with a software review checklist for a person with programming background:
- Static code analysis with automated tools
- Regular ‘human’ code review
- Reading documentation delivered along the software
- Software environment – where is resides/ hosting etc.
- Functional check up
- Licensing issues
- UX
Step one – gain general knowledge of what’s the software purpose
This is a high-level and crucial one. You need to understand what the general problem was behind acquiring this given piece of software in the first place. Unfortunately, it often happens that the business department of your company may have miscommunicated with the technical side of your company, and as a result your company is buying something that they may not need at all. There may be better options on the market already for that particular business problem. Communication is crucial during this step and you need to take time to understand sometimes very complex workflows and data flows to assess if the software is fit for the purpose.
Step two – Reviewing documentation delivered along software
Once the initial analysis has been completed, you can move on to reviewing the documentation, reading/performing the tutorials for the end user of the software, any developer info for maintaining or enhancing the software – that is very important if you are planning on software maintenance of your own. Take notice if the documentation is well maintained, broad enough to cover all doubts, if it’s up to date with the latest versions, easy to read and browse through. You will appreciate that later once you will have a hotfix to make and finding information would be time consuming.
Step three – Functional check up
You already have enough knowledge of the software purpose and how the software should work according to the documentation you’ve read. It’s time to check if the real-life solution delivers the promises. Depending on the situation, you may have to host the software somewhere for broader audience, spin it up locally on your machine, or leave it up to the vendor to have this done for you.
Best solution would be to have this already hosted in a place where other users could have easy access. Do not depend on your sole expertise, especially when you are checking the software from the business requirements perspective. Your views may be biased, and business users can have different opinions when it comes to user experience especially if they will be using the software daily. Great if you can have an UX expert in place to do the check up along you.
Leave a Reply