In the world of technological industries, a team will not be assigned to work on a single project in their lifetime. Whether you completed the project or not, the team must hand off the project when a deadline is set for a final sprint. This is why it is important to consider the future maintenance of a product during planning. In order to successfully hand off a project to a client or to a new project manager and team, careful guidelines must be followed. Knowing the most common risks and challenges that may arise during this phase of the agile methodology is beneficial to avoid unwanted circumstances.
Source: http://bit.ly/1FH2fue Source: http://bit.ly/1rIUWBv
In a typical lifecycle of a project, a risk plan, list of all potential risks, is expected to be created. The most common risks in agile are scheduling error, budget risk, requirement error, and security risks. For smaller projects such as the one in which I was assigned to work on, scheduling error and requirement error are the most common risks that teams can encounter. According to Conboy et al. (2001), most of the challenges encountered in agile are “people” challenges, meaning that it is caused by the team working on it or sometimes the client (p. 48). Common causes are lack of customer involvement, setting up unrealistic expectations, lack of motivation, and unfamiliarity with processes and tools. For example, my team missed a couple meetings with our client and we got our access to edit the website late. For these reasons, our progress was delayed. From what I have observed, communicating with the team and the client was probably the biggest challenge. My team had to learn the hard way; our sprints somewhat turned into mini-waterfalls instead of being a continuous activity. Because of the lack of continuous integrations, we weren’t able to adapt to changes in the user stories, which then eventually delayed some of our deliverables.
To avoid these risks and challenges, Smith & Pichler (2005) suggested ways to implement risk-driven methodology (p.50). The importance of communication and proper management is emphasized. Having all the risks listed, the team must analyze and prioritize the list based on its expected impact on the project. To find solutions for the risks, the team needs to collaborate and execute the plan. The team also needs to set goals for each sprint and manage expectations. If the team communicates with each other frequently, planning out will be easier and handing off a project will be smooth.
Smith, P., & Pichler, R. (2005). Agile Risks/Agile Rewards. Software Development, 13(4), 50-53.
Conboy, K., Coyle, S., Wang, X., & Pikkarainen, M. (2011). People Over Process: Key People Challenges In Agile Development. IEEE Software, 28(4), 48-57.