{"templateId":"markdown","sharedDataIds":{},"props":{"metadata":{"markdoc":{"tagList":["typography","box","badge"]},"redocly_category":"Articles","type":"markdown"},"seo":{"title":"Working data harder (1) - how and why we developed a Lean SDLC","description":"To become faster and better, Access Worldpay has created a Lean SDLC that automates metrics and shares tools and knowledge.","siteUrl":"https://docs.worldpay.com/access","image":"/access/assets/worldpay-logo-light.21b7daf79984773a9fcd7d4fbcb07ae5289dfffd6023c4c3dca720c7058e53dc.33f780a6.svg","keywords":"documentation, api, openapi, sdks, developer, payments, json, payouts, 3ds","jsonLd":{"@context":"https://schema.org","@type":"Organization","url":"https://docs.worldpay.com/access","name":"Worldpay"},"meta":[{"name":"google-site-verification","content":"zjziIKaP3ImsqsfhYnEBnq1R85UabiSwl7HTXuwtZuo"},{"name":"doc_product","content":"Access"},{"name":"doc_category","content":"Documentation"}],"llmstxt":{"hide":false,"sections":[{"title":"Payments API","description":"Payment orchestration API combining fraud assessment, 3ds authentication, SCA exemptions, Worldpay Token creation and a card or wallet based payment.","includeFiles":["products/payments/@20240601/**/*"],"excludeFiles":[]},{"title":"Payment Queries API","description":"Querying your payments data, based on a variety of parameters.","includeFiles":["products/payment-queries/@v1/**/*"],"excludeFiles":[]},{"title":"Card BIN Data API","description":"Provides detailed information about a card.","includeFiles":["products/card-bin/@v1/**/*"],"excludeFiles":[]},{"title":"3DS Authentication API","description":"Request 3DS authentication to protect against fraud, be SCA compliant and to shift liability using this standalone API.","includeFiles":["products/3ds/@v3/**/*"],"excludeFiles":[]},{"title":"FraudSight API","description":"Request a risk assessment and receive a response with an outcome (e.g. lowRisk) using this standalone API.","includeFiles":["products/fraudsight/@v1/**/*"],"excludeFiles":[]},{"title":"Checkout SDK","description":"Integrate using our clientside SDKs for both web and native devices. Benefit from SAQ-A/PCI-SSF compliance.","includeFiles":["products/checkout/web/@v2/**/*","products/checkout/ios/@v4/**/*","products/checkout/android/@v4/**/*","products/checkout/react-native/@v3/**/*","products/checkout/flutter/@v1/**/*"],"excludeFiles":[]},{"title":"Tokens API","description":"Minimizes the exposure of sensitive card details and increases the security of your customer's card details.","includeFiles":["products/tokens/@v3/**/*"],"excludeFiles":[]},{"title":"Card Payments API","description":"Request a card payment using this standalone API, requires separate requests for 3DS, Fraud assessment etc.","includeFiles":["products/card-payments/@v7/**/*"],"excludeFiles":[]},{"title":"Card Verifications API","description":"Verify your customer's card to maximize your authentication rates.","includeFiles":["products/card-verifications/@v6/**/*"],"excludeFiles":[]},{"title":"Account Payouts API","description":"Send funds to your customer's bank accounts and search for payouts using parameters.","includeFiles":["products/account-payouts/@20250101/**/*"],"excludeFiles":[]},{"title":"APMs","description":"Pay using eWallets, bank transfers, direct debits, local card schemes, Postpay and eInvoice/ Buy Now Pay Later.","includeFiles":["products/apms/@20240701/**/*"],"excludeFiles":[]},{"title":"Balance API","description":"Request your account details for a single account or all accounts under an entity.","includeFiles":["products/balance/@20250101/**/*"],"excludeFiles":[]},{"title":"Card Payouts API","description":"Send funds to your customer's cards.","includeFiles":["products/card-payouts/@v4/**/*"],"excludeFiles":[]},{"title":"Events (Webhooks)","description":"Receive status updates from Access Worldpay by setting up a webhook.","includeFiles":["products/events/@v1/**/*"],"excludeFiles":[]},{"title":"FX API","description":"Manage Foreign Exchange (FX) on your payments.","includeFiles":["products/fx/@v1/**/*"],"excludeFiles":[]},{"title":"Hosted Payment Pages (HPP) API","description":"Our low-code option to take payments securely at the lowest PCI compliance level - SAQ A.","includeFiles":["products/hosted-payment-pages/@v1/**/*"],"excludeFiles":[]},{"title":"Money Transfers API","description":"Money Transfer OCTs (Original Credit Transaction) allow funds to be pushed to an eligible card in 30 minutes or less.","includeFiles":["products/money-transfers/@v1/**/*"],"excludeFiles":[]},{"title":"Parties API","description":"Create parties, manage your payout instruments and beneficial owners and carry out identity verification checks.","includeFiles":["products/parties/@20250101/**/*"],"excludeFiles":[]},{"title":"SCA Exemptions API","description":"Maximize a frictionless checkout experience by using issuer data insights to apply exemptions.","includeFiles":["products/sca-exemptions/@v1/**/*"],"excludeFiles":[]},{"title":"Split Payments API","description":"Divide funds from a single payment amongst yourself and your parties/sellers.","includeFiles":["products/split-payments/@20250625/**/*"],"excludeFiles":[]},{"title":"Statements API","description":"Retrieve your account statement and see individual entries for all credits and debits.","includeFiles":["products/statements/@20250101/**/*"],"excludeFiles":[]},{"title":"Transfers API","description":"Transfer funds from source account to target account.","includeFiles":["products/transfers/@20250101/**/*"],"excludeFiles":[]},{"title":"Verified Tokens API","description":"Verified Tokens ensures that your customer's payment details are valid and CIT compliant when creating a token.","includeFiles":["products/verified-tokens/@v3/**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Typography","attributes":{"fontSize":"1.2em","as":"div"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/articles"},"children":["← Back to articles list"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"working-data-harder-1---how-and-why-we-developed-a-lean-sdlc","__idx":0},"children":["Working data harder (1) - how and why we developed a Lean SDLC"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"to-become-faster-and-better-access-worldpay-has-created-a-lean-sdlc-that-automates-metrics-and-shares-tools-and-knowledge","__idx":1},"children":["To become faster and better, Access Worldpay has created a Lean SDLC that automates metrics and shares tools and knowledge."]},{"$$mdtype":"Tag","name":"Box","attributes":{"display":"inline-flex","gridTemplateColumns":["1fr 1fr","1fr 1fr 1fr","1fr 1fr 1fr"],"gridGap":"1rem","mt":"1rem","mb":"1rem"},"children":[{"$$mdtype":"Tag","name":"Badge","attributes":{"size":"small","fontWeight":"bold","color":"white","mt":"0rem","mb":"0.5rem","px":"1rem","py":"0.5rem","borderRadius":"6rem","bg":"var(--wp-colour-light-blue)"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ways of working"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Written by ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["the Access Worldpay Team"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","08 September 2021"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To provide our customers with a better, faster payments platform, we're optimizing how we use data to enhance our decision-making. This has led us to develop a version of Lean SDLC where we automate operational metrics and share tools and expertise more effectively. In the first of two articles, we explain what we're doing, and why."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We just knew we could be faster. Previously, our development teams worked separately from technical service owners, service transition teams and support teams. The result was endless, circular conversations between them about functional and non-functional priorities. Not only did this cause frustration, it also demanded time and effort that delayed our Time to Live."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The issue was exacerbated because Access Worldpay's platform uses a lot of micro-services that we've been building out rapidly. Such expansion promised to turn an unwieldy structure into one that would soon become truly unsustainable."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"build-out-better","__idx":2},"children":["Build out better"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This was the trigger that prompted us to develop a version of 'Lean SDLC'. Instead of implementing yet another organizational restructuring, we've tried to completely reimagine how we build our platform, based on our tribe's central principles of empowerment, efficiency and collaboration."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Our Lean SDLC has three interlocking components:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Process"]},": what does the new process need to look like?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["People"]},": how can we transform people and improve teams to achieve what we want?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Technology"]},": what tools do we need to make this work?"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"five-key-metrics","__idx":3},"children":["Five key metrics"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Although tailored to our specific needs, Lean SDLC borrows heavily from industry best-practice work by Google and other companies.",{"$$mdtype":"Tag","name":"sup","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["1"]}]}," Drawing on seven years' worth of industry data, this work identified five key operational metrics:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Lead time"]},": how long do we take to build and release our code?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deploy frequency"]},": we want to make rapid, safe changes, so how often do we deploy new code?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mean time to restore"]},": when things break, how quickly can we restore service?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Change fail percentage"]},": our changes should not be causing problems so we need to focus on this metric."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Availability"]},": how available are services right now?"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The industry research demonstrated that optimizing these five metrics through a prism of continuous service improvement doubled the chance of meeting your business objectives. This sparked our interest, particularly as data for all five metrics was already available to us, albeit imperfectly formatted and unreliably located, so time-consuming to compile."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-metrics-reloaded","__idx":4},"children":["The metrics, reloaded"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A clear starting point, therefore, was to improve our ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["process"]},". Just as we've been improving use of customer-driven data, we needed to do the same operationally. We created a Lean SDLC site that automatically collected the data behind some crucial metrics, including the five listed above. The aim was to make it quicker and easier for development teams to access the data and benefit from the insights offered, so that \"we could pull some of that knowledge and experience out of the operations teams and into the development teams,\" says service owner Sophie Hirst."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The site includes several Lean SDLC techniques, such as continuous delivery, that cover the end-to-end service development lifecycle. Teams can drill down into each technique to see key behaviors and metrics for each one. \"The idea is that displaying these techniques gives teams a better understanding of them and the underlying behaviors and metrics,\" says Sophie. \"And there's also lots of extra support sitting behind all this, including some awesome videos.\""]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tools-and-tech","__idx":5},"children":["Tools and tech"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Alongside the Lean SDLC site is 'Lean Stack', our ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["technology"]}," and tooling component, which provides a directory of essential tooling that we've already examined and tested and found to be fit for purpose."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["By way of example, if a team needs to set up on-call alerts, Lean Stack provides a recommendation for which tool to use and explains how to set it up and how the alerts flow. \"We're simply trying to remove blockers so it's easier for all our teams to go on this journey,\" says Sophie. \"It's fine for a team to do something different, but they then have to do the all the legwork themselves.\""]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"cross-cutting-communities","__idx":6},"children":["Cross-cutting communities"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The third cog is about ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["people"]},". Here, 'Lean Communities' helps us export knowledge and experience from centralized operations teams into development teams. It contains a number of online 'community practices' that cut across all the domains using Lean SDLC. Each community practice involves a combination of people, including an expert community leader who knows how things should work, other experts and interested parties, domain representatives, plus new members who are there to learn."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/access/assets/3-cogs.c0123f63229fe8a3f7e1611c9b916ddbdc87f1078ea23ff3c491dd2233ec41db.2d9e4d95.png","alt":"3 cogs showing SDLC, Stack and Communities"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Lean Communities is an effective way of sharing operations expertise with development teams, and of enabling new teams to familiarize themselves with Lean SDLC very quickly. It also helps teams tackle difficulties quickly. For example, within the testing community somebody might be struggling with integration testing, Sophie explains: \"They'll have a conversation within the community about what 'good' looks like and once they're in agreement, they'll document it so it's available for others.\""]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"principles-based-development","__idx":7},"children":["Principles-based development"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In summary, this is the version of Lean SDLC that we've developed for our teams. As mentioned earlier, throughout the process we've been guided by our tribe's core principles:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Lean Communities"]}," exemplifies our collaborative approach."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Lean Stack"]}," is a straightforward way of driving greater efficiencies in key areas, like tooling."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Lean SDLC"]}," empowers development teams by providing quick and easy access to key metrics which they can use to inform their priorities and decisions."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/articles/working-data-harder-pt2"},"children":["second article"]}," covers this third point in more detail. It explains how Lean SDLC is being used by development teams, discusses the impact it's having on our productivity and explains how we plan to improve it further."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"sup","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["1"]}]},"The industry research can be found ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.devops-research.com/research.html"},"children":["here"]},". Our work also drew heavily upon the insights found within ",{"$$mdtype":"Tag","name":"cite","attributes":{},"children":["Accelerate: Building and Scaling High Performing Technology Organizations"]}," (Dr Nicole Forsgren, Jez Humble and Gene Kim)."]}]},"headings":[{"value":"Working data harder (1) - how and why we developed a Lean SDLC","id":"working-data-harder-1---how-and-why-we-developed-a-lean-sdlc","depth":1},{"value":"To become faster and better, Access Worldpay has created a Lean SDLC that automates metrics and shares tools and knowledge.","id":"to-become-faster-and-better-access-worldpay-has-created-a-lean-sdlc-that-automates-metrics-and-shares-tools-and-knowledge","depth":3},{"value":"Build out better","id":"build-out-better","depth":2},{"value":"Five key metrics","id":"five-key-metrics","depth":2},{"value":"The metrics, reloaded","id":"the-metrics-reloaded","depth":2},{"value":"Tools and tech","id":"tools-and-tech","depth":2},{"value":"Cross-cutting communities","id":"cross-cutting-communities","depth":2},{"value":"Principles-based development","id":"principles-based-development","depth":2}],"frontmatter":{"seo":{"title":"Working data harder (1) - how and why we developed a Lean SDLC","description":"To become faster and better, Access Worldpay has created a Lean SDLC that automates metrics and shares tools and knowledge."},"markdown":{"toc":{"hide":true}}},"lastModified":"2025-10-28T16:40:42.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/articles/working-data-harder-pt1","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}