In software engineering, “done” can mean very different things depending on the team, the product, and the maturity of the delivery process.
Poll options:
1️⃣ Merged ✅
The code is reviewed, approved, and merged. For some teams, that is the end of the developer’s responsibility.
2️⃣ Clean & Consistent for next 🧹
The work is not only merged, but also clean, consistent, documented enough, and easy for the next developer to continue.
3️⃣ In production 🚀
Nothing is truly done until users can benefit from it in production, with monitoring and feedback.
4️⃣ It depends 🤷
Context matters: internal tool, critical system, MVP, refactoring, experiment, regulated domain… the definition of done should fit the risk.
As Joshua Bloch says:
“APIs should be easy to use and hard to misuse.”
Maybe the same applies to our codebase: done should not only mean finished today, but maintainable tomorrow.
So… when is “done” really done for you?
#SoftwareEngineering #CleanCode #Java #EngineeringCulture #TechLead #DeveloperLife #Agile #CodeReview #SoftwareCraftsmanship