InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Recruit to Catch the Good Ones
How can you recruit good people and help them becoming successful without challenging your established workforce too much? According to Ralph van Roosmalen and Daan van Osch finding the right people will be one of the biggest problems in IT. At the XP Days Benelux 2014 conference Ralph and Daan will give a presentation in which they share experiences from IT recruiting at RES Software.
-
Relation of Agility and Modularity
This post describes the relation of Agility and Modularity. Why modularity is important and how can we use it is described in OSGi white paper.
-
Becoming Software Craftsmen
The software craftsmanship movement talks about practicing as a way to to develop programming skills to become software craftsmen. Technical practices are considered to be important, it takes time to learn them and become better programmers.
-
The Importance of Technical Practices in Agile
Sometimes organizations that are adopting agile complain that they didn't get the benefits that they expected to get out of it. One of the possible reasons could be that insufficient attention has been given to performing the technical practices that support the agile values and principles.
-
Sixth Edition of World Quality Report Highlights Emerging Trends of Testing Practices
Sixth edition of the World Quality Report, co-sponsored by Capgemini, Sogeti and HP 2014-15, highlights recent changes in testing practices, emerging trends such as agile testing, test environment management, mobility, data analytics, cloud and Internet of things.
-
Using Complexity Measurements to Improve Software Quality
Complexity is a direct indicator of software quality and costs: if the complexity for any code is high, the quality of that code will be lower and it will cost more to manage it. Complexity measurements can be used to estimate development and test activities and to decide where refactoring is needed to improve quality and prevent problems.
-
Designing Systems for Testability
Testability must be explicitly designed in the system said Peter Zimmerer from Siemens AG. Test architects should drive testability and collaborate with architects, designers and testers in using good design and engineering practices. At the QA&Test 2014 conference Peter gave a tutorial about design for testability for embedded software systems.
-
Getting your Quality Management System Used
Creating and maintaining a Quality Management System (QMS) can be difficult, certainly when organizations have multiple product lines where different regulations and standards are applicable. InfoQ interviewed Willem van den Biggelaar about the benefits of having a QMS, dealing with multiple regulations, assuring adherence, how a QMS can support agility and deploying a QMS in an agile way.
-
Mixing Agile with Waterfall for Code Quality
The 2014 CAST Research on Application Software Health (CRASH) report states that enterprise software built using a mixture of agile and waterfall methods will result in more robust and secure applications than those built using either agile or waterfall methods alone. InfoQ interviewed Bill Curtis about structural quality factors, and mixing agile and waterfall methods.
-
Balancing Quality and Velocity in Agile
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.
-
Enabling Agile Teams to Improve Software Quality
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.
-
Knowing if You Are Building the Right Product
Developing and delivering products which customers don’t want and for which there is no market can be costly. Agile can help you to efficiently develop products, but you need to know what to build. How can you find out which products your customers need?
-
Becoming SOLID in C#
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.
-
Agile Development Races Ahead of Traditional Testing
A report on why agile development races ahead of traditional testing, reasons and new agile testing trends.
-
Managing your Software Debt
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.