InfoQ Homepage Agile Conferences Content on InfoQ
-
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.
-
Applying Machine Learning for Business Outcomes at Travelopia
Travelopia changed its focus from a technology approach to business outcomes, and adapted agile and lean for delivering machine learning solutions. This enabled them to deliver machine-learning business models faster and better.
-
Scalable Automation Frameworks for Functional and Non-Functional Testing
Separating the capabilities of a testing framework from the actual tests can enable scaling automated testing for complex enterprise products. According to Alexander Velinov, we should agree on the types of tests to execute automatically during release and what should be kept as manually triggered tests.
-
The Myth of Product Mindset: It's What You Do, Not How You Think
Companies nowadays are looking for ways to cultivate a product mindset. While the idea of cultivating a “product mindset” allows us to focus primarily on ourselves, actually transforming our organizations often means changing our behavior to focus on our customers and how we work together to serve them.
-
Motivating Employees and Making Work More Fun
Progressive workplaces focus on purpose and value, having networks of teams supported by leaders with distributed decision-making. Employees get freedom and trust, and access to information through radical transparency that enables them to experiment and adapt the organization. In such workplaces, people can develop their talents and work on tasks they like to do, and have more fun.
-
Performance Testing Should Focus on Trends
Performance testing starts by setting a baseline and defining the metrics to track together with the development team. Nikolay Avramov advises executing performance tests and comparing the results frequently during development to spot degrading performance as soon as possible.
-
Reliable Continuous Testing Requires Automation
Automation makes it possible to build a reliable continuous testing process that covers the functional and non-functional requirements of the software. Preferably this automation should be done from the beginning of product development to enable quick release and delivery of software and early feedback from the users.
-
Technical Debt is Quantifiable as Financial Debt: an Impossible Thing for Developers
Technical debt can be quantified in various ways, but you cannot precisely quantify the associated financial debt. According to Kevlin Henney, we can quantify things like how many debt items we have, the estimated time to fix each debt item, a variety of metrics associated with our code, such as cyclomatic complexity, degree of duplication, number of lines of code, but not the financial debt.
-
Using Data to Predict Future Usage and Increase User Insights
By identifying usage trends, you can proactively adjust load, scaling, and routing to better handle the load on particular parts of the globe when you know it will peak there. Data about how users interact with your application can be used to design future features that better mimic these patterns and ensure that new features have a better chance of solving real user problems and getting adopted.
-
Establishing Autonomy and Responsibility with Networks of Teams
Working in outdated ways causes people to quit their work. Pim de Morree suggests structuring organizations into networks of autonomous teams and creating meaningful work through a clear purpose and direction. According to him, we can work better, be more successful, and have more fun at the same time.
-
How to Test Low Code Applications
For low code applications there are technical things you don’t have to test, like the integration with the database and the syntax of a screen. But you still have to test functionally, to check if you’re building the right thing. End-to-end testing and non-functional testing can be very important for low code applications.
-
A Distributed System is Knowable: an Impossible Thing for Developers
Failure in distributed systems is normal. Distributed systems can provide only two of the three guarantees in consistency, availability, and partition tolerance. According to Kevlin Henney, this limits how much you can know about how a distributed system will behave. He gave a keynote about Six Impossible Things at QCon London 2022 and at QCon Plus May 10-20, 2022.
-
Dealing with Cognitive Load Using Observability
We can make good decisions with speed when we limit the cognitive load on any one person or team. Observability can help to increase delivery speed, by providing information to developers that helps them to make decisions quickly.
-
Getting Feedback When Your Colleagues Are Also Your Customers
Getting and using feedback from colleagues who are also customers using your product can improve the quality of the product and help to improve the way of working. In this situation, it’s easier to receive feedback, but you can get overloaded by it.
-
Developing and Evolving SaaS Infrastructures for Enterprises
SaaS companies that are focused on the enterprise market need to evolve their infrastructure to meet the security, reliability, and other IT requirements of their customers. IT admins and large customers are two important sources of requirements to drive development.