2020 will go down in history for many things. It is the year that introduced us to a deadly pandemic, the COVID-19 and added new terms to our vocabulary like social distancing, self-isolation and what-not. If you are an optimist like us, there’s still much to cheer about the resilience of the human spirit and the adaptability to make the best of a situation.
Remote work or work-from-home has become the norm now as the focus is on health and safety first. While virtual work is nothing new in today’s digital economy, it is perhaps for the first time that so many companies have decided to shut their offices and asked all of their workforce to work remotely.
In the software development landscape, virtual tools and solutions have become de facto. Not only are teams working remotely, most team members are working from their respective homes. Since the duration of this lockdown, shelter in place or other advisory is uncertain, it is important for companies to keep their teams aligned and ensure business continuity.
In the DevOps and Agile context, it means empowering your teams with the necessary infrastructure, tools, processes and security to continue business as usual. Here’s a detailed guide on how to facilitate them:
COVID-19 contagion has led to a surge in the use of SaaS based tools and solutions. What better time to make the most of the cloud and provide access to all your employees? At the same time, if you are a SaaS provider like QMetry, be prepared for the increased demand and upticks in usage.
Implementing the CI/CD pipeline using SaaS-based solutions
The four most important stages of the software development lifecycle can be easily implemented using DevOps best practices, collaboration tools and constant communication. Here’s how:
COMMIT: Developers can push their code regularly to a central source code repository like Git, SVN etc. This ensures the latest code is always accessible to all team members. Notifications ensure that other team members are alerted when code is pushed to the repository.
Since most developers are working remotely, they can push the code they have worked on to the Version Control System (VCS). All tools must be configured to alert relevant team members when change or addition is made.
This ensures that all developers working on a project are always in sync with the updates.
BUILD: DevOps tools like Jenkins enable to trigger BUILD tools like Docker, Maven, Gradle or Hudson once the developer has pushed the code to Git.
Again, the DevOps engineer who is working from home can configure Jenkins to trigger the build automatically. In case there are errors during compilation or any issue with the build, the tool can notify the developer immediately. And the developer can fix these errors at his end.
TEST: Test Automation is now more important than ever. It eliminates the need for manual intervention. Where manual testing is needed, testers are provided with the requisite test management tool such as QMetry.
There are two benefits to using a tool like QMetry:
- Easily create, plan and capture tests.
- SaaS based solution keeps all the tests synced in real-time.
In the next step, CI/CD tools such as Jenkins, Bamboo trigger the testing and gather all the testing results in the centralized test management tools such QMetry.
As a result, QMetry can provide insightful actionable reports that can be used by different personas
- Testers can easily check RTM and can improve the coverage and traceability
- Developers can instantly see the quality checks done by the testers and start working on failed tests.
- Management can access and check the reports on-demand to understand the market readiness of their product.
DEPLOY: As a next stage in the DevOps pipeline, CI/CD tools can automatically deploy the build into staging or production server.
The beauty of this whole pipeline is there is very little or practically manual intervention is required. Thus, each team member can accomplish their daily tasks and then the systems can trigger the related checkpoints and notifications to ensure the continuity.
Other tips for improving efficiency
There are many tools that remote teams are relying on to collaborate and communicate. Zoom meetings have become the default but you can also count on tools like Microsoft Teams, Atlassian tools, Slack and several others.
Since many of us are new to the remote or work from home culture, the key to efficiency is to maximize the use of technology and tools. Make sure the various tools that are hosted on the cloud are always updated with the latest statuses.
Remember that in every crisis, lies a potential to emerge better, stronger and more resilient. Just keep calm, stay safe and communicate, albeit virtually.