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

  • 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.

  • Making Software Development Boring to Deliver Business Value

    Given there’s a limit to our cognitive abilities and our comprehension of complex systems, Corstian Boerman argues that software development should become boring. He suggests moving infrastructure out of the way so that it does not burden the day-to-day development process, and focusing on delivering business value in a predictable and repeatable way.

  • What Software Developers Can Do to Prevent Forgetting or Overlooking Things

    According to Ilian Iliev, software developers tend to forget to do things they do not have to think about every day, which can cause delays or impact the functionality of the product during a software project. To prevent overlooking something, he suggested starting early with automating deployment, setting up error logging, and using lists and reminders of things that were forgotten previously.

  • How Moral Values and Ethics Impact Software Delivery

    Ethics and morality ensure fairness and integrity, which according to Anton Angelov is crucial for software professionals and society. The rise of technological advances, globalization, and demographic changes pose challenges to maintaining moral values in software delivery. Angelov believes that it is crucial for the QA industry to have a strong ethical framework.

  • How to Prevent and Repay Technical Debt: What Teams, Tech Leads and Managers Can Do

    Tech leads, project managers, and managers can prevent technical debt by giving software developers more time; in addition, they can plan for spare time and refactoring sprints to allow teams to improve code. To prioritise technical debt, development teams can show how much time we can save if we invest, and how complicated the software will become in the future if we don’t repay technical debt.

  • 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.

  • How Continuous Mobile Development Can Benefit from Test Automation

    Test automation can support continuous mobile software development by reducing manual testing efforts, minimizing human errors, and accelerating the release cycle. Burak Ergören shared his experiences from automating their mobile testing at QA Challenge Accepted 2023.

BT