Agile Project Management Methodology PDF
As defined by Gartner, project management is “the application of knowledge, skills, tools, and techniques to project activities to meet the project requirements”
Being an integral part of software engineering processes along with business analysis and requirement specification, design, programming, and testing, project management has been a topic of considerable debate for years.
Even today, when company project management practices are becoming more mature, only about half of them (54%), according to survey results by the Project Management Institute (PMI), is fully aware of the importance and value of these practices.
Regardless of industry, project management has proven to be a crucial element of a company’s efficiency and eventual success. In fact, organizations using proven project management practices waste 28 less money and implement projects that are 2.5 times more successful.
Project management professionals conclude that the definition of a successful project is one that is not only completed on time and within budget but one that also delivers expected benefits.
Project Management Phases
Regardless of the scope, any project should follow a sequence of actions to be controlled and managed. According to the Project Management Institute, a typical project management process includes the following phases:
- Project close.
Used as a roadmap to accomplish specific tasks, these phases define the project management lifecycle.
Yet, this structure is too general. A project usually has a number of internal stages within each phase. They can vary greatly depending on the scope of work, the team, the industry, and the project itself.
In attempts to find a universal approach to managing any project, humanity has developed a significant number of PM techniques and methodologies.
Traditional Project Management Methodologies
Based on the above-described classic framework, traditional methodologies take a step-by-step approach to project execution. Thus, the project goes through the initiation, planning, execution, and monitoring straight to its closure in consecutive stages.
Often called linear, this approach includes a number of internal phases which are sequential and executed in chronological order. Applied most commonly to the construction or manufacturing industry, where little or no changes are required at every stage, traditional project management has found its application in software engineering as well.
Known as a waterfall model, it has been a dominant software development methodology since the early 1970s, when formally described by Winston W. Royce:
There are two essential steps common to all computer program developments, regardless of size or complexity. There is first an analysis step, followed second by a coding step … This sort of very simple implementation concept is in fact all that is required if the effort is sufficiently small and if the final product is to be operated by those who built it – as is typically done with computer programs for internal use.
Waterfall model has a strong emphasis on planning and specifications development: it is considered to take up to 40% of the project time and budget. Another basic principle of this approach is a strict order of the project phases. A new project stage does not begin until the previous one is finished.
The method works well for clearly defined projects with a single deliverable and fixed deadline. The waterfall approach requires thorough planning, extensive project documentation, and tight control over the development process. In theory, this should lead to on-time, on-budget delivery, low project risks, and predictable final results.
However, when applied to the actual software engineering process, the waterfall method tends to be slow, costly, and inflexible due to the numerous restrictions. In many cases, its inability to adjust the product to the evolving market requirements often results in a huge waste of resources and eventual project failure.
Agile Project Management Methodology
As opposed to the traditional methodologies, the agile approach has been introduced as an attempt to make software engineering flexible and efficient. With 94% of organizations practicing agile in 2015, it has become a standard of project management.
The history of agile can be traced back to 1957: at that time Bernie Dimsdale, John von Neumann, Herb Jacobs, and Gerald Weinberg were using incremental development techniques (which are now known as Agile), building software for IBM and Motorola. Although not know how to classify the approach they were practicing, they all realized clearly that it was different from the Waterfall in many ways.
However, the modern-day agile approach was officially introduced in 2001, when a group of 17 software development professionals met to discuss alternative project management methodologies. Having a clear vision of the flexible, lightweight, and team-oriented software development approach, they mapped it out in the Manifesto for Agile Software Development.
Aimed at “uncovering better ways of developing software”, the Manifesto clearly specifies the fundamental principles of the new approach:
Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan.
Complemented with the Twelve Principles of Agile Software, the philosophy has come to be a universal and efficient new way to manage projects.
Agile methodologies take an iterative approach to software development. Unlike a straightforward linear waterfall model, agile projects consist of a number of smaller cycles – sprints. Each one of them is a project in miniature: it has a backlog and consists of design, implementation, testing, and deployment stages within the pre-defined scope of work.
At the end of each Sprint, a potentially shippable product increment is delivered. Thus, with every iteration new features are added to the product, which results in gradual project growth. With the features being validated early in development, the chances of delivering a potentially failed product are significantly lower.
Let’s summarize the main Agile aspects:
- Flexibility: The scope of work may change according to new requirements.
- Work breakdown: The project consists of small cycles (known as Sprints in Scrum). Value of teamwork: The team members work closely together and have a clear vision of their responsibilities.
- Iterative improvements: There is a frequent reassessment of the work done within a cycle to make the final product better.
- Cooperation with a client: A customer is closely engaged in the development and can change the requirements or accept the team’s suggestions. Prioritizing flexibility and rapid turnaround, the Agile approach offers the following benefits, according to recent research:
- Ability to manage the changing priorities (88%)
- Increased team productivity through daily task allocation (83%)
- Better project visibility due to the simple planning system (83%)
Agile Project Management with Kanban
There’s a way to organize your work, stay focused, avoid mistakes, and be hyper-productive that you can learn in five minutes using sticky notes and markers. It’s been used by Toyota to make cars, by Xbox to build software, and by individuals to maintain sanity. It’s called Kanban, and Eric Brechner, an Xbox development manager, has been using it with multiple teams for the past four years.
Eric’s new book, Agile Project Management with Kanban, has a quick start guide, with illustrations and online spreadsheets to get you productive fast. Other chapters help you estimate work, meet deadlines, deploy results, evolve from Scrum or traditional Waterfall, and integrate Kanban into large projects. Attend this talk in person, and you’ll create your own Kanban board, applying this simple technique to the work you do every day.