Moving towards microservices means moving towards distributed systems where you have to deal with latency, authorization and authentication, and messages that do not arrive, argues Sander Hoogendoorn. With microservices you can break down large systems into smaller components to regain control over the architecture.
Behaviour-Driven Development (BDD) recognizes that software development is fundamental to businesses of today and helps to improve how business stakeholders and software developers communicate with each other, Kevin Smith claims in a recent blog post about his experiences working with BDD.
Continuous deployment results in a higher sense of responsibility and better quality of deployments, argues Paul de Raaij, technical pathfinder at Coolblue. Coding standards prevent your code base from becoming a mess, automated inspections are great for tedious and boring checks, and manual checks are great for checking if the logic or use of code actually makes sense.
Good engineering practices are the tools that help agile teams to deliver shippable products. Although many engineering practices have proved to be effective, they are not as widely used as they should be. Agile anti-patterns like the software testing ice-cream cone, accumulating technical debt and functional silos prevent teams from delivering a potentially releasable product.
Test Butler is an open-source testing tool for Android that aims to allow developers to reliably run UI tests, writes LinkedIn engineer Drew Hannay and creator of Test Butler, by allowing developers to programmatically control a number of testing environment settings.
QASymphony, a testing services company, has recently released the State of Test-First Methodologies 2016 Report, a survey of over 200 people/organizations from 15 countries. The purpose of the survey was to evaluate the adoption of test-first technologies -BDD/ATDD/TDD – and how they are perceived by respondents.
Models play an important role in developing software for autonomous systems like self-driving cars; they are used to simulate and verify behavior, document the system, and generate code. Jonathan Sprinkle explains how to model software used in autonomous systems, the benefits of modeling, using test data to validate the software that drives a car and techniques for writing reliable code.
A recent post in Reddit sparked a debate between the traditional testing framework JUnit and upstart Spock with the central theme, “What’s wrong with JUnit?”
Alex Zhitnitsky of Takipi has written about five ways to try to improve the chances of successful deployed of microservices into production. As we will see, they share many similarities with other independent efforts, perhaps leading us to agreement on top areas of concern, if not ways of solving these problems.
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.
Explaining Craftsmanship techniques is hard, especially to Senior Management and Executives. Since understanding is usually key to a mindset shift and technical practices are the way to develop good quality software, it's very important to explain them. Mike Bowler facilitated a workshop on how to use Lego for technical practices during the 7th Agile Games Conference.
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.
VersionOne have released the results of the 10th annual State of Agile survey. Based on over 3800 responses from around the globe the results indicate that agile methods deliver tangible benefits; they are steadily becoming the default approach to software development and are starting to expand to areas outside software.
Android Studio 2.0 comes with several new features and improvements: Instant Run, integration with a Google service for testing on real devices, faster emulator, faster builds, GPU profiler and debugger, support for deep linking and others.