InfoQ Homepage Software Craftsmanship Content on InfoQ
-
The Beginner’s Mind
Patrick Kua talks on the need to preserve an open mind and learning attitude while being on the craftsmanship journey from beginner to expert.
-
Stop the Software Architecture Erosion
Bernhard Merkle advices on preventing architectural degradation of a project by using tools for constant monitoring of the code, exemplifying with an analysis of Ant, Findbugs and Eclipse.
-
Infinitely Extensible
Alex Papadimoulis discusses avoiding over-engineering a program, presenting extensibility types used, extensibility design patterns, when to use them, and what happens when they are incorrectly used.
-
Craft and Software Engineering
Glenn Vanderburg believes that software engineering and craftsmanship are not mutually exclusive, and there is synergy between them, explaining how to combine them in the software development process.
-
Team Leadership in the Age of Agile
Roy Osherove discusses three maturity stages of a team and adjusting leadership accordingly, along with techniques meant to bring craftsmanship and maturity in a software development team.
-
Compile-time Verification, It's Not Just for Type Safety Any More
Greg Young talks about .NET’s Contracts library, showing how to use it, what it is good for, and how it improves code quality.
-
Where Did My Architecture Go?
Eoin Woods advices on writing code that preserves the initial architectural design using conventions, dependency analysis, module systems, augmenting the code & checking rules, and language extensions
-
Making Apps That Don’t Suck
Mike Lee considers that a software engineer makes great applications not because he follows good rules but because he has a better way of looking at the world and he learns from experience.
-
Five Static Code Audits Every Developer Should Know and Use
Mike Rozlog discusses the need for software audits, proposing five code reviews that every developer should use: Numerical Literal, String Literal, god Method, Shotgun Surgery and Duplicate Code.
-
The Case for Evolvable Software
Stephanie Forrest believes in the possibility to create evolvable software through automated bug repair, optimizing or improving code and creating new combinations of existing functionality.
-
Slimmed Down Software - A Lean, Groovy Approach
Hamlet D'Arcy explains the Lean principles - Eliminate Waste, Build Quality In, Create Knowledge, Defer Commitment, Deliver Fast, Respect People, Optimize the Whole – in the context of using Groovy.
-
Raising the Bar: Super Optimizing Your Agile Implementation Using Kanban and Lean
Jesper Boeg and Guilherme Silveira discuss if Lean&Kanban is better than traditional Agile, how they could go together, and determining if Lean&Kanban is appropriate for immature teams.