Top Posts

Developer Workflows that Teams Trust: Avoid Pitfalls, Save Time, and Foster Alignment

The โ€œrightโ€ developer workflow can drastically increase team alignment and productivity

Developer Workflows are Hard, but Solvable!

In my years working on and leading software engineering teams, I have used plenty of developer workflows or a development process as some call it. A good developer workflow can serve many valuable purposes for an engineering team. And they are at times mistakenly overlooked and underinvested in.In this post, Iโ€™ll discuss the importance of a developer workflow, pitfalls to avoid, and whatโ€™s worked for me throughout my career. There is not a one-size-fits-all approach, if you want a bespoke solution, please reach out and we will find what is best for your team.๐—ช๐—ต๐˜† ๐—ณ๐—ผ๐—ฐ๐˜‚๐˜€ ๐—ผ๐—ป ๐—ฎ ๐—ฑ๐—ฒ๐˜ƒ๐—ฒ๐—น๐—ผ๐—ฝ๐—ฒ๐—ฟ ๐˜„๐—ผ๐—ฟ๐—ธ๐—ณ๐—น๐—ผ๐˜„
So why are developer workflows important?
There are several valuable aspects of a good developer workflow. The โ€œrightโ€ developer workflow makes things simpler and automation keeps things more accurate. Additionally, it should serve as a single source of truth. Anyone on the team (technical or not) can determine what anyone else is working on, via a self-serve model of just looking at the board, versus needing to ask someone.Furthermore, one could self-serve information about what work has recently been completed, launched, or signed off by stakeholders. Assuming due dates are being utilized (subject for another post) they can also see when the work is expected to be done.This minimizes wasted communication overhead. Rather than having engineers or product managers constantly pinging team members to check in on what they are working on and when it will be done, everyone can head to a single destination, which they all trust, to get the information they need.Freeing up this wasted communication time enables developers to solve more important problems and make better use of their time. It also reduces the amount of time spent on context switching.Another added benefit is that it minimizes bureaucracy, maintenance time, and unnecessary work. People are no longer responsible for chasing down everyone else on the team to figure out what they are all working on. It also can reduce time spent in meetings where people are simply giving updates, information that could be self-served asynchronously.With the โ€œrightโ€ system, there can be a main hub for people to work from. This provides added clarity, direction, and simplicity resulting in a more efficient team!๐—ฃ๐—ถ๐˜๐—ณ๐—ฎ๐—น๐—น๐˜€ ๐˜๐—ผ ๐—ฎ๐˜ƒ๐—ผ๐—ถ๐—ฑ
There are several pitfalls that Iโ€™ve seen teams get caught in.
Having a workflow that doesnโ€™t clearly delineate who needs to take the next action is a common pitfall. This can happen because the workflow is too simple or too complicated.When the workflow is too simple, a deadlock can occur when team members are waiting on each other to complete their respective tasks, because they think it is someone elseโ€™s turn to act.When the workflow is too complicated, team members donโ€™t know whatโ€™s going on and tend to rely on personal views that arenโ€™t aligned with other team members, or worse get overwhelmed and stop using the tool altogether. Also, an overcomplicated workflow makes it harder for team members to remember what things mean, what, and whose turn it is to act. This almost always creates a cycle where tasks arenโ€™t correctly updated, which leads to a lack of trust in the board.Another pitfall to avoid is having the board not be accurate. If the board is not updated correctly and consistently, people donโ€™t trust it. When the team doesnโ€™t trust it, there is little value in the board.The Broken Window Theory states that disorder flourishes when small problems arenโ€™t addressed. It creates a cycle where some disorder leads to more disorder.This applies directly to a developer workflow, when team members donโ€™t trust that the board is accurate, they are less likely to update their tasks.๐—ช๐—ต๐—ฎ๐˜โ€™๐˜€ ๐˜„๐—ผ๐—ฟ๐—ธ๐—ฒ๐—ฑ ๐—ณ๐—ผ๐—ฟ ๐—บ๐—ฒ
Iโ€™ll give a brief outline of the various workflow statuses and then go into them more in-depth.
These are the statuses in order:1 - To Do
2 - In Progress
3 - In Review
4 - In Stage
5 - In Prod
6 - Done
๐Ÿญ - ๐—ง๐—ผ ๐——๐—ผ
Tasks that havenโ€™t been started yet. They enter this status as a result of planning or reprioritization. In a future post, I can go more in-depth into planning, sprints, grooming, and backlogs.
๐Ÿฎ - ๐—œ๐—ป ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฒ๐˜€๐˜€
Tasks where the assignee has started the work. With integration, the task will be moved automatically into In Progress when an engineer makes a properly named branch in your VCS (Version Control System), e.g. GitHub.
๐Ÿฏ - ๐—œ๐—ป ๐—ฅ๐—ฒ๐˜ƒ๐—ถ๐—ฒ๐˜„
A task moves to In Review when the development work is done and code review has begun. Again with integration, the task is moved here when a Pull Request (PR) is opened via automation.
Pro Tip: When the code review is complete, automation can add a label or tag that indicates the task is merged. This label/tag allows people to quickly differentiate a task that is waiting on a review vs. one that is waiting on a deployment.๐Ÿฐ - ๐—ฆ๐˜๐—ฎ๐—ด๐—ฒ
When the code has been reviewed and merged, it is recommended to be deployed to a non-production environment (often called Stage). With integrations enabled, the task is automatically moved to In Stage once the CI/CD (Continuous Integration / Continuous Delivery) pipeline deploys to said environment.
๐Ÿฑ - ๐—ฃ๐—ฟ๐—ผ๐—ฑ
A task moves to In Prod after the code has been signed off in Stage. At this point, the code is ready for a production deployment. Through integration, tasks will be automatically moved to this status when the CI/CD (Continuous Integration / Continuous Delivery) pipeline deploys to production.
๐Ÿฒ - ๐——๐—ผ๐—ป๐—ฒ
Finally, a task moves into the Done status when the Product Owner signs off in production and manually moves the task from In Prod to Done.
๐—ช๐—ต๐˜† ๐—ถ๐˜ ๐˜„๐—ผ๐—ฟ๐—ธ๐˜€
This developer workflow has only 6 statuses. Compared to other approaches, itโ€™s on the lighter side, while still providing valuable granularity. With this simple workflow, team members can understand the process quickly and reach alignment.
Automation helps to minimize the manual work that goes into maintaining the statuses of the tasks. Tasks typically arenโ€™t interacted with manually, with most transitions automated. The manual actions are putting tasks into the To Do status after planning and later the Product Owner moves the task to Done after signing off on it in production.This lack of manual interaction gives the team confidence that the statuses are correct and true. When the team trusts that the tasks are accurately accounted for, they donโ€™t have to waste time tracking things down and trying to find out what is actually going on. Earlier, we discussed The Broken Windows Theory. Here, the other side of that theory is being leveraged, when the team maintains an accurate board, individual members feel responsible for keeping the board accurate.๐—ช๐—ต๐—ฎ๐˜ ๐—ต๐—ฎ๐˜€ ๐—ฎ๐—ป๐—ฑ ๐—ต๐—ฎ๐˜€ ๐—ป๐—ผ๐˜ ๐˜„๐—ผ๐—ฟ๐—ธ๐—ฒ๐—ฑ ๐—ณ๐—ผ๐—ฟ ๐˜†๐—ผ๐˜‚?๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ๐˜€ ๐—ป๐—ผ๐˜ ๐—ฐ๐—ผ๐˜ƒ๐—ฒ๐—ฟ๐—ฒ๐—ฑ
In this post, I focused only on a developer workflow.
There are plenty of related topics that I could go into in another post:- Work estimation
- Due dates and tracking them for accountability
- Planning, sprints, grooming, and backlogs.
- QA team integration with the team and board
- How people (within or outside of the team) can bring things to the teamโ€™s attention (bugs, features, etc.)
- When to release (to Stage, Prod, โ€ฆ)

