Technology at our KOR

We have strong beliefs on how to create software in a fast, safe, accessible, resilient, and secure manner. To achieve this, we embrace the following principles:

    Software Development Lifecycle

    SDLC or the Software Development Life Cycle is a process that produces software with the highest quality and lowest cost in the shortest time possible. SDLC provides a well-structured continuous flow of phases as part of short iterations that helps KOR to quickly produce high-quality software which is well-tested and ready for production use.
    Technology page tab graphic
    '

    Lean Requirements Gathering

    +

    KOR aims to always solve the most important problem, in a way that yields the highest value, in the shortest amount of time. KOR applies the scientific method to software development:

    1. Make a hypothesis: “I assume by building X, I will achieve Y which I will be able to verify looking at metric Z.
    2. Validate or invalidate the hypothesis as fast as possible.

    User Centered Design

    +

    KOR applies User Centered Design (“UCD”) to gather the requirements in an unbiased way, using user research and high fidelity prototyping. Observing, interviewing, understanding, synthesizing everything heard and observed from the actual user into requirements that can be prioritized.

    Note: regulated specifications do not fall under the UCD approach as they are formally defined in advance by the regulator.

    XP Development

    +
    Once features have been researched, hypothesized and prioritized, they can be implemented into the Production code. KOR applies Extreme Programming (“XP”) practices such as listed in section 1 of this policy. The combination of Lean Requirements Gathering, User Centered Design, and XP Development allows KOR not just to build features fast, but to build the right features fast, in a maintainable way.

    Deployment Gates

    +
    Technically, any code change that passes the entire battery of tests has the confidence and ability to be deployed to Test and Production. However, KOR is subjected to regulatory constraints limiting the ability to deploy features at will. Prior notice for changes must be taken into consideration and can block deployment for a considerable amount of time. Deployment gates protect changes from automatically impacting Clients and Regulators and follow the Four Eyes Principle. The alternatives are feature flags and dark launches, allowing deployments to happen without making any change to the Clients or Regulators functionality.

    Strategic Rollout and Automated Rollback

    +

    Every deployment KOR performs holds a risk of impacting Clients and Regulators in case something goes wrong. Limiting the chance of that happening is essential. KOR firmly believes that the way to decrease the likelihood of deployment failure is to deploy more often. Traditional release strategies group changes together into monthly or quarterly releases. These big bang events hold dramatic amounts of risk due to the greater number of released changes and greater rarity of deployments. If each change can be deployed using feature flags right after it has been developed and tested, the risk of failure is greatly reduced. Feature flags can support either set future timestamps for automated activation or manual activation.

    Even minor changes can cause issues. That is why KOR limits the blast radius of production issues by employing rollout strategies. KOR gradually exposes new versions with minimal new functionality to production via a common strategy often referred to as canary releases. After each increment the health and correctness of the new version is measured and compared to the previous version. As long as the automated tests validate the updated version to be healthy and working correctly, exposure to the new version is increased. If, however, the new version is deemed unhealthy, an automatic rollback is performed. This entails the new version is taken out of service and all traffic is rerouted to the previous version. This is done fully automatic to limit the blast radius of production issues.

    KOR employees are encouraged to always make backwards compatible changes. Backwards incompatible changes often obstruct running two versions in the same environment at the same time. In those scenarios, strategic rollout is impossible and automated rollback is not an option. Mitigating production issues by patching the newly deployed version and releasing said patch quickly, known as rolling forward. KOR’s release strategy based on small changes flowing quickly to production using feature flags and dark launches allows rolling forward in those situations.

    Changes to Regulatory Systems

    +

    For all regulatory system changes, including any supporting systems, a plan of coordination and communication between regulatory and other personnel of KOR, including by responsible personnel, regarding systems design, changes, testing, and controls designed to detect and prevent systems compliance issues. The KOR CCO of the respective system must approve any changes that may impact the regulatory compliance functionality.

    Solutions we leverage to gain speed

    We are building our platform by using top of class tools and frameworks. KOR not only uses these solutions but also engages and contributes back to the OSS community where we can. In 2022 we officially became Kafka contributors. KOR is proud to count several ex-Spring engineers in its ranks.

    Our favorite tools and frameworks: Spring / Kafka / Angular / Figma / Kubernetes / Argo / Github

    Our SaaS solution is leveraging other best in class solutions like: AWS / Confluent / ElasticSearch / DataDog

    Technology page tab graphic
    '