· 2 min read
Ideal Development Workflow
From card picking to release

Photo by AltumCode on Unsplash
This is a value-stream mapping exercise in an effort to reduce cognitive overload and enable continous improvement.
Ideally, all these steps can be columns on a Kanban Board.
graph TD
subgraph BDD
A[1. Read BDD specifications related to the card] --> B
B[2. Update specifications]
end
subgraph Planning
B --> planCommits
planCommits[3. Plan with atomics commits] --> estimateCommits
estimateCommits[4. Estimate each commit time with POMODOROs] --> estimatePlannedFinishDate
estimatePlannedFinishDate[5. Add planned finished date the card]
end
estimatePlannedFinishDate --> |move card| pomodoro
subgraph code[TDD with Pomodoro]
pomodoro[6. Remove all distractions and start pomodoro session] --> tdd
tdd[7. start incrementally with TDD and commit/push each atomic commit]--> pomodoro
end
tdd --> |development done| deploy
deploy[8. Deploy feature on environment and move card] --> pullRight
pullRight[9. Pull right the card till Accepted]
- Clear Local
- Clean up your space.
- Commit everything you
- BDD Cycle
- Read BDD specifications related to the card
- Update specifications
- NEW #Collaboration: Connect with Product or QA person to get specs verified.
- Planning
- Break down card into atomic commits
- Estimate each commit with pomodoros
- Add planned finish date to the card
- NEW #Collaboration: Discuss your plan with a team mate to help identify potential risks and pitfalls.
- Coding
- Remove all distractions
- Move card to In-progress lane
- Start the pomodoro timer
- Start working incrementally with TDD. Commit and push non-stop.
- Release
- Manually deploy if there is no CD pipeline
- Pull card towards right until accepted
- At end of each day, fill in card timesheet activity.
- Review
- NEW #Collaboration: Present your code for code-review to a team make.
Using the above list I created a template in SwiftEnterprise by Digite, so that the whole team can use it.