InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Predictable Agile Delivery: The Executive Challenge
As agile grows-out of its years of self-obsession and teenage petulance into a post-agile state, ‘Predictable Agile Delivery’ feels like a realistic goal that advantages both the business sponsor and their development stakeholders. This article shares some ‘good, bad and ugly’ examples of practices that often work and some that always fail at improving large organizations.
-
Developing Quality Software: Differentiating Factors
The level of software quality attainable is a reflection of an organizational business decision. There are many factors that influence this decision, including development, build and testing environments effectiveness, resources and their associated skillset, integrity, motivations and experience levels, commercial agreements, and adopted processes and productivity tools.
-
Agile Sailors - A Journey from a Monolithic Approach to Microservices
Over the last couple of years eSailors IT solutions has implemented big technological and organisational changes: from functional silos to cross-functional teams, from a work flow that looked like an assembly line to dynamic loops, from a monolithic platform to microservices, from hierarchical command-and-control to leadership as a team sport. This article provides a summary of their journey.
-
How to Boost Your Skills to Become a Better Developer
Katas are great for learning new skills or to improve existing ones but don't address the intensity we face at work when there is a raging fire such as a deadline, release date, fixing a bug in huge legacy code, etc. This article covers the skills of good developers and highlights changing your training approach to improve your skills for high-intensity and challenging environments.
-
An Introduction to Modern Agile
Modern Agile’s four guiding principles define a simpler, safer, speedier way to achieve awesome results: Make People Awesome, Make Safety a Prerequisite, Experiment & Learn Rapidly and Deliver Value Continuously. These principles are present in the products and services we love. Modern Agile doesn’t define what roles, rituals or practices to follow. You choose how to act on the principles.
-
Continuous Delivery Coding Patterns: Latent-to-Live Code & Forward Compatible Interim Versions
This article describes two novel practices for continuous delivery: Latent-to-live code pattern and Forward compatible interim versions. You can use these practices to simultaneously increase speed and reliability of software development and reduce risks. These practices are built on top of two other essential continuous delivery practices: trunk-based-development and feature toggles.
-
Q&A with Diomidis Spinellis on Effective Debugging
The book Effective Debugging by Diomidis Spinellis describes 66 different approaches for effective debugging of applications and systems. It provides methods, strategies, techniques, and tools for finding and removing faults, and gives examples for using them in different settings.
-
Now or Never: the Ultimate Strategy for Handling Defects
How do you handle a long list of defects in your project? You don't. If it is not worth fixing a defect right now, it’s not likely that we will find the time to do it later. Also, it becomes more and more difficult over time to correct the defect, so it is cheaper to solve it now. Kirill Klimov explains why you should solve defects right away, or state that you will not solve them.
-
Q&A on the Scrum Field Guide - 2nd Edition
The Scrum Field Guide - 2nd Edition by Mitch Lacey is a "what to expect" book for organizations transitioning to agile, which aims to help teams to deal with issues that occur and fine-tune their own implementation. An interview about the essentials of Scrum, sprint length, full time Scrum masters, making time available for solving defects, preventing bad hires, and increasing benefits from Scrum.
-
0 Bugs Policy
Gal Zellermayer describes the 0 bugs policy, a process for handling bugs that is based upon 1 rule: whenever you encounter a new bug, you should either fix that bug, or close it as "won't fix" and don't think about it again.
-
Understanding Quality and Reliability
One of the most overlooked but important areas of software development is quality. It often is not considered or even discussed during the early planning stages of all development projects, but it’s almost always the ultimate criteria for when a product is ready to ship or deploy. This article will explore how to measure quality and minimize the factors that negatively impact software reliability.
-
The Way to No-Hotfix Deployment
Hot-fix redeployment is a waste of time and effort at best, and often a source of further regression, Adam discusses some ready-to-use techniques that helped he and his team reduce the frequency of hot-fix deployments to almost zero.