Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Quality Content on InfoQ

  • Efficiently Arranging Test Data: Streamlining Setup with Instancio

    The need to ensure code quality is ubiquitous, regardless of the development paradigm. Continuous Deployment and Continuous Delivery indicate that reliable test suites are directly connected to the speed of development and quicker customer feedback loop. Instancio automates the data setup step - the A in Arrange-Act-Assert. So, it allows you to put more emphasis on the business feature tested.

  • How to Sustain Quality and Velocity in a JavaScript or TypeScript Project?

    The JavaScript language and its ever-changing ecosystem of packages and practices can make codebases quickly become hard to maintain. The resulting loss of development velocity and/or code quality can be prevented without rewriting everything from scratch, nor pausing the development of new features. In this article, we have analyzed a few best practices to help avoid that.

  • If Twitter Doesn’t Have a Staging Environment, Should Anyone?

    With Twitter revealing they do not have a staging environment, how important is staging to delivering quality? When so many tasks are shifting to the developer these days and no one best developer approach fits all, how do dev teams determine the best developer methodology for them and their company?

  • Finding Adequate Metrics for Outer, Inner, and Process Quality in Software Development

    Implementing a feature can be measured. Quality is harder to measure. This article explores how to balance improving quality and adding new features. It dives into different domains of quality: Outer quality which is owned by the product people (e.g. product owners, testers), inner quality owned by the developers, and process quality owned by managers.

  • The Importance of Pipeline Quality Gates and How to Implement Them

    A quality gate is an enforced measure built into your pipeline that the software needs to meet before it can proceed. This article covers how to get the maximum benefit from quality gates. Making good use of quality gates not only can improve the quality of your software, but it can also improve your delivery speed.

  • From Async Code Reviews to Co-Creation Patterns

    This article dives into the throughput and quality of the async code review process, which are very important dimensions to optimize for in product development teams. It also explains why co-creation patterns – Pair and Mob programming – as an alternative way of working are able to optimize for both of those dimensions, instead of needing to trade off between them.

  • Evolving DevOps to Enable Quality at Speed Software

    DevOps must evolve to include Quality at Speed to address issues with delivering timely business value and innovation, siloed teams lacking alignment, a fragmented toolchain, and quality sacrifices. Infrastructure, Developer and Experimentation platforms are the three fundamental platforms enabling Quality at Speed software delivery

  • Code Red: the Business Impact of Code Quality

    Everyone in the software industry “knows” that code quality is important, yet we never had any data or numbers to prove it. In this article, we explore the impact by diving into recent research on code quality. With twice the development speed, 15 times fewer bugs, and a significant reduction of uncertainty in completion times, the business advantage of code quality is unmistakably clear.

  • POCs, Scrum, and the Poor Quality of Software Solutions

    POCs and Scrum can play a critical role in implementing Quality software solutions. Poor quality often starts with a POC that was prematurely turned into the development pipeline. Scrum short sprints often create an environment most conductive to working reactively to constantly-changing requirements making it hard for developers to prioritize and achieve Quality over the course of the project.

  • Talking Like a Suit - Communicating the Importance of Engineering Work in Business Terms

    This article explores how to construct engineering work as a story, including clearly presenting a problem, offering a solution, and showing the business a path to success that solves their problem and avoids failure. By presenting your case in this way, you significantly increase your chances of getting these engineering problems addressed, while also becoming a better partner for the business.

  • Avoiding Technical Bankruptcy: a Whole-Organization Perspective on Technical Debt

    Technical debt is not primarily caused by clumsy programming, and hence we cannot hope to fix it by more skilled programming alone. Rather, technical debt is a third-order effect of poor communication. What we observe and label “technical debt” is the by-product of a dysfunctional process. To fix the problem of accumulating technical debt, we need to fix this broken process.

  • Growing an Experiment-Driven Quality Culture in Software Development

    Have you ever faced a challenge at work that you weren’t sure how to tackle? Experiments to the rescue! In a complex environment like software development, no one can tell what might work, so we have to try things out. Read this article to learn about key challenges, insights and lessons, and get inspired for your own path to experimentation.