InfoQ Homepage Change Content on InfoQ
-
How to Do Sociotechnical Design Using Domain-Driven Design and Change Smuggling
Domain-Driven Design (DDD) can upskill sociotechnical design to navigate organizational dynamics and decision complexity in human systems. Change smuggling offers a practical way to launch small, safe-to-fail probes, nudging sociotechnical changes to emerge organically and conversationally.
-
Producing a Better Software Architecture with Residuality Theory
Software architecture is tough because it blends coding, math, and business systems. Due to surprises, architectures tend to become irrelevant over time, Barry O'Reilly said. He presented residuality theory, where he suggested stressing naive architectures to reveal hidden “attractors” in complex business systems. This allows designs to better survive change and uncertainty.
-
How Sociotechnical Design Can Improve Architectural Decisions
Sociotechnical design in software development emphasizes creating systems where people and technology thrive by fostering collaboration, emergent coherence, and shared understanding through enabling constraints, leading not only to improved architecture but also to more effective, adaptive, and fulfilling work.
-
An AI-Driven Approach to Creating Effective Learning Experiences at QCon
An experiment was created around a certification program influenced by AI at QCon London, which included special events during the conference, a pre-conference breakfast where participants could learn about upcoming activities, and an AI-driven workshop immediately following the conference. Wes Reisz spoke at InfoQ Dev Summit Boston about a program he led using AI.
-
Catalyzing Change in Software Organizations: Find Allies, Invite People, and Sustain Engagement
Much of the change we experience in software organizations is coercive. Software engineers, architects, and people in software engineering management roles feel they cannot spark change without formal authority, Eb Ikonne mentioned at QCon London 2024. To catalyze change, he suggested identifying allies, inviting people to participate in the change, and sustaining engagement through storytelling.
-
How to Develop a Culture of Quality in Software Organizations
According to Erika Chestnut, software organizations can develop a culture of quality with a clear commitment from leadership, not only to endorse quality efforts in software teams, but also to actively champion them. This commitment and advocacy should manifest in data-driven decision-making that strikes a balance between innovation and quality, ensuring that we maintain the highest quality.
-
Adopting Agile in Specific Business Domains Using Domain-Driven Agility
According to Nikola Bogdanov, the real challenge in agile transformations is adapting to business domain specifics and industry constraints; understanding agile is not the problem that needs to be solved. He presented domain-driven agility which utilizes design thinking to visualize agile adoption and make it empirical.
-
How to Become a High-Performing Software Team
The four major elements that enable high-performing software teams are purpose, decentralized decision-making, high trust with psychological safety, and embracing uncertainty. Teams can improve their performance by experimenting with their ways of working.
-
Embracing Complexity and Emergence in Organisations
Focusing on the actual emerging organisation and the work people are doing can make a difference in embracing complexity and dealing with it a bit better. Psychological safety is critical for people giving feedback without fearing retribution or negative consequences. Fred Hebert spoke about embracing complexity at QCon New York 2023.
-
Being an Agent of Change for Others and Yourself
Everyone can be an agent of change, even with small contributions. You can also be an agent of change for yourself by focusing on what you can control. Knowing why to change matters, and exploring it you may find out that it’s not the time yet to make a change.
-
Improving Developer Experience in a Small Organization
A way to improve developer experience is by removing time-consuming tasks and bottlenecks from developers and from the platform team that supports them. How you introduce changes matters; creating an understanding of the “why” before performing a change can smoothen the rollout.
-
Embracing Complexity by Asking Questions, Listening, and Building a Shared Understanding
When dealing with an environment that feels complex, people commonly look for ways to reduce variability and increase control for dealing with complexity. An alternative approach is to embrace complexity by acknowledging that it exists, asking questions and listening, and constructing a shared understanding based on different perspectives. This lets us improve how we adapt on an ongoing basis.
-
How to Analyze Behavior and Influence Behavior Change with the ABC Model
Having an agile mindset is not enough; we need to change behavior for adopting agile. With the Antecedent Behavior Consequence (ABC) Model, you can analyze the behavior, figure out what triggers it, and think about strategies to drive behavioral change.
-
How Defining Agile Results and Behaviors Can Enable Behavioral Change
Specifying and measuring behavior within a certain organisational context can enable and drive behavioral change. To increase the success of an agile transformation, it helps if you link the desired behaviors to the expected results. This way you set yourself up to be able to reinforce the behavior you want to see more of in order to reach your results.
-
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.