InfoQ Homepage Continuous Improvement Content on InfoQ
-
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?
-
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.
-
Are They Really Using It? Monitoring Digital Experience to Determine Feature Effectiveness
This article reflects on the challenges of determining user experience and effectiveness and how modern techniques such as Real User Monitoring and Application Performance Monitoring can determine the true effectiveness of features. It includes stories from banking to show which measures can help agile teams determine not only if features are being used, but diagnose other common issues too.
-
How We Built Testability with Psychological Safety
Testability can enable teams to make changes to their code bases without requiring extensive regression testing. To build testability, team members must collaborate and leverage each other's unique skills. Unfortunately, effective collaboration does not come naturally to people and therefore needs leadership to nurture people's ability to speak up and share their knowledge.
-
DevOps at Schneider: a Meaningful Journey of Engaging People into Change
Adopting DevOps at Schneider started with building a case for change. Tech people were engaged into change by organizing learning and collaboration sessions and getting feedback from the front lines. Change is hard and without leadership support, dedicated time for developers to really digest it and continual reinforcement and conversation, it will be challenging to be successful.
-
Employing Team-Based Agile Coaching to Establish SRE in an Organization
Establishing SRE in a software delivery organization typically requires a socio-technical transformation. Operations teams need to learn how to provide a scalable SRE infrastructure to enable development teams to run their services efficiently. This paper presents how agile coaching has been employed to run an SRE transformation in a 25-teams strong product delivery organization.
-
Establishing a Scalable SRE Infrastructure Using Standardization and Short Feedback Loops
This article explores an SRE implementation where the operations team builds and runs the SRE infrastructure and the development teams build and run the services leveraging the SRE infrastructure. This SRE solution enables the software delivery organization to scale the number of services in operation without linearly scaling the number of people required to operate the services.
-
Building Effective Developer Tools to Enable an Entire Organization to Move Faster
Building effective tooling can help bring down the time to delivery and increase the number of changes delivered safely. This article demonstrates the tools that Monzo has built to enable developers, and how these tools are being used within the engineering function to deploy hundreds of times per day and beyond the engineering function to run a bank at scale.
-
Sustaining Fast Flow with Socio-Technical Thinking
To sustain a fast flow of changes over long periods of time, organizations address both the social and technical, socio-technical, aspects of reducing complexity. Examples are incentivising good technical practices to keep code maintainable, architecting systems to minimize dependencies and maximize team motivation, and leveraging platforms to preclude whole categories of infrastructure blockers.
-
How Psychological Safety at Work Creates Effective Software Tech Teams That Learn and Grow
This article provides the foundations of psychological safety and shows how it has been applied for team effectiveness. It explores how psychological safety supports learning and improvement and how we can foster a psychologically safe culture in tech teams.
-
Using Machine Learning for Fast Test Feedback to Developers and Test Suite Optimization
Software testing, especially in large scale projects, is a time intensive process. Test suites may be computationally expensive, compete with each other for available hardware, or simply be so large as to cause considerable delay until their results are available. The article explores optimizing test execution, saving machine resources, and reducing feedback time to developers.
-
Embracing Agile Values as a Tech and People Lead
Having worked as a software developer, the agile community has been a great source of inspiration to me to find better ways of working. In my first leadership role, I incorporated the agile mindset which helped me to get everyone working towards a joint goal: refactoring an inherited codebase for scalability, while enabling cross functional teams to work as autonomously as possible.