Independent · Munich, Germany

Software engineer & agile enthusiast, passionate about product discovery, delivery & operations.

I help teams build software people actually value. Lifelong learner. Here I write short notes on agile and the craft of building products. Member of the allwerker cooperative, where I lead fullstack4j. Organizer of the Lightweight Java User Group since 2010.

Portrait of Daniel Bartl
  1. DiscoveredUnderstand the problem and the people who have it.
  2. DeliveredShip thin, vertical, user‑centric slices.
  3. OperatedYou build it, you run it, you learn from it.
  4. LearnedThen start again, a bit wiser.

Value exploration over cost estimation.

New: fullstack4j

fullstack4j.dev →

With the allwerker cooperative

Whole features with a team of three.

Most business software doesn’t need a frontend team, a backend team and an API between them. With plain Java from the database to the button, two or three people can own every feature end to end, and AI agents take the routine work off their hands. Together with my colleagues at allwerker, I set up, staff and coach such teams, working in Shape Up-style cycles.

  • Spring Boot
  • Apache Wicket
  • Spring Modulith
  • MongoDB
  • Shape Up
UI COMMAND · VIEW EVENT Open orders Ship ShipOrder OrderShipped Billing OrdersToBill next slice
One slice, one owner: from the button to the database.

Currently building

Open-source tools for full-stack Java on Spring Boot.

The fullstack4j toolbox · server-side rendered UIs in Apache Wicket

MongoDB batch tools · for batch jobs that write to MongoDB

Latest notes

All 14 notes →

New · 1 min read

fullstack4j

In my note on Fullstack , I suggested that a team skilled in Java might not need a JavaScript SPA at all. A mature server-side framework like Apache Wicket keeps the team in one language and lets everyone work on user-facing vertical slices instead of splitting into frontend and backend members. Since then, I have been…

Continue reading →
  1. Story Points II

    It is quite intriguing that an agile concept of user story points was invented for estimating the cost instead of the value of the story it relates to, even though its…

  2. Garbage Disposal

    It might be wrong to plan iterations by moving items from the overall backlog to the iteration backlog until it’s full. It reminds me of a garbage disposal.

  3. Story points

    Story points can mean different things to different people. Some see them as the effort needed to complete all related tasks, while others consider them a complexity…

  4. Note to self II

    I am on a team that works in a mob programming fashion, but we would very much like to be agile as well. What would be the best time to stop our session, get up, and do…

  5. Note to self I

    Why is event sourcing still such a niche ‘product’? Logging almost every possible technical information, ranging from debug messages to all kinds of exceptions, is…

  6. Fullstack

    When building a web UI for a product, the decision often comes down to which JS SPA framework to use. Another option might be worth considering if you already have a team…