Quality Software Delivery Upskill Program
Get ready to develop and deliver high-quality software that continually moves your business forward. Upskill your team now!
Continuous high-quality software delivery
High-quality software delivery means different things for different roles and people within an organization. Quality is not something that only applies to the product or software. It’s also hugely impacted by the entire software delivery process.
For one organization, high quality may mean zero bugs; for another, it might mean the ability to quickly deliver new functionalities. Often, a combination of these elements is desired. So, every organization should define and organize for their desired quality level. To do so, teams should be aware of the various philosophies and methodologies available.
Our upskill program offers these perspectives, methodologies, and tools for your teams. We enable you to develop and deliver high-quality software that continually moves your business forward.
Investing in technology is also about investing in your people
Investing in a software development capability is not solely focused on technology. Yes, your teams need to be able to write well-written code. And yes, your teams need to work with the chosen frameworks and understand architectural paradigms.
However, sustainable software delivery requires more than just technology. Successful feature delivery implies that the feature matches the requirements and that the release will not break your main customer journeys.
To do so, teams first need to have the capabilities and methodologies to engage in the fruitful discovery of requirements. Next, teams can automate validation and verification processes. Finally, teams need to set up monitoring in production to verify that everything is still functioning. Our upskill program is, therefore, an investment in people.
Flexible learning portfolios for teams and individuals
Our upskill program offers the necessary perspectives for teams and organizations to determine the context of quality. It helps you to find common ground in both terminology and approaches toward high-quality software delivery.
Our training courses in the journey are for both entire teams as well as individual team members. Whether you are a Developer, Software Engineer, QA Engineer, Tester, Business Analyst, or Product Owner, all courses offer valuable insights and methodologies applicable to all roles. Best of all, your learning program can be tailored to specific individual needs.
We offer the training courses in Dutch or English at our own training locations in Amsterdam or Hilversum, or at your own preferred location. Online training or blended learning is also an option for (remote working) teams.
The Quality Software Delivery Upskill Program at a glance
We, Xebia Academy and Qxperts, take the software delivery lifecycle as the basis of the upskill learning journey. This is how we embed quality in every step of the lifecycle, from discovery to operations. In each step, we propose methods to help teams and individuals make deliberate choices on achieving the desired level of quality. Our approach allows teams to build the right thing right.
Operate [Deploy & Monitor]
Where to start with the upskill program?
There’s no right or wrong here. You can start at every stage of the journey given the needs of your organization.
Based on our experience, we do suggest the following starting points to set the foundation on which you can build other capabilities. Organizations that embraced these methodologies have been delivering software faster and with higher quality.
Test-Driven Development (TDD)
Is it hard to test your software? Do you find many bugs about (business) logic in production? In that case, start with Test-Driven Development. This training helps in validating and verifying the software but also aids in better software design.
Behavior-Driven Development (BDD)
A common understanding of the requirements and a way to implement these as clear scenarios and examples are key to ensuring the delivered features are matching the requests of the business. Behavior-Driven Development (BDD) provides methods and technologies to bridge the language and expectations between business and IT. BDD is a great stepping stone for automation and helps you with documenting your features.
The training courses introduced
We currently offer the following training courses that together make up our Quality Software Delivery Upskill Program. We can customize, mix and match, and tailor the training modules to your specific need.
Because our trainers are also consultants with broad, hands-on experience, we can not only teach you the theory of how things should be done, but we also offer support in putting this theory into practice and help you to get the most out of your training experience.
In modern-day agile software development, testing should not be left behind. This requires a new mindset and approach.
We’ll discuss different situations for you to better understand how to adopt this new mindset. You'll learn what Agile working looks like, what the process entails, and what this means for your day-to-day tasks as an Agile tester.
You will learn:
- The value of holistic team testing, including automation.
- How to continuously contribute during each iteration and release cycle.
- Completing testing activities in short iterations.
- Healthy test automation.
- Strategically drive development using executable and manual tests.
Sharing knowledge is way more effective if we actively collaborate to gain new insights into the problem at hand. Many tools are available to achieve this. However, they often have a steep learning curve, which means that most disciplines have their own tool to model in.
To solve this, we need visual, active, and collaborative learning between multiple disciplines. This is how we create a shared language between business and IT and eliminate waste by removing many handovers in the requirements engineering process.
You will learn:
- Where EventStorming can be effective.
- The different kinds of EventStorming formats.
- EventStorming concepts like event, action, hotspot, system, business rule, constraint, information, and policy.
- What Deliberate Discovery is and how it helps your team.
- How EventStorming helps you with real-world problems.
- How to design and model a business process using EventStorming.
- Using EventStorming to get a common understanding of your current constraints as a company or team.
- How to combine EventStorming with other tools like Behavior Driven Development (BDD) / Specification By Example.
This one-day hands-on training - taught in Dutch and English - gives software developers the opportunity to learn, practice, and experience the flow of proper test-driven development (TDD). Cut your development costs, increase productivity, create effective and organized code, and gain unmistakable proof that your code works as intended.
You will learn:
- How to think in (test) scenarios.
- How TDD improves the code you write.
- To shorten the development time-to-market.
- How to improve your development feedback time.
- To write effective tests and use tests to improve code and design.
- To apply testing to secure quality.
Want to improve collaboration, increase the clarity of requirements, and ensure mutual understanding in all phases of the software development process? Get to know more about Behavior Driven Development (BDD) or Specification by Example.
Refining stories can be challenging. Often, teams create mini handovers in their sprints where refinement, development, and testing are separate activities done by separate individuals. This 1-day training will help you work better together.
You will learn:
- To organize your refinements better into effective workshops.
- Why collaborative specification workshops are key.
- How to practice and facilitate these workshops.
- To participate and host better refinement sessions.
- To refine based on Specification by Example / BDD.
- To provide executable views of product capabilities using examples.
- How to perform 'Example Mapping'.
- To improve your User Stories.
- How to slice your stories to deliver optimal business value and finish your sprints.
- How to break down your user stories into realistic scenarios.
- How to use these scenarios as input for your tests, development, and documentation.
- To improve communication.
- To write and communicate your acceptance testing differently.
- Write requirements in a clear, unambiguous, ubiquitous language.
- Communicate with all your stakeholders better, from refinement to acceptance.
For anyone who wants to learn how to work with Cypress and properly use it in your software development process, this is the course you are looking for!
If your tests are passing or failing without a clear cause, or if you find UI testing expensive and difficult to maintain, Cypress is the answer. Cypress allows you to write reliable tests fast and easily. In just one day, you will learn how to properly use this tool and gain the knowledge and skills to apply what you've learned directly to your own projects.
You will learn:
- The basics of the Cypress client and CliRunner.
- To set up and configure new Cypress projects from scratch.
- To write well-structured and maintainable Cypress web and integration tests.
- To use basic and advanced Cypress functionalities.
- Creating assertions on elements and using reusable functions.
- The ability to use mocking and stubbing.
- Skills to debug your tests.
- To integrate your Cypress tests into a CI solution.
- To report and monitor using the dashboard functionality.
- To set up your tests to be used as a communication tool with your stakeholders.
- To deliver clear results to provide valuable feedback to your stakeholders.
This training’s overarching theme identifying risks. You’ll learn how hackers look at your system and what techniques they use to crack or abuse it. We focus on recognizing risks and learning more about how to deal with potential attacks. If you know this, protecting your software is much easier!
You will learn to:
- Identify security risks during the transition from Epic to User Stories.
- Identify potential risks during every phase of refinement.
- Prioritize risks and mitigate measures.
- Create Security User Stories and include them in the Backlog.
- Identify risks that could impact functionality.
- Identify a wide range of risks (such as the OWASP top 10).
- Identify mitigating measures and improve the safety of future releases.
Playwright is a new test automation framework built to enable cross-browser and cross-platform web automation that's evergreen, capable, reliable, and fast. It promises to become one of the most popular web test automation tools in the near future.
Learning how to work with Playwright will improve the quality of the software you deliver. During this 1-day training, you’ll experience what sets Playwright apart from other web test tooling. After the training, you’ll know how to set up and integrate Playwright into your web projects.
You will learn:
- Setting up Playwright in a new or existing codebase.
- Writing your first cross-browser test.
- Using DOM selectors to write powerful assertions.
- Debugging your tests efficiently.
- Emulating devices.
- Generating tests automatically.
- Writing API tests.
- Running Playwright in your pipeline.
- Writing “authenticate once” tests.
- Writing parallel tests.
- Adding parameters to your test.
- Writing tests for visual regression.
- Creating fixtures to minimize code duplication.
- Writing global setup and teardown.