Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Quality Content on InfoQ

  • Applying Observability to Increase Delivery Speed and Flow in Teams

    When we design team and departmental processes, we want to know what’s happening in the software teams. Asking team members to provide information or fill in fields in tools adds a burden and distorts reality. Setting up observability in the software can provide alternative insights in a less intrusive way. Observability in the software can be an asset to organizing teams.

  • Every Question Has an Answer: an Impossible Thing for Developers

    We tend to assume that every question has an answer, which for instance isn’t true when we want to find out what the current time is. Developers should increase awareness of unexpected failure modes, advertise the possibility of failure, and use time-outs to recover from waiting for an answer that will never come.

  • Improving Software Quality with Gamification

    Bingo Bongo sessions for bug hunting and playing risk storming games can improve quality. Gamification supports learning, can make everyday work interesting, and strengthen team spirit. Playing games should be part of the daily work at the office and seen as an effective work time. In gamification, a real value is created by the creative process.

  • How Measuring Defect Mass Helps to Test Critical Product Areas

    Introducing a measurement called “defect mass” helped a project to find the most impacted areas by developments and decide how many tests should be run for each impacted area. Using this measurement together with other KPIs helped them focus their testing. They managed to decrease the number of customer incidents.

  • Implementing Remote Software Verification and Validation Using a Real Vehicle

    Bosch is doing automated regression testing and user testing using a real car instead of a simulated one. Their aim is to test the software as quickly as possible, both from the test engineer's and user's perspectives. The car can be accessed remotely, and team members can work without being in the car.

  • Building Quality in for Blockchain Systems

    Blockchain technology can be used to build solutions that can naturally deliver better software quality. Using blockchain we can shift to smaller systems that store everything in a contract. We have to understand our data needs and decide what is stored in the chain and what off-chain, and think about how requirements, defects and testing history can be built into the contract models.

  • The Challenges of Reading Code and How to Deal with Them

    Reading code can be confusing in many ways; we are not explicitly taught how to read code, and we rarely practice code reading. Being aware of the cognitive processes that play a role can help to become better at reading code.

  • Adapting a Zero Bug Policy to Solve Bugs

    Applying a zero bug policy made it easier to prioritize bugs and increased team visibility and responsiveness towards bugs. As it’s a radical change, you will need to adapt it to your context regarding decision-making and time to fix a bug.

  • How Mob Programming Collective Habits Can be the Soil for Growing Technical Quality

    Mob programming can support teams in changing old habits into new effective habits for creating products in an agile way. Collectively-developed habits are hard to forget when you have other people around. Mob programming forces individuals to put new habits into practice regularly, making them easier to adopt. Teams are intolerant of repetition, looking for better ways of doing their work.

  • Automating Software Quality Certification at eBay

    The eBay Application Platform Team has started using Kubernetes Operators, Helm Charts and Jenkins to ensure software quality at the organization. In order to perform safe changes within the associated containers and environments, the team has created a self-service “certification” solution.

  • Experiences from Having Developers Write E2E Tests

    Developers writing e2e tests can make code testable, provide fast feedback, and prevent bugs. Wix worked with their product managers, developers, and QA engineers to transition from QA-only testing, to having developers write e2e tests to shift QA left and deliver faster.

  • Adding Security to Testing to Enable Continuous Security Testing

    Teams can be trained by security experts to become able to identify areas to add security testing in the test process and add security checks as part of functional test automation. This can lead to continuous security testing where security defects can be spotted at an early stage with higher security testing coverage in every release.

  • Shifting Quality Left with the Test Pyramid

    Shifting quality left means building in quality much earlier in the software development cycle, rather than testing for quality after completion of development. Using the test pyramid model, a project was able to move testing towards earlier stages, thereby finding defects that caused integration issues earlier in development.

  • Agile Approaches for Building in Quality

    Built-in quality is a core pillar in agile. However, if we want to build in quality at scale, we need to look at the whole development life cycle. Quality awareness needs to be increased at multiple layers of the organization; agile coaches can help by boosting quality thinking by embracing an agile way of working.

  • Applying a Zero-Bug Policy at Redgate

    A zero-bug policy is a simple yet effective bug management system that can help you avoid being buried deep in months or sometimes even years-old bugs. Any bugs you agree are serious enough for you to fix, you fix right away, and any other bug will not be fixed and closed. Tom Walsh spoke about how Redgate Software applied the zero-bug policy at Lean Agile Exchange 2020.