Let software flow

Eric Smalley

Developer, trainer, coach

About me | Get in touch

Let your software flow

I'm an experienced software developer on a mission to let software flow. My clients hire me to help consistently develop and deliver great software products on demand.

How consistently are you delivering high quality software products? What are your challenges? How can you improve?

Perhaps my development, coaching and training services can be of help.

Check out my services

Make software flow
flow (/fləʊ/) - to move along in a steady, continuous stream



I offer a workshop for software product teams on how to consistently deliver value on demand. It's a highly engaging two-hour session that challenges the participants' thinking and behaviour. The workshop provides many fundamental insights, making it an interesting session for leadership and any other stakeholders to join as well.

During the workshop we dive into the dynamics of software delivery. With the help of concepts such as Lean Thinking, Theory of Constraints and Single Piece Flow we discover which principles determine our delivery success.

We then visualise the flow of value through our process steps, identify constraints and look at ways to align our entire delivery chain with the demand for value.

With Kanban we bring our daily delivery process alive. We learn how Kanban helps us focus on value creation, and how it can protect flow and ensure quality. And finally we discover how Kanban drives our team in continuous improvement, letting our software delivery flow better each day.

Key takeaways

  • Understanding of fundamental software delivery principles
  • Ideas on visualising delivery constraints
  • Introduction to helping delivery flow with Kanban
  • Interaction, fun and a lively discussion!

Interested in arranging this workshop for your team at your location?

Get in touch!

Team coaching

When we get it right as a software product team, we deliver great value at a predictable pace within budget and on demand. The operation feels smooth and flexible, our people seem very aligned and there is great trust with customers and sponsors. We can sense enjoyment and pride, and a collaborative drive for excellence.

I coach teams in their quest for high performance by helping them cultivate values that encourage it. Safety, respect and trust, to create an environment where all of us feel relaxed to express our true self. Deep understanding and collaboration, to focus on working smarter in stead of harder. Leadership, making our team flexible and resilient through a shared sense of proactiveness and responsibility.

To consistently deliver great value on demand we first develop a deep understanding of the delivery principles governing our success. We then focus on identifying our primary constraints and setup a process to continuously improve our software delivery. We establish and monitor metrics that make sense, so we understand when to celebrate. In the meantime we get on with it and enjoy the learning experience!

Is your team looking to get it right, but just not quite getting there? Let's discuss your challenges and develop a coaching solution tailored to your needs.

Get in touch!

Software development

What do we expect from great software? I believe there are two main success criteria.

1. Software needs to deliver business value

What is business value? Anything that helps our company achieve its mission. A great customer experience, security, scaling, time saving. Or bottom line results such as more sales, higher prices and fewer costs and risks.

I help achieve business value efficiently by delivering small software releases at high velocity for feedback from our actual users. Much time and cost can usually be saved when we test our assumptions early.

2. Software needs to be flexible

If there is anything that all companies do, it is that they change. They change to be competitive in increasingly evolving markets. Our software needs to be able to respond to this change, and preferably encourage it.

I help achieve flexibility by focussing on testability, readability, simplicity and designing at the right abstractions. Software should reflect the business domain in an understandable way, and encourage refactoring. I use and promote established design patterns and practices to accomplish this.

I'm available for senior and lead developer positions on a freelance basis in the greater Amsterdam and Utrecht area. I will also consider work from the rest of The Netherlands or abroad. I currently develop full stack web applications in the PHP and JavaScript (NodeJS) landscapes.

Get in touch!

Software development training

The quality of software is a direct result of the many choices developers continuously make. I train software developers to help make quality choices.

Through my training participants develop a deep understanding of fundamental software design and development principles. These principles help developers achieve quality in their software regardless of what specific technology they use.

Every training is tailored to the needs of my clients, including content, timing, duration and location. My modular training curriculum is customisable for both beginning and advanced developers.

A selection of training topics

  • Declarative Programming
  • Object Oriented Programming
  • High Cohesion Low Coupling
  • Inversion of Control
  • Test Driven Development
  • Refactoring
  • Persistence Ignorance

The training is highly practical, challenging participants to apply the taught principles through multiple assignments. Feedback from myself and peers further enhances the understanding. Trainings are provided with PHP as the programming language.

Is your software quality in need of improvement? Then let's discuss how development training can help you with that.

Get in touch!

About Eric Smalley

I help software developers and software product teams deliver higher quality software at a more consistent pace while making the experience smoother and more enjoyable.

With over 20 years of experience in software delivery, I have helped a variety of clients develop and deliver long lasting software products that were successful at driving their businesses and adapting to changing conditions along the way.

In addition to being hands-on involved with software products, I love to train software developers to help them understand fundamental development principles and use them to improve the flexibility of their software.

I work as a freelancer through my company iDevelop Software Consultancy B.V., which is based in Abcoude, The Netherlands.

Get in touch

Eric Smalley

iDevelop Software Consultancy B.V.
Abcoude, The Netherlands
KvK 71207600