BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Refocusing e-Commerce with Lean

by Ben Linders on  May 11, 2017

Auchan:Direct, the online grocery delivery service of Auchan France, decided to apply lean to develop a new e-Commerce website. Their CEO was the first customer and they used continuous and fast feedback from their clients on the new experience to improve website quality using continuous delivery.

Scaling Lean Startup: Principles over Process

by Ben Linders on  May 04, 2017

Large organizations want to be like lean start-ups but they need to rethink how they hire, incentivize and manage their staff to become an agile organization. Organizations should reward teams for making low-risk decisions based on what they can learn quickly and build in the value of learning in addition to delivery.

Automated Acceptance Testing Supports Continuous Delivery

by Ben Linders on  Apr 28, 2017

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.

A Crystal Ball to Prioritise Technical Debt in Monoliths or Microservices: Adam Tornhill's Thoughts

by Daniel Bryant on  Apr 02, 2017

At QCon London, Adam Tornhill presented “A Crystal Ball to Prioritise Technical Debt”, and claimed that although the technical debt metaphor has taken the software world with storm, most organizations find it hard to prioritise and repay their technical debt. Key takeaways from the talk included methods to identify ‘hotspots’ of code complexity and churn.

Mastering Agile Testing

by Shane Hastie on  Mar 27, 2017 3

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

by Jan Stenberg on  Feb 15, 2017

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

by Ben Linders on  Feb 09, 2017

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

by Ben Linders on  Feb 09, 2017 4

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.

The Future of QA at Atlassian

by Rui Miguel Ferreira on  Nov 06, 2016

Mark Hrynczak, Cloud QA Manager for Atlassian, gave a talk on this year’s company summit in which he shared his vision of how a high valuable QA team should perform. High value for a QA team is defined as being, in the first place, totally aligned with the company strategic goals ,thus contributing to solve the most important problems that an organization might face at a specific moment.

Increase Learning with 10% Autonomy Time

by Ben Linders on  Oct 20, 2016

Giving teams autonomy to spend 10% of their time for learning reduces delivery time, increases quality, and increases motivation. The 10% rule gives teams full autonomy to work on things they consider important. It results in freeing up people's creativity and letting teams grow their potential.

Refactoring and Code Smells – A Journey Toward Cleaner Code

by Ben Linders on  Sep 21, 2016

Refactoring helps to move towards cleaner code that is easier to understand and maintain. It takes practice and experience to recognise code smells: symptoms of bad design which indicate deeper problems in the code. Tools can be helpful to refactor in small steps and prevent breaking the code.

Benefits of Agile Transformation at Barclays

by Ben Linders on  Sep 08, 2016

Increased throughput, reduced code complexity, less production incidents, shorter deployment cycles and higher happiness in teams; these are some of the benefits that the agile transformation at Barclays has delivered. Within the first year of the transformation, which is based on Disciplined Agile, more than 800 teams adopted agile making this one of the largest agile implementations.

Continuous Deployment at Coolblue

by Ben Linders on  Sep 01, 2016

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.

Deliver Shippable Products with Good Engineering Practices

by Ben Linders on  Aug 25, 2016

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.

Using Models in Developing Software for Self-Driving Cars

by Ben Linders on  Jul 28, 2016

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.

BT