InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Dead Code Must Be Removed
Dead code needs to be found and removed; leaving dead code in is an obstacle to programmer understanding and action, and there's the risk that the code is awakened which can cause significant problems. Deleting dead code is not a technical problem; it is a problem of mindset and culture.
-
The Future of QA at Atlassian
Mark Hrynczak, Cloud QA Manager for Atlassian, gave a talk on this year’s company summit in which he shared his vision of how a high valuable QA team should perform. High value for a QA team is defined as being, in the first place, totally aligned with the company strategic goals ,thus contributing to solve the most important problems that an organization might face at a specific moment.
-
Increase Learning with 10% Autonomy Time
Giving teams autonomy to spend 10% of their time for learning reduces delivery time, increases quality, and increases motivation. The 10% rule gives teams full autonomy to work on things they consider important. It results in freeing up people's creativity and letting teams grow their potential.
-
Refactoring and Code Smells – A Journey Toward Cleaner Code
Refactoring helps to move towards cleaner code that is easier to understand and maintain. It takes practice and experience to recognise code smells: symptoms of bad design which indicate deeper problems in the code. Tools can be helpful to refactor in small steps and prevent breaking the code.
-
Benefits of Agile Transformation at Barclays
Increased throughput, reduced code complexity, less production incidents, shorter deployment cycles and higher happiness in teams; these are some of the benefits that the agile transformation at Barclays has delivered. Within the first year of the transformation, which is based on Disciplined Agile, more than 800 teams adopted agile making this one of the largest agile implementations.
-
Continuous Deployment at Coolblue
Continuous deployment results in a higher sense of responsibility and better quality of deployments, argues Paul de Raaij, technical pathfinder at Coolblue. Coding standards prevent your code base from becoming a mess, automated inspections are great for tedious and boring checks, and manual checks are great for checking if the logic or use of code actually makes sense.
-
Deliver Shippable Products with Good Engineering Practices
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.
-
Using Models in Developing Software for Self-Driving Cars
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.
-
Applying Supply Chain Management to Deliver Faster with Higher Quality
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.
-
Checked C - A Safer C/C++ from Microsoft
Microsoft has open sourced Checked C, a research project meant to add bounds checking to C and C++.
-
How to Effectively Debug Software
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.
-
What Programmers Can Do to Write Better Code
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.
-
Understanding Large Codebases with Software Evolution
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.
-
Why the Mob Programming Conference Matters
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.
-
Contracting to Enable Agile Behaviour
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.