Computer-checked models can be used to prove that core communications and state management in a software program are 100% logically correct. Such models can also be used to generate 100% correct source code. The usage of formal methods can reduce costs and time to market and help to deliver highly reliable software products.
At Unruly teams have been applying eXtreme Programming (XP) since being founded in 2006. Teams take a test-first approach to developing code and invest in automated checks that can be run in live environments. InfoQ interviewed Rachel Davies about the importance of a continuous approach to testing, how this has evolved over the years and the business advantage that it delivers to Unruly.
At EclipseCon, the automated error reporting and UI freeze detecting tool - built into Eclipse Mars - was demonstrated. Having only been in the package for a short while, it has already helped identify and subsequently fix a number of problems. InfoQ spoke to the people behind the tools to find out more.
The goal of software is to sustainably minimize lead time to positive business impact, everything else is detail, Dan North claimed in a presentation at the QCon London conference describing ways of reasoning about code and how this leads him into an architecture style that may fit microservices.
Measuring software complexity is a popular and common activity among the software development community, judging by the number of tools built over the years and the literature around the subject. Drawing from his blend of engineering and psychology backgrounds, Adam Tornhill proposed to its audience at QCon London to treat their code as a crime scene, with the help of version control tools.
The cleanup programme for OpenJDK has reached a major milestone - the main OpenJDK jdk repository is now free of build warnings.
In a blog post on bad code and technical debt Steve Freeman described how Chris Matts came up with the metaphor of an unhedged call option for bad code. This post is being intensively discussed on Reddit and on Hacker News recently. InfoQ interviewed Steve and Chris about using metaphors for bad code and code smells, trade-offs and costs of low quality code, and responsibilities for code quality.
Exercism.io helps developers to increases their craftsmanship in a language through feedback and discussion. It’s a community and tool where developers can write code and discuss it to strengthen their problem-solving skills. InfoQ did an interview with the creator of exercism Katrina Owen and with Richard Thomson who contributed the C++ language track for exercism.
JetBrains has announced new RTM versions for their .NET tools, including ReSharper 9, dotTrace 6, dotCover 3, dotMemory 4.2, dotPeek 1.3 and TeamCity Add-in 9.0. JetBrains has created a single installer and platform for these tools. When attempting to install ReSharper, developers are presented with the option to install other .NET tools which will share the platform.
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.
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.
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.
Martin Fowler describes Sacrificial Architecture. This post highlights the need and benefits of sacrificial Architecture.
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.
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.