Software Development Value Adding Tools
Transcript:
Each software project is unique in that no one codeset is the same. Even though you implement the same software development process across each project, each phase is unique and there is not a one-size-fits-all approach. At PSI, we’ve invested in a few different value adding tools and practices to help our customers achieve the highest quality of code that they desire. Essentially, we consider these tools and practices part of our DevOps process in that they help to deliver higher quality code in a very efficient, automated manner.
The first practice I want to talk about is automated builds. PSI uses automated builds for multiple reasons, but primarily to ensure that the master branch of code is kept clean and free from warnings and errors. We also use it to make sure that all unit tests pass each time that new code checked into the code repository.
Many projects require more than just one developer to work on the code. Can you imagine how messy this could get without an organized way to integrate each developer’s progress into the master codeset? This is why we use a continuous integration tool. Continuous integration is the process of constantly merging developers code together into a single “master” branch or codeset. At PSI, we do this in tandem with automated builds, as new code is not merged with the master branch unless it passes the configured build process and unit tests. We use this as a kind of gate or barrier so that if more than one engineer is working in the codeset they can have peace of mind that they’re using the latest and greatest code and won’t have to deal with poor build issues or errors.
Configuration Management is an automated method for maintaining software in a known state and source control ensures that there are records of software changes, allowing developers to roll back to previous codesets at any time. Automated builds of which we already talked about and static analysis, more to come on that, are methods of ensuring that the code put into source control is of a certain level of quality. The goal of configuration management is to increase productivity while reducing the number of mistakes while coding.
There are also great practices to implement during testing. For example, our developers use a code coverage tool which tells them how much of the code is actually tested by the unit tests. In some cases, our clients may have a desired level of code coverage that needs to be met to satisfy quality standards, or this could just be a useful metric to determine the level of testing throughout the software.
Static analysis is a testing activity that identifies errors or security vulnerabilities in source code. When something deemed high-risk is flagged, the static analysis tool reports a violation for the developer to view and remediate. We use static analysis to find any issues that may have been missed with unit tests or manual code reviews. The particular static analysis tool that we use allows us to configure the static analyzer to ensure that certain standards are met. These standards may be configured based on internal development processes or design thresholds, ensuring coding best practices are met.
While this is just a high level overview of some of the tools we use at PSI, there are many more great ones out there. As always, we are here to help! Be sure to ask us about these value adding tools and practices when considering your project needs. We can walk you through the specific ways in which they can elevate the quality of your project and source code.
No Comment
You can post first response comment.