InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Jump Into the Demoscene; It Is Where Logic, Creativity, and Artistic Expression Merge
The demoscene is a vibrant, creative subculture where you can use mathematics, algorithms, creativity, and a wee bit of chaos to express yourself. In this article, I want to inspire you to grab the opportunity to get your voice and vision on the table, and show you that the demoscene is not only for mathematical wizards.
-
How to Make Technical Debt Your Friend
Technical debt is a popular metaphor for communicating the long-term implications of architectural decisions and trade-offs to stakeholders. By exploiting the feedback mechanism of the Minimum Viable Architecture (MVA) approach, we have concluded that the technical debt metaphor is misleading because much of the so-called debt never needs to be, and in fact isn’t, repaid.
-
Simplicity, Speed, and Re-Use. Shipping Threads in 5 Months
In Jan 2023, we received word that we’d need to build a microblogging service to compete with Twitter in a couple of months. A small team was assembled to take on that challenge, and we shipped a new social network in July. This article describes how we developed and launched the Threads app at Meta last year.
-
How Quality Champions Foster Sustainable Software Quality Improvement at Swiss Post
Even skilled and motivated agile teams sometimes fail to achieve their own software quality goals. In this article, we present a practice we use to assist agile teams in reaching their quality goals and share our experience. The practice is about paying constant attention to specific metrics. It means encouraging people to improve themselves in both qualitative and quantitative ways.
-
How to Get Tech-Debt on the Roadmap
Only doing product-led work can lead to an unmaintainable system with lots of downtime. Unfortunately, getting time to work on the things that would prevent that can be challenging. Engineering roadmaps balance many competing demands, and the people making the decisions aren’t always the closest to the code. There is a need to learn how to speak their language.
-
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.
-
What Does Technical Debt Tell You?
Technical debt is a popular metaphor for communicating the long-term implications of architectural decisions and trade-offs to stakeholders, but there are limitations to its usefulness. Incorporating quality attribute requirements, or using a different metaphor such as deferred maintenance, can help improve decision making.
-
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.