BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Agile Conferences Content on InfoQ

  • How Data Mesh Platforms Connect Data Producers and Consumers

    A challenge that companies often face when exploiting their data in data warehouses or data lakes is that ownership of analytical data is weak or non-existent, and quality can suffer as a result. A data mesh is an organizational paradigm shift in how companies create value from data where responsibilities go back into the hands of producers and consumers.

  • Improving Mobile Test Automation with Continuous Integration, Central Logging, and Metrics Analysis

    Continuous integration can enhance automated mobile testing. Test data from multiple mobile devices running parallel tests can be consolidated to support monitoring. Jira tickets from manual testing can trigger the build process to ensure that testers will have the correct software version to do the manual testing.

  • Fostering Healthy Tech Teams in a DevOps World

    Building healthy DevOps tech teams that are responsible for a broad area can be challenging. To measure the success of your team, several frameworks provide metrics indicating team health. Psychological safety matters for healthy teams to ensure each software engineer brings their own lived experiences to build better products and that they feel safe to do so.

  • How to Scale Agile Software Development with Technology and Lean

    Agile software development can be done at scale with the use of technology like self-service APIs, infrastructure provisioning, real-time collaboration software, and distributed versioning systems. Lean can complement and scale an agile culture with techniques like obeyas, systematic problem-solving, one-piece-flow and takt time, and kaizen.

  • Making Agile Software Development Work for Multicultural Teams

    While equality provides team members with the same opportunities and allowances, equity is about creating an environment where individual and unique needs can be met. According to ElMohanned Mohamed, communication in multicultural teams should be precise and clear with low dependence on the context.

  • How to Build Large Scale Cyber-Physical Systems

    To build large-scale safety-critical systems, we need to decompose the system into smaller solvable problems, resolve what is known, and resolve unknowns through experiments, Robin Yeman argued. She suggested investing in test environments for both software and hardware early to enable being test-driven early to increase the safety, security, reliability, and availability of the systems.

  • Challenges and Solutions for Building Machine Learning Systems

    According to Camilla Montonen, the challenges of building machine learning systems are mostly creating and maintaining the model. MLOps platforms and solutions contain components needed to build machine systems. MLOps is not about the tools; it is a culture and a set of practices. Montonen suggests that we should bridge the divide between practices of data science and machine learning engineering.

  • Enhancing Developer Experience for Creating Artificial Intelligence Applications

    For one company, large language models created a breakthrough in artificial intelligence (AI) by shifting to crafting prompts and utilizing APIs without a need for AI science expertise. To enhance developer experience and craft applications and tools, they defined and established principles around simplicity, immediate accessibility, security and quality, and cost efficiency.

  • How Technology Can Drive Culture Change in Software Organisations

    Technological improvements like containers, VMs, infrastructure-as-code, software-defined-networking, collaborative version control, and CI/CD can make it possible to fix cultural issues around organisational dynamics and bad product delivery. According to Nigel Kersten, software leaders should leverage tech to create positive changes in organisational dynamics and relationships between teams.

  • How to Do Sustainable Software Development

    Software sustainability includes computing for environmental purposes and using resources appropriately. According to Coral Calero, software engineers need a holistic way of looking at software and should be aware of the environmental impact of software. Several tools and frameworks are available for software engineers to do sustainable software development.

  • Adopting Agile by Increasing Psychological Safety in a Software Team

    To test the agile way of thinking, a software team worked on their psychological safety with kick-off exercises, sharing coffee breaks, celebrating wins, a stand-up question, and 1-on-1 talks. This helped them to increase psychological safety in their software team.

  • The Impact of Testing in Software Teams

    Communicating quality gaps, holding space for good testing, and writing automation are some of the ways that testers contribute to software teams. According to Maaret Pyhäjärvi, we need to think about testing, not testers. Collaboration and having conversations between team members can result in valuable impact that changes the product and the experiences of our users.

  • How to Tame Technical Debt in Software Development

    According to Marijn Huizenveld, discipline is key to preventing accumulating technical debt. In order to be disciplined you should make it difficult to ignore the debt. Heuristics like fixing small issues immediately, agreeing on a timebox for improvement, and making messy things look messy, can help tame technical debt.

  • Fostering an Experimentation Culture in Software Development

    An experimental culture is a way of thinking; it is about trying new things and learning together, solving complex software problems, and creating value together. According to Terhi Aho, an experimental culture in software organizations requires strong management support and psychological safety.

  • How Continuous Discovery Helps Software Teams to Take Product Decisions

    Continuous discovery for product development is regular research that involves the entire software product team, and that can actively inform product decisions. Equating continuous discovery to weekly conversations with one or more customers can be misleading. Combining quantitative and qualitative research methods can help software teams gather data and understand what is behind the data.

BT