Do you feel that your IT project is stuck in analysis paralysis as requirements are changed frequently and critical deadlines fall by the wayside? While this may be frustrating for many project managers in Qatar, it should not be surprising. As Qatar strives to achieve its vision of becoming a knowledge-based society, the country is creating new institutions and fundamentally transforming others. IT systems are often deployed at institutions in transition whose core business processes are being defined or redefined. To succeed, IT projects in Qatar and other developing countries must learn to be more flexible. Agile project management methods and tools can help IT projects become more nimble in the face of uncertainty.
In a recent IT deployment project I was engaged in, the initiation and requirements analysis phases took twice as long to complete. This was frustrating for the client, the developers and the project managers. Much of this was due to the false assumption that the client would present a ready-made list of requirements for the project team to execute. Instead, our requirements analysis phase was a lengthy learning process that involved the following:
- The client was defining and refining the business process that the application system was supposed to support. This client was a new institution and this IT system was to be their first information management system.
- The developers were learning more about the culture of the organization. The extra time allowed them to gain insights into how the system could be customized to fit better with the client’s expectation.
- The client and project management team were learning more about the capabilities and limitations of the system being customized.
What we were engaged in was more than simply arriving at a list of agreed upon requirements to be executed by the developers. In reality, it was an iterative process in which we worked together to articulate a shared and commonly agreed upon desired end for the project. Agile project management’s iterative and incremental method for managing projects would have been an ideal framework for this and possibly many other IT projects in Qatar.
SCRUM, for example, is an Agile software development framework that challenges traditional project management methodologies. It recognizes that clients may change their requirements (often called requirement churn). But it adapts to this reality by building a team with three core roles: Project Owner, Development Team and the Scrum Master. The Project Owner speaks for the client and the Development Team codes the application. The Scrum Master acts less like a traditional Project Manager but rather as a facilitator whose core function is to help the team leverage the tools and crafts of the SCRUM method.
Once the SCRUM team is assembled, they go through short development cycles called sprints (usually two to four weeks) at the end of which a demo product is delivered. Communication is vital throughout the process. Team members have a planning meeting for each sprint cycle and they conclude it with a retrospective meeting whose lessons are incorporated into the next sprint cycle. Teams also have short daily meeting during which they assess what was accomplished and identify any potential problems.
SCRUM’s focus on team building and communication allows the project team to channel their energy towards finding the IT solution that best works for the client. It is a methodology that can give projects the flexibility they need to successfully operate in uncertain environments.