preloader

Many different roads can lead to feature-packed, functional, and visually appealing software.  

If we take 1969 – the year when ARPANET (the predecessor of the modern-day Internet) was launched – as the pivotal year in the Information Revolution, we can see that the development, integration, delivery, and deployment have come a long way.  

What used to be an obsession of a narrow circle of computer scientists has become a life-changing, globally present industry. 

And the way software is developed has forked off in various directions. For the time being, a seamless workflow between interconnected softdev teams, often baptized as the DevOps principle, is one of the most effective approaches to software and – dare we say – business development.  

Continuous integration (CI) and continuous delivery (CD) are part of this DevOps philosophy. 

The aim of this guide is to explain how the CI/CD pipelines work, with their specifics and advantages.  

Continuous Integration vs. Continuous Delivery 

The main purpose of the CI/CD pipelines is to deliver top-notch software at reasonable speed. To get there, every single person working on the project in question must be mutually connected, their code intertwined.  

Let’s break it down into simple parts. 

Imagine you’re building a car. In the old days, you might have waited until the entire car was built before turning the key to see if it works. That’s risky because if something was wrong, you’d have to dismantle parts of the car to find the problem. CI and CD change the game. With CI, you’re checking each part—like the engine, brakes, and lights—as you go. It’s like making sure each puzzle piece fits before adding the next one. 

CD takes it a step further. Once you know all the parts work well on their own, CD ensures they work well together and can be sent off to the customer with confidence. It’s like after building our car, we take it for a test drive, fine-tune it, and then it’s off to the market. 

The Basics of CI 

Code integration is continuous if any potential issues in one code source are detected and sorted out on time.  

If there’s a clog in only one pipeline, we might experience delays in code submission, miss deadlines, and postpone product launches. 

In other words, if only one developer were stuck with their work, we would have a butterfly effect and the entire process would lag behind.  

The first move toward an ideal CI environment is to commit code to a shared repository frequently. When a developer commits code, it launches a workflow on a CI server. From there, developers are notified of any issues that might have happened during the integration of their changes. A repo that’s maintained in such a way is protected from the so-called code-merge mess.  

Imagine a situation in which the UX designer has sketched and mapped a new mobile app, the backend developer built the relevant API in two months, and their frontend counterpart spent three months working on UI. After these five months, the final product turns out to be a dysfunctional mishmash.  

But if all the developers working on the same project submit their code in line with the pre-arranged schedule and tempo, voila, CI is implemented! Here are a few screenshots of a CI/CD pipeline from one of our software development projects:

When Does Continuous Delivery Come In? 

The continuous delivery principle, on the other hand, is here to ensure the releasability of every change in code (bug fixes, new elements, configuration improvements).  

In other words, it’s the transition from frequently tested and spliced code to software whose functionalities actually resolve a certain problem for end users.  

Turning code into software is the Build process. When code enters this stage, it’s still not ready for production. As a matter of fact, it takes a lot of testing and iterations to develop bug-free, applicable software.  

This is where quality assurance (QA) takes over. It’s the umbrella term that contains all the unit tests, automated testing, manual tweaking, and any other efforts that contribute to getting clean and operable software. After all, there’s no continuous delivery, no DevOps without continuous testing. 

BM Insight: We approach QA with special care and attention by doing our best to leave no glitch unrepaired; this zero tolerance to bugs has worked for us perfectly so far. In a nutshell: if it hurts, do it often and it will hurt less. Even if an error occurs, our test engineers are here to react at once and fix the issue. Find out more about our stance on QA in the blog post Quality Assurance: The Measure of Software Development Excellence.  

Why CI and CD? 

When you’re buying a new TV, do you only look at the price or do you also take into account(ing) some other features? The screen resolution, colors, contrast, gaming vs. regular mode, delivery time, warranty, and users’ reviews are also part of your customer journey (pipeline) to get the most suitable TV-set currently on the market. If only one of these checkpoints seems subpar, your interest in the given TV-set will wane. 

The same goes for clients searching for the right software development company. 

For some clients, the project cost is the eliminatory factor. Indeed, every investor wants to know the approximate return on investment for their forthcoming endeavor.   

However, most C-level executives and managers stand aside to see the big picture. Yes, the costs are always important, but they might want to know how many people this potential software provider can allocate to the project. They might also check out the business premises and get a deeper impression of the company in question. They’ll probably want to see the case studies of previous projects, as well.  

Only then do they agree to open the core negotiations – the number of developers, testers, and other relevant experts for that IT project, the launch deadline, the approximate milestones and Sprints, etc. 

Technical Benefits of Continuous Development 

Now, why should all the above matter to you? 

CI and CD allow developers to meet deadlines without sacrificing the software’s quality. It’s a win-win. You get your product faster, and it works better. 

This approach has changed the game for many software development teams. It’s not just about getting the job done; it’s about getting it done right and fast. CI and CD have become essential tools in a developer’s kit, ensuring that software can be developed, tested, and released more efficiently than ever before. 

