Good engineering practices are the tools that help agile teams to deliver shippable products. Although many engineering practices have proved to be effective, they are not as widely used as they should be. Agile anti-patterns like the software testing ice-cream cone, accumulating technical debt and functional silos prevent teams from delivering a potentially releasable product.
Models play an important role in developing software for autonomous systems like self-driving cars; they are used to simulate and verify behavior, document the system, and generate code. Jonathan Sprinkle explains how to model software used in autonomous systems, the benefits of modeling, using test data to validate the software that drives a car and techniques for writing reliable code.
Supply chain management can raise the bar with continuous development, argues Joshua Corman, Director of the Cyber Statecraft Initiative and co-founder of Rugged Software. Our dependence on IT and software is growing faster than our ability to secure it, and applying supply chain approaches to software development helps to address complexity which reduces risks and increases quality.
Microsoft has open sourced Checked C, a research project meant to add bounds checking to C and C++.
InfoQ interviewed Diomidis Spinellis, author of the books Code Reading and Code Quality, about finding and fixing errors in software, principles for debugging software and how to improve the effectiveness of debugging, how to write code that requires less debugging, and what managers can do to support error prevention and handling.
To write better code, programmers have to apply design fundamentals and read existing code, says Martin Thompson, a Java Champion and high-performance-computing specialist. InfoQ interviewed him after his Engineering You talk at QCon London 2016 about the challenges that the software industry is facing and what programmers can do to deal with those challenges and become better software engineers.
InfoQ interviewed Adam Tornhill, author of Your Code as a Crime Scene, about software evolution and mining social information from code and how to use this to increase the understanding of large codebases, how to create a geographical profile of code, and the benefits that can be gained from techniques like mining social information and geographical profiling.
Mob Programming is a software development approach where the whole team works together on the same thing, at the same time, in the same space, and at the same computer. This is a relatively new approach and one which is generating a lot of discussion. The first Mob Programming conference is coming up on 1-2 May. InfoQ spoke to the organizers to understand why the event matters.
InfoQ interviewed Martin Kearns about how agile contracts differ from contracts for waterfall projects, how contracts can deal with scope changes, major disturbances or delays during development, how contracts can enable agile behaviour and help all those involved to work together based on an agile mindset, and the role that lawyers can have when organizations want to use contracts with agile.
Tarcio Saraiva and Adam Crough talked about crafting quality software at the 1st Conference in Melbourne, Australia. InfoQ asked them to share their views on what software quality is, and to explain the business benefits and how it can be managed. InfoQ also asked them about the role for testing, how continuous integration supports quality, and advice for delivering high quality software products.
Dan North gave a talk about business mapping at the Scaling Agile for the Enterprise 2016 congress in Brussels. InfoQ interviewed him about the problems that he sees from a business perspective when the IT part of an organization adopts agile, and asked him what business mapping is and how it can help organizations to increase their agility.
Thomas Bradford talked about his experience with maintaining a monolith Java based system with zero test coverage and large technical debt at the Agile Testing Days 2015. InfoQ interviewed him about the problems that they had maintaining the system and the technical debt that had been build up, why they decided to take a different approach and how they improved team morale.
InfoQ interviewed Boris Modylevsky about the importance of measuring code quality and how measurements can be used to improve quality, integrating static code analysis in continuous integration, testing coverage and test automation, and the benefits that continuous integration with integrated code analysis and test coverage can bring.
At the Agile Testing Days 2015 Jose Lima from Redgate software shared his experiences with microservices. InfoQ interviewed him about advantages and disadvantages of developing products with microservices, how applying microservices has improved the quality of products, testing microservices and the skills that testers need, and his learnings from developing and testing microservices.
Russ Olsen did the opening keynote titled "To the Moon" at the GOTO Berlin 2015 conference. InfoQ interviewed him about drawbacks of doing all the things at the same time to meet the deadline, learning from things that went wrong and from things that went right, how little things can kill you in software development, and how to focus and deal with details when doing complex work.