Agile software development teams have to assure that the products that they develop have sufficient quality. Management often also expect that they increase their velocity to be able to deliver more functionality faster to their customer. Several authors explored the relationship between quality and velocity and suggested ways to improve both quality and velocity.
Long working days, deadlines and team pressure can impact the quality of the software that agile teams deliver. What can we do to prevent that from happening and enable teams to improve the quality of their software? Some suggestions are to arrange for scope and deadline slack, adopt pull systems, and to make sure that people can slow down and get enough sleep.
Brannon B. King, a software developer working for Autonomous Solutions Inc., has published an article entitled Dangers of Violating SOLID Principles in C# in MSDN Magazine, May 2014. The author outlines some of the mistakes developers can make in their C# code, breaking the SOLID principles and leading to code that is more difficult to extend or maintain.
A report on why agile development races ahead of traditional testing, reasons and new agile testing trends.
Software debt exists in different ways. Technical debt is widely known, some other forms are competence debt and quality debt. Software debt can cause product maintenance costs to increase and can depress developers. Several solutions exist to manage software debt.
At the recent Testing Portugal 2013 conference Klaus Olsen presented on the Bug Hunting technique, a style of Exploratory Testing.
Patrick Smacchia has recently announced NDepend 5.0, the latest version of his .NET code analyzer coming with a number of enhancements: support for VS 2013, trend monitoring, new dashboard and a major UI facelift.
The New York Times has published the Objective-C coding conventions used by their iOS team, containing suggestions for source code layout, writing conditional expressions, variable names, methods, using booleans, etc.
This article contains the testimonies of several project leaders detailing the process used to achieve a low Coverity Scan defect density.
Delivering faster is one of the reasons that enterprises mention why want to use agile for software development. How can agile be used to become faster?
Program Verification Systems, the creator of PVS-Studio, a static code analyzer for C and C++, has published a list of programming errors, some of them being found in popular open source projects such as Chromium, TortoiseSVN, Apache HTTP Server, MySQL, and others.
Sonar Quality Dashboard version 3.0 has recently been released including separate commercial editions and a new plugin allowing developers to see how their individual commits affect project quality.
DRY reduces duplication and the maintenance problems coming with it, but misusing it leads to high coupling and reduced readability. The lesson: a software development principle should be applied considering other corresponding principles, patterns and practices.
In its recent issue the Chip Design Magazine points out that the huge growth of portable and wireless systems combined with the increasing relevance of software in embedded systems poses a challenge. Quality issues need special attention, especially in safety-critical systems. This is why software test tools for software systems will become increasingly important.
In two recent papers, David Chappell, Principal of Chappell & Associates, outlines the different aspects of software quality – functional, structural, and process-, the groups of people directly interested in quality –users, developers, and sponsors-, and the outcome of defects in externally or internally facing software over time.