Recently I am thinking, is it necessary to setup a “standard process” for Agile Scrum practices? That means others, especially for new teams, may follow it in their project execution. But I really don’t like the word of “standard” , that means it will suppose to give some criteria to judge what is correct and what is not. But in Agile world, it might be difficult to make such a judgment. The whole ideas of Agile is to provide a framework the help team to have better communication with the client and deliver high quality product with high business values to the client. We do have lots of thoughts, principles and frameworks to guide us to practice it. But they are hardly to say as “Standard”.
For example, in Scrum framework, whiteboard is recommended to be used for transparent communication within the team. And it will include task board and burndown chart. But the idea here is to make the project information to be visible to everyone. So you may add more necessary information on that, like improvement action items, bug trend and etc, if the team consider it will be helpful to the project execution. But if we set up a “STANDARD” like
Whiteboard needs to be used for the team and publish the information of task board and burndown chart. The task board needs to tell the task status of “TODO”, “IN PROGRESS” and “CLOSED”.
Then it may cause some confusions for some teams like, “can we add a new status for each task like ready-to-test?”. Maybe you will say, of cause it is possible. But for some other cases, like what the retrospective agenda should be, will be more complex and not so easy to set up a standard format. Agile team needs to be self-management / organized, so they need more spaces and flexibility to set up their own way to run Scrum.
So…, does it mean that we can do nothing on the whole organization level. I think it may not be true. We can still do something to help the teams, especially new teams, to start their work. I suggest to set up best practices for each Agile Scrum activities on the organization level. As my current consideration, the best practices at least need to cover the following activities but not limited.
- How to start a new Scrum team
- What need to be ready before the team start to run the project with Scrum
- How to set up the team structure based on different project situation
- How to find proper person to take the role of PO & ScrumMaster
- What’s the suggested communication strategies
- How to set up team level agreement
- Planning and estimating.
- The suggested way to setup the vision, roadmap and release plan
- How to set up small enough user story
- Provide sample user stories that be count as 2 story points for different product teams
- Suggested way of task breaking down
- Suggested way to deal with defects during the plan
- Useful tools and methodologies like ATDD
- Daily standup
- What’s the suggest way to organize daily standup
- Sample agendas
- Recommended tools to active the attendees
- Risk management
- How to figure out risks
- How to set up risk plan in Agile Scrum
- Different role in risk management
- Agile design
- How to deal with complex system design
- Suggested practices like TDD
- Suggestions for deal with technical debate
- Quality control
- Best practice of defect tracking
- Best practices for bug fixing
- Best practices about DONE definition and some samples
- Best practices for set up communication plan, like deal with weekly status report, defects report and etc.
I hope there were more inputs and comments from others :-)