AgilePM 01: Introduction
Let’s say you are working in a company in the IT department and you have created a number of software applications for different departments (e.g. sales, logistics, finance) . These application are being used and the IT department is now involved in day to day support and keeping users happy and productive.
One day the head of the sales department requests a new application to allow users to order, re-order and track deliveries from a mobile device as they understand that more and more shopping is now one online from mobile devices and a competitor is rumored to be working on a similar product.
As this stage you have something in common with the head of the sales department and that is that you don’t know what the sales department actually wants as the expectations are very vague. So you have to start a conversation with some people from the sales departments and extract the know requirements. It can be a good idea to facilitate a number of workshops to gather these requirements and after each workshop we will have a better idea of what they need.
The next step is perhaps to start the project and deliver what is expected. We work hard in our IT area and we focused on delivering on-time and within budget. Sometimes we may ask questions to the users if our requirements are detailed enough.
Once we are ready, we show the application to the users and in many cases (for IT projects, creative projects) we find that the expectations were something different and what we delivered cannot be used. This is because we could not understand the expectations up front and it was an impossible task to try to gather all the requirements up front.
This happens a lot in creative projects (IT development products, design, writing, ). Projects like constructing a house or a building are much easier to document and discuss so it much easier for all stakeholders to get a better understanding of the expectations.
So how do you think we can improve the way we carry out these creative projects and deliver a product that matches expectations at the end of the project?
AgilePM 02: Adaptive Approach
Our normal thinking of how a project works is that we start by listening to the customer to understand their expectations then document this. Next step is to create a plan and then start the project. This approach is called the predictive approach as we can predict all the requirements upfront.
In certain projects (eg: creative projects) this is not so easy as we cannot understand all the requirements up front. However, we have to be able to support these type of projects, so how do we do this?
Once way will be try to improve the way we do predictive projects by spending a bit more time at the start of the projects and using such techniques as:
- Facilitation workshops
- Prototyping (e.g. A 3D model of a house)
- Taking time to examine similar products
This will help a little, but it will not support these projects where requirements are difficult to gather in the future. So another idea is to take another path to development.
We can start by considering the different approaches we can take to take deliver a product and then start by describing a smaller first deliverable that we can do in a few weeks. We can then show this to the customer and get their feedback. This feedback makes it much easier for the customer and development team to communicate and for the customer to have gain a better understanding of their requirements.
After this feedback, we can then agree on the next deliverable (next version) with the customer and start work on this. We then show this to the customer again when ready and receive more feedback. We can continue to do this until the end of the project involving the customer when we deliver each deliverable and we reach all the customers’ expectations.
This approach is known as the adaptive approach as we don’t try to predict all the requirements from the start of the project but we use the feedback from each deliverable so the requirements evolve during the project. This adaptive approach is also known as Agile, so now you have a good definition for Agile.
Remember the main goal of any project is to deliver a product that the customer will find easy to use and will allow them to be more productive.
AgilePM 03: Incremental Delivery
The method of product delivery is one of the main differences between the adaptive and the predictive approaches. More specifically, through the adaptive approach multiple versions of the product are created, client feedback being used at each development cycle to customize the product to fit the expectations better and better.
This is called Incremental delivery and can often be a more practical method of delivery than the Big-Bang delivery method, which is usually used in the predictive approach. The reason for this is that for the latter no actual feedback on the product is received before we release its final version. Therefore, we do not know for sure if the product really fits the expectations of the client until it is too late to change anything without repeating the whole process.
Building incrementally, from firm foundations, is a first principle used in Agile methodologies. It was drawn from the principles of the DSDM framework, one of the many Agile frameworks. Like other frameworks, such as XP or Scrum, DSDM was initially a methodology used by a group of people which was later given a name and made official by publishing a document or a book. Today, the latest version of this methodology is the basis for the Agile exam.
AgilePM 04: Iterative Development
AgilePM 05: Quality
AgilePM 06: Collaboration
AgilePM 07: Communication
AgilePM 08: Business Need
AgilePM 09: Fixed Duration Projects
AgilePM 10: Control
Keywords: AgilePM, AgilePM Foundation, AgilePM Practitioner, AgilePM Certification, AgilePM Exams, AgilePM PDF, AgilePM Manual