Amit has just secured his first job in a leading Indian IT Services firm. As a part of his onboarding training, he was stumped when his trainer waded into an uncharted territory – ‘Project Management’. Feeling lost yet determined and curious to know more – Amit thought the smartest way forward would be to reach out to Dinesh – his college senior and mentor – a seasoned Project Manager.
Dinesh: It is good that you asked me to give you a brief on Project Management. Let me give you an eye opener – just enough to wet your appetite and goad you to explore this vast field further.
A project is a set of inter-related tasks performed to achieve a desired goal. Now, in current times, as you know, there is no goal without a timeline attached. If you agree to this, a project, by definition is set of tasks done to achieve a goal in a time-bound manner. To take this thought further, you will also agree with me that in today’s modern world, time has a value attached to it with some quality expectations as well. Thus, to drive home this point – Suppose you have placed an order for chocolate cake for your brother’ upcoming birthday – you obviously would specific the quality (shape of cake, size, weight, flavour, filings etc.), cost (you would place an order based on your budget) and timeline (cake to be delivered on specified day & time).
Amit: Got it! To summarize my understanding, set of inter-related tasks performed to achieve a goal within an acceptable time, meeting agreed costs and meeting acceptable quality is called a project.
Dinesh: Correct!
Amit: But then what is this project management? Also, our faculty was mentioning about project management methodologies like Waterfall, Agile…. Can you de-mystify these terms please.
Dinesh: Project Management is simply ensuring project is managed as per agreed timelines – cost – quality expectations. Now, this is easier said than done – as real-life projects are indeed complex and involve many stakeholders (from different teams/departments/organizations), each having their own set of constraints (which can impact deliverable), assumptions, risks & dependencies. All of these are inter-twined and affect the deliverable. Project Manager manages triple constraints while keeping his eyes firmly on deliverables from timeline – cost – quality perspective.
Amit: This sounds interesting … So, what is this Project Management Methodology?
Dinesh: Over time, Project Management Community has collected best practices & standardized these practices in the form of methodology. At a very high level, projects can be executed with two broad ways – First approach is to plan and execute project at the beginning and then execute it based on the plan. This is called Waterfall approach. The other approach is to execute project part-by-part. Thus, if I have built a very large system, I implement small part of it first – get approval from relevant people and then move on to implement the second feature. Only once second feature is done, then I move on with third feature and so on. This is called Agile approach. Mind you, what I have told you is at a very high level and there are many more methodologies (driven by permutation and combination) other than Waterfall and Agile.
Amit: Interesting…. But I have a question…
Dinesh: Shoot…. (trying to hold back on an appreciative smile)
Amit: I can make sense of Waterfall but am confused on work gets done in Agile.
Dinesh: Waterfall is typically used when have a clear sight of the end goal. For example, if I have to build a building (with a standard design), I have a well laid out path – so taking up entire project execution in one shot helps. However, if I have a launch a website of an innovate AI product, there are many things that would be “first” for us…. Right from the point of deciding what a typical site surfer would need, which points would appeal to him, how optimally this should be presented so that user would be egged to explore more etc. Thus, we have a lot of uncertainty. As a rule of thumb, Waterfall works well with a project wherein there is no (or very little) uncertainty on what we need to build. Agile is suitable for uncertainty situations.
In Agile, we jot down the features that a potential customer would be interested in. Thus, all stakeholders come together and brainstorm and decide which features would interest a potential customer. Post this, team would prioritize this list (called “Backlog”). Team would then decide which feature would be taken up first, which one would go second and so on. Once this is done, team will decide on how many of these features, they can complete in a 2-week or 3-week cycle (called “Sprint”) …. Whether they should target to complete first 5 features or first 8 features – this decision is based on complexity of feature as well team skills. Speed of completion of features (in any sprint) is called “Sprint Velocity”
I hope, your basics are clear now….
Amit: Absolutely. I am clear now – have a fair idea and most importantly find this an interesting enough to explore further.
Written by Gaurish Kerkar