The goal of this article is to share experiences and the model for organizing and operating distributed Agile teams that evolved from these efforts, but the main message is much simpler: Agile is the best way with distributed teams.
A prevailing belief among Agile and Scrum proponents is that “a great deal of explicit risk management becomes unnecessary when a software development project uses an agile approach.” In my experience, this is a false and dangerous assumption. Project risk is a hungry leopard ready to devour the unprepared. Fleet-footed agilists and die-hard waterfallists alike.
To do agile retrospectives, it is important to understand what they are and why you would want to do them. This helps you to facilitate valuable retrospectives and to "sell" retrospectives in your teams and motivate team members to actively and openly take part in them. As a retrospective facilitator it is important to have a toolbox of retrospective exercises which you can use to facilitate a retrospective. This article describes some possible exercises that help you to facilitate retrospectives that deliver benefits to the teams that you work with.
Are your teams retrospectives really worth the effort? Do the problems you identify actually get solved? If not, your team might need some help learning how to use retrospectives to continuously improve. This article illustrates how Scrum teams can continuously improve by using a combination of their definition of done, working agreements, and the product backlog.
The most ignored attribute of development is reviews. Many Scrum teams compromise on review tasks in order to complete their other tasks in a particular sprint. Though they plan separate tasks for reviews, they frequently ignore them. In reviews themselves, the most ignored is the code review. The shorter the sprint, the less the importance and time allocated to code reviews.
We all understand that Scrum teams should be self-managed and self-organized. Empowered is the commonly used term, because without empowerment it's difficult for self-management and self-organization to happen.
In Scrum, we depend on the team for estimation. It is the team that estimates the efforts and time for each product backlog item; it is the team that, in the sprint planning meeting, breaks down each item into tasks and estimates efforts for each; it is the team that, in the daily Scrum, estimates the remaining efforts. . . .