InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Tackling Technical Debt at Meetup
Continuous product health can be realized by regularly prioritizing the highest impact technical debt items and knocking those off systemically. You need to continuously iterate how you're tackling technical debt to drive more and more impactful results. Going for maximum impact items first and communicating the impact of paying down technical debt is what Yvette Pasqua, CTO of Meetup, recommends.
-
How Testers Can Become More Technical
Testers who are able to successfully apply technical techniques of the testing craft during testing are more valuable; they increase both the quality and productivity of their teams. To become more technical, testers can learn something about code, and they should know how to manipulate and parse text files and how to use the most important analysis tools for their application platform.
-
Automated Acceptance Testing Supports Continuous Delivery
Automated acceptance tests are an essential component of a continuous delivery style testing strategy, as they give an important and different insight into the behaviour of our systems. Developers must own the responsibility to keep acceptance tests running and passing, argued Dave Farley; you don't want to have a separate QA team lagging behind a development team.
-
Mastering Agile Testing
There is general acceptance that adopting agile development practices enables the speeding up of the delivery of software. Without incorporating quality assurance practices directly into the development process, product quality inevitably suffers. In order to consistently achieve high quality, both work practices and team roles need to change to build quality in rather than testing at the end.
-
Eric Evans: DDD is Not for Perfectionists
A problem with Domain-Driven Design (DDD) since the beginning has been the too common hunt for perfect designs, but DDD is not for perfectionists. In order to stop that hunt you need to have some idea of how to create software that is well designed, yet not perfect, Eric Evans noted in his presentation at the recent DDD Europe Conference in Amsterdam.
-
Approval Testing with TextTest
Approval testing is a test technique which compares the current output of your code with an 'approved' version. The approved version is created by initially examining the test output and approving the result. You can revisit the approved version and easily update it when the requirements change. Approval testing is supported by TextTest, an open source tool for text-based functional testing.
-
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.
-
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.
-
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.
-
Uncle Bob Proposes an Oath to Programmers
Uncle Bob proposes an oath to software programmers as other professions have, considering the importance of this craftsmanship.
-
OnAgile Virtual Conference to Explore Emerging Technical Trends and Practices
The OnAgile virtual conference is running on May 14, 2015. It will examine the impact and value of technical practices in agile transformations. A wide range of speakers will explore aspects covering microservices, continuous delivery, functional programming, exploratory testing and software craftsmanship. InfoQ spoke to conference chair Declan Whelan about the event.
-
Agile Adoption with the Agile Fluency Model
In too many cases agile is failing to deliver on its promise says Steve Holyer. At the OOP 2015 conference Steve explained how we can choose the rewards and benefits that we want to get out of agile development and plan the investments to achieve them. He presented the agile fluency model and explored a solution-focused approach for organization to find their path in adopting agile.
-
Using the "Worse is Better" Concept with Agile and Lean
Less functionality can make a better product according to the “Worse is Better” concept described 25 years ago by Richard P. Gabriel. According to Kevlin Henney and Frank Buschmann we can learn from the worse is better concept for development and architecture with agile and lean.
-
Experiences and Good Practices from Hackathons
Hackathons are events where developers work together during a fixed period to collaboratively develop software. They provide learning opportunities and space for developers and organizations sponsoring the hackathons to network and have some fun.