The book Essential Skills for the Agile Developer: A Guide to Better Programming and Design, points out many practices that can and should be done all the time. For developers, these include never use globals and consider what your tests will look like before writing code (which is a foundation for test-driven development).
There are also quite a few practices for developers on the process side. Here are a few.
- When you've completed something, look to see if you can finish something you've started or somebody else is already working on before starting something new.
- When a request is made of you ask the person "how will I know I've done that?" before agreeing to it.
- If you are going to need someone's help in the future, let them know when work is coming their way.
- Use the "rule of three." If you've exchanged three emails with someone and it hasn't resolved the issue yet, stop discussing the issue via email and set up a conversation. After three tries it is likely you won't get it done in four!
Here are practices for the developer role. In some of these practices, other roles are also involved.
Table 1. Responsibilities and practices of the Developer
Responsibility |
What the Developer Does |
Planning |
Developing estimates at beginning of iteration and in story points Decomposing features into stories and Tasks Committing to the backlog |
Ecosystem |
Working within the team’s project environment to ensure it meets the needs of the team including:
|
Produce code that meets acceptance criteria |
Doing detailed design Doing systems analysis and design Working with the tester to ensure code is tested and that code passes all types of tests for code |
Assuring flow of work |
Swarming with other team members on stories and task Controlling Work-in-Process (WIP) Working with the team lead to maintain the kanban board or agile life cycle tool and to update the team backlog |
At the end of Iteration |
Participating in the iteration demonstration. Attending to unfinished work. Participating in the iteration planning meeting. Participating in the iteration retrospective. Working with release management. Following and improving the guidelines suggested in the considerations for DAD teams and the considerations for daily coordination. |
Helping the team to improve continuously |
Participating in the daily coordination meeting as a full participant. Resolving impediments to progress. See issues of quality. |
May 2023
Developer Overview
Practices for the Developer
- Controlling work-in-process (WIP)
- Daily coordination
- Decomposing a feature into stories
- Design patterns
- Estimation
- Issues of quality
- Iteration demonstration and review
- Iteration planning meeting
- Iteration retrospective
- Metrics
- Responsibilities and practices
- Unfinished work
- Visual controls
- Writing tasks