Software delivery is closely linked with organizational performance. Nicole Forsgren
That is one of the many interesting findings from the 2018 study by Nicole Forsgren and her co-authors. They found that organizations with are the best at software delivery are 50% more likely to be high performers.
And that is ultimately what we are here for. To help you get better at delivery so you can create better product that add more value to your customers and your organization.
So how does Linc help?
Building (and maintaining) Continuous Delivery pipelines is both hard and expensive. There are some great tools out there (such as Buildkite, Github Actions or Gitlab pipelines) to help you get started, but they are general purpose building frameworks by design. Which is their strength, because you can do anything with them, but you are still responsible for building and maintaining your pipeline.
What Glen and I realized is that with the convergence of front-end applications, driven by frameworks such as React, Angular and Vue, we can create an entire Continuous Delivery pipeline out of the box if we focus on just those.
And because your users experience your product through those front-end applications that is where the need for feedback and rapid iteration is the highest.
Software Delivery revolves around continuously asking yourself two questions: "Is it (still) working? and "Is this thing valuable?". So those are precisely the two questions Linc helps you answer and why our slogan is "Better feedback sooner".
The Three Steps to Releasing valuable software
I don't particularly like the word step, because it implies progress is linear, but it is the best word I could come up with. You want to be iterating and going back as soon as you learn something.
Before we can ship anything to our customers, we go through Build, Collaborate and finally Release steps.
With building, we don't just mean the writing of the code, but also testing. The most important piece of feedback during building is "Is it working still/yet?" So Linc helps you with that. We check out your code, build it and run your unit tests like a CI tool. But then we deploy the result, so you can do anything that requires a deployed version. Easily check out a change on your phone, tablet or a different browser. Kick off an integration test or a smoke test with your production back-end. Or run qualitative tests like Browserstack, Percy or Calibre.
Once you are happy that your change is working and nothing else is broken are we ready for the next step. Product Development is a team sport, so you will probably want to share your work in progress with other team members, designers, stakeholders or anyone else really. That is again where our preview links shine once again. By allowing anyone, even non-technical people, to instantly check out this change. Even against the production back-end. During collaboration, our focus is mostly on "Is it working?", but it is shifting to "Is it valuable?".
The last step is releasing. People often assume this is binary, but for mature delivery organizations, this couldn't be further from the truth. There are two concepts often used in this step, which not coincidentally map neatly on the "Does it work?" and "Is it valuable?" categories.
Canary Releases is a pattern where we slowly ramp up the rollout of the new version. Canary Releases allows you to monitor any metrics for anomalies and revert the change if necessary.
A/B Testing is a technique to answer the "Is it valuable?" question. Just like Canary Releases, this means running two versions in parallel, but the purpose is to run an experiment to see which version leads to better business outcomes.
However, it is even more critical that you can go to production quickly and frequently. Paradoxically this means focusing on safety & reliability. If you are confident in your ability to release and rollback, you can go live much more frequently. Moreover, this radically increases how much you can learn, especially around the value of your changes.
Linc currently supports fully automatic releases to Cloudflare Workers and AWS Lambda@Edge, with fully customizable webhooks coming soon. Support for Canary Releases & A/B Testing is on the roadmap for Q2.
So why Linc?
- Product Development is all about gathering (and acting on) feedback.
- The ultimate feedback (Is this thing valuable?) is only really answerable in production with real users.
- Which is why Continuous Delivery has a real impact to your bottom line.
- But Continuous Delivery is tough and time-consuming to set up and maintain.
- Linc is a fully configured Continuous Delivery Pipeline so you can immediately start to gather better feedback sooner by having every commit deployed and releasing much more frequently.