A common problem in IT departments lies in maintaining a high quality of work when the company undergoes an increase in the number of employees. I’ll demonstrate some lessons learned, based on companies we were helping.
Most of them had the same problems – they had not been maintaining their knowledge base, nor were they utilizing any well-written standards or procedures. In most cases, writing down simple checklists was sufficient to significantly improve their productivity and quality of work.
For keeping all of the company’s knowledge, including later discussed best practices and procedures, you should utilize your own company’s Wiki.
It fits great for keeping your company knowledge base. The wiki should be maintained and expanded all the time by the whole team. New ideas, concepts and lesson learned from projects should be written by the entire staff. Articles should be categorized or tagged and smart-named, as they must be easy findable.
Thanks to this documentation, the knowledge will be never lost and will be available for new employees – overhead needed for starting work will be minimized.
At the top of the IT hierarchy lies the development procedures.
This could include step-by-step descriptions for things like:
- Deployment procedures – How to deploy an application to the production server
- Crash treatment – How to use the replica server if the master is down
- Infrastructure maintaining – How to switch servers without downtime
- Git workflow – How to work on multiple branches and what’s their meaning
Having standardized procedures will ease repetitive tasks. In particular, they will be handy with emergency situations, when quick action is crucial.
Written standards for development help to provide better quality code, especially when your team grows and it’s impossible for one senior employee to control everything.
Coding standards can consist of:
- Code naming – Where to use camelCase or under_score conventions
- Commenting – Which methods and classes should have comments
- Structure of the code – How to keep indentations and write control structures
- Best practices related to database modeling or integration with web services
Of course, don’t introduce everything as it comes – you should personalize development guidelines for your company’s needs.
For example, we discourage developers from writing comments for every class or method, as we think that readable code is self-documenting. Only complex functions with heavier logic should come with appropriate comments describing the purpose of the code.