IT companies and teams that haven’t switched to this innovative approach often experience the merge mess. This happens when you want to merge code bits submitted by different developers without prior testing along the way but postpone the testing until after the merge.  

Starting with testing only when code from various sources has been submitted can hardly go without time-splurging and launch-postponing issues. However, for some companies and clients, this traditional approach might be suitable for shorter, less complicated software development projects. 

For our company, ‘test early and test often’ is the only way to go because we usually take on complex collaborations. This isn’t because we’re complicated people but because we typically immerse ourselves into projects that change the world around us. As a rule of thumb, innovative software products demand cutting-edge technologies. For instance, our latest contributions on groundbreaking tech-health projects require a seamless collaboration between various teams, both in-house and outside BrightMarbles. Therefore, we heavily rely on DevOps, CI, and CD.  

Carna Health and the Health-Tech Revolution 

For instance, our recent health-tech softdev project Carna Health has activated most of our know-how, experience, and innovation. Aimed at helping people detect chronic kidney disease (CKD) at an early stage and get blood results from the comfort of patients’ homes, the Carna Health platform and apps are already used for initial patient screenings in Bermuda. Planned to be accessible globally and improve the lives of millions of people, this project is one of our most significant tech contributions to the community worldwide. From our point of view, this is only the onset of ground-breaking projects in the health(&)tech industry that BrightMarbles Group is going to take part in.  

BM Insight: The ‘test early’ principle mentioned above is something we advocate in every project we work on. From our experience so far, it’s turned out to be the best possible method. Clients get the first results much faster; we can prepare the PoC (proof of concept) or MVP (Minimum Viable Product) on time, and the entire development procedure is more effective. As a result, we provide a faster release – well, at least the Beta stage, to collect the necessary user reviews, fix the issues, and polish the product for the official launch. Read more about our approach to software testing from the blog post Shift Left Testing: A Key for Improving Your QA Strategy, by our test engineers Bojana Šatara-Anić and Marina Vuković.  

DevOps, CI and CD at BrightMarbles Group 

In one of our earlier blog posts, we discussed the matter of DevOps with Sanel Jovanovic, the IT Director at Brightly. In this interview, he underlined how important the DevOps approach is for time-saving, budget-cutting, product-polishing development:  

“To keep all our work safe and easily accessible in the cloud, we work with the most relevant mainstream cloud providers – AWS, Azure, and GCP – it’s usually a safe bet, plus, most of our seniors possess the know-how on at least two of the three mentioned. Working with other mainstream tools, such as K8s, Terraform, and other similar options is also a must for proper DevOps services to offer a full range of services.  
 
Besides, as mentioned above, on all our project we tend to implement all available supporting tools that ensure Code Quality, application and infrastructure code, such as SonarCloud, Checkov, TFsec,TFlint etc., as well as security tools, like Dependabot, Snyk, and/or SteamPipe etc., and other relevant solutions.  

We implement our framework during the project estimation stage. Hence, all the team members can be onboarded in no time, which is a more efficient option for all interested parties in every project.” 

When all engineers and other experts working on a softdev projects are mutually connected as explained above, we ensure mindful software development – a philosophy behind software solutions that brings together CI, CD, omnipresent testing, and speckless product releases.  

Our goal is to construct software along the following path whenever possible: 

Idea ——- Code ——- Build ——- Deliver ——- Deploy ——- Launch ——- Learn ——- Repair 

Our engineers, team leads, and company managers offer everything they know about the technical and business aspects of software development. Also, we can go beyond core technical questions, because our design and marketing team happily offer their expertise. These insights are valuable for clients wishing to build software from scratch with BrightMarbles. From market research and competitor analysis to our designers’ advice, wireframes, and estimates, we cover the whole nine yards of product idea validation.  

Finally, we implement all the necessary security measures, both during the development process and in its aftermath. The UN1QUELY cybersecurity team operating within the BM jurisdiction possesses all the relevant certifications, qualifications, and practical knowledge to test and protect our every solution before the delivery or launch.  

Conclusion 

We at BrightMarbles Group often like to say that we’re not only developers and tech experts, but a handpicked troupe of devotees who craft life-changing solutions. If it were different, we wouldn’t take such a (pro)active role in building truly innovative solutions in the health-tech industry. We’d just trim the sails and ride the waves in the sea of popular fields. (Did someone say iGaming?). 

But we want to make a difference, from the projects we agree to take part in, to the technologies we use and the methodologies behind them. Implementing DevOps – together with CI&CD and our cybersecurity features – combined with our unique projects, makes our enterprise more than a mere business – we want to be the beacons of the exciting yet meaningful future in the IT industry. 

This is how we’ve shaped a brand that overcomes challenges – by making pledges, fulfilling promises, and guaranteeing state-of-the-art products and services. 

If you want to entrust BrightMarbles Group to build your software and trample down your tech problems, ping us and we’ll arrange a discovery workshop: https://brightmarbles.io/contact/.