Starting code quality workbench for research projects
SmartCampus ARM64 Architecture with CI Pipeline and Monitoring enabled

Starting code quality workbench for research projects

Last year SmartCampus have setup a private GitLab CE instance at the university to organize code oriented projects and follow up. After rationalizing past and ongoing projects, we quickly realised we must provide more than code versioning to the community. We started CI pipeline for internal SmartCampus workflows and decided to organize issues as the single source of truth for our code management.

But something was still missing... What makes research projects so different?

When you provide commodities to research projects you generally face specific requirements that are not very common to other projects : hardware and software architectures are generally custom, fairly rare or uncommon, there are significant grey areas where decisions should be taken but need further investigations, state of arts may not have been written yet, the project life time can span over several research missions that may not overlap, etc.

This makes at least reproducibility, scaling up and knowledge and technology transfers complexer than usual. But this is not a fatality, associated risks can be reduced to an acceptable level by using ad hoc and available tools and disciplining ourselves to methodological work methods.

In this tentative to fill the gap at the university we decided to start the Research Code Quality Workbench, a place where specific hardware, pieces of software, code and project managements can blend seamlessly and shoulder the community in their goal to deliver a final product with a level of quality allowing scale-up and industrialization.

This is why we started this workbench this year.

How do we proceeded ? The recipe is quite simple: we did not reinvent the wheel, we used tools we already put in production, started missing ones and adapted them to the need. Mainly, we:

  • Properly setup users, groups, projects, tags, milestones and issues to meet project management needs. We provided help to organize different pieces of software into logical projects and the necessary support to glue them together;
  • Introduce code quality templates with all quality tools built-in. Then developers can inject their work into this template without worrying about surrounding quality processes or fine tune it if there is a need or willingness to do so;
  • Connect required hardware to the SmartCampus network and instanciate runners to pick up CI pipeline jobs. At this point we can reproduce real environments and provide insurance to our users their work can be reproduced and validated meanwhile easily working in team.
  • Inject metrics and logs shippers into CI host to monitor the complete process and to provide objective source of information to compare design decisions and investigate performance or architecture issues.

This is where we are at the very beginning of 2021, starting the Research Code Quality Workbench to shoulder code oriented projects coming from research to:

  • Simplify and unify the code and project managements;
  • Provide automatic code quality tools even for very specific projects based on bleeding edge technologies;
No alt text provided for this image
  • Ease reproducibility, debugging and monitoring to support software architect and developers to deliver product compliant with the project specifications;
  • Take all components required for knowledge and technology on board from the very beginning of the project.
No alt text provided for this image

We hope the community will enjoy this workbench and take advantage on what it can offer. Thank you to our early adopters whom already on-boarded and are testing the platform. Lets make more projects with a quality by design mindset!

Like
Reply

Very creative and proactive approach to tackle the lifelong issue of technological debt academic-developed code often suffers from. Congrats for the professional implementation!!!

To view or add a comment, sign in

More articles by Jean L.

Others also viewed

Explore content categories