Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Quality Content on InfoQ

  • The Value of Repaying Good Technical Debt

    Bad technical debt is the stuff that has been lingering around; teams need to work around it or fix the fallout as a consequence of this bad technical debt. Good technical debt is intentional, enables benefits for the organisation, and is controlled. Teams can use a disciplined approach for managing and repaying technical debt, for instance by using the wall of technical debt.

  • EqualsVerifier Delivers Improved Support for JPA Entities

    The EqualsVerifier library may be used in Java unit tests to automatically verify equals() implementations inside a project and provides one hundred percent code coverage on equals() and hashCode() methods. Recent releases improved support for JPA, by requiring the use of getters instead of using fields, and solving several related bugs.

  • Benefits of Doing Remote Mob Programming in a High Stakes Environment

    A new team that needed to work remotely in a high-stakes environment decided to try out mob programming. It helped them to quickly go through forming-storming-norming-performing. With mobbing, the team learned new technologies, found solutions for dealing with others in stressful situations, and discovered how to work effectively together remotely.

  • The Challenges of Producing Quality Code When Using AI-Based Generalistic Models

    Using AI with generalistic models to do very specific things like generating code can cause problems. Producing code with AI is like using code from someone else who you don’t know which may not match your standards and quality. Creating specialised or dedicated models can be a way out.

  • How to Create a UI That's Both Robust and User Friendly

    The key challenge in building UIs is balancing ease of use and maintainability, with scale and complexity. It requires thoughtful component design and an understanding of common usage paths to create a UI that's both robust and user-friendly. Automation can be a game-changer when it comes to improving efficiency and consistency in your codebase.

  • Navigating Open Source Integration through a DevOps Lens

    Taking a DevOps perspective on open source can help to incorporate an OSS project into your environment. DevOps engineers are comfortable with using third-party integrations, and they align with the open source mindset of breaking down barriers between different groups and promoting teamwork.

  • How Spotify Carries through Experiments at Scale for Spotify Home

    Spotify runs more than 250 online experiments annually on its Spotify Home platform, which are used by dozen of different teams. To accomplish running experiments at such scale, Spotify uses a number of different tools, explains Spotify product manager Nik Goyle.

  • Considering Remote Mob Programming in a High Stakes Environment

    Remote mob programming helped a team in a high-stakes environment to be resilient, work under pressure, and deliver successfully. Setting expectations on the first call and being serious about the reasons for doing mob programming ensured that the team kept doing it.

  • Unlocking Software Engineering Potential for Better Products

    Becoming an empowered team means solving problems rather than shipping features. Empowering software engineers and involving them early in discovery work can result in better products. If we measure outcomes rather than output, we can also hold teams accountable. Supporting software engineers to empower them means trusting them and getting out of their way.

  • Programming Foundations for Test Automation

    Proper programming foundations can improve your test automation, making it easier to maintain testing code, and reduce stress. A foundation of the theory and basic principles of coding and programming can help to bring test automation to the next level. Object-oriented programming principles can help to overcome code smells.

  • Test Automation Requires a Strategy and Clean Code

    Having a good strategy for test automation can make it easier to implement test automation and reduce test maintenance costs. The test automation pyramid and automation test wheel can be of help when formulating a test automation strategy and plan. Test automation code should be clean code, and treated similarly to production code.

  • How to Assess Software Quality

    The quality practices assessment model (QPAM) can be used to classify a team’s exhibited behavior into four dimensions: Beginning, Unifying, Practicing, and Innovating. It explores social and technical quality aspects like feedback loops, culture, code quality and technical debt, and deployment pipeline.

  • Helping Teams Deliver with a Quality Practices Assessment Model

    The quality practices assessment model explores quality aspects that help teams to deliver in an agile way. The model covers both social and technical aspects of quality; it is used to assess the quality of the team’s processes and also touches on product quality. With an assessment, teams can look at where their practices lie within the quality aspects and decide on what they want to improve.

  • How Twitter Automated Data Quality Check Process

    Twitter engineering has recently shared a blog post on how they architected and developed a quality automation platform. Twitter digests and creates thousands of data sets for different data products and applications. The next natural step is to make sure of the quality of the data by adding automation on top of it. In this news post, we explore this architecture in more detail.

  • How We Can Use Data to Improve System Quality

    To understand how systems are being used, we can collect metrics and identify trends over time. The data and insights gained can be used to improve system quality by improving software design or testing patterns.