๐—ฃ๐—ฎ๐—ฟ๐˜๐—ป๐—ฒ๐—ฟ๐—ถ๐—ป๐—ด ๐˜„๐—ถ๐˜๐—ต ๐—”๐—œ ๐˜ƒ๐˜€ ๐—ข๐˜‚๐˜๐˜€๐—ผ๐˜‚๐—ฟ๐—ฐ๐—ถ๐—ป๐—ด ๐˜๐—ผ ๐—”๐—œ

Thereโ€™s a growing temptation to treat AI like a direct report:
โ€œHand off a task, get output, maybe test it, and move on.โ€

Developer Workflows are Hard, but Solvable!

Great engineering isnโ€™t about delegation. Itโ€™s about understanding systems, constraints, and edge casesThe new ๐Ÿญ๐Ÿฌ๐˜… ๐—ฒ๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ partners with AI:
โ€ข Uses it to ๐—ฎ๐—ฐ๐—ฐ๐—ฒ๐—น๐—ฒ๐—ฟ๐—ฎ๐˜๐—ฒ, not own the architecture
โ€ข ๐—ฅ๐—ฒ๐˜ƒ๐—ถ๐—ฒ๐˜„๐˜€ the outputs, knowing AI can hallucinate or oversimplify
โ€ข ๐—จ๐—ป๐—ฑ๐—ฒ๐—ฟ๐˜€๐˜๐—ฎ๐—ป๐—ฑ๐˜€ the outputs, never answering โ€œI don't know, the AI did itโ€
Engineering is about leverage. Partnering with AI means using it to free up focus โ€” not to abdicate responsibility.โœ… Partnering with AI = โ€œCollaborate and refine.โ€
๐Ÿšซ Outsourcing to AI = โ€œAssign and forget.โ€
The engineers and teams that treat AI as a partner โ€” not a direct report โ€” will ship with higher quality, better understanding, and be faster over the medium and long run.Are you ๐˜๐—ต๐—ฒ ๐—ป๐—ฒ๐˜„ ๐Ÿญ๐Ÿฌ๐˜… ๐—ฒ๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ?

Next Post ...

Laoreet semper tempus lectus nascetur nisl iaculis enim. Lacus pharetra nibh mollis in aliquet accumsan tellus. Varius ullamcorper at montes proto aenean dignissim mauris dictum sapien suspendisse.Consectetur pellentesque in mauris scelerisque placerat neque nullam tellus vis ligula vitae euismod purus auctor nisl mauris tempor urna sollicitudin ut felis.Ridiculus commodo erat convallis lacinia eget augue suspendisse vivamus orci.