Share what you know with millions of people
Focus is the best place to turn what you know into remarkable content
Agile Project Management Methodologies : A practical approach
Introduction
There are many conventional ways to plan develop and implement projects. Project life cycle involves various processes and people and its complexity varies. In order to manage and monitor project life-cycle, there are many processes and methods evolved. Waterfall model, spiral model, SDLC model, agile model etc are few among them.
I will explain all that in details in the subsequent sessions.
This paper has been divided into 4 parts. First part describes the process involved, second part describes the people involved, third part describes the advantages and disadvantages, forth part describes practical implementation.
Agile is a process in which all individuals in the project have equal weight and contribution of each member is equally important.
The Process
Agile process consists of the following steps:
· Exploration
· Planning
· Execution
· Monitoring and Controlling
. Closing
· Change Management
Exploration
Before start with, a deep insight of the project must be communicated with the people involved. A project kick off meeting will be conducted by involving major stake holders and project development stake holders. Exploration is a process of knowledge transfer from the creators of original idea behind the project. During this process project owners / clients involved to explain the requirements in detail. Objects in this communications might be documents with detailed notes, diagrams, flow charts, specifications, constraints etc. Business analysts, project managers, technical representatives etc can be there in this process. Concepts behind the project and expected end product etc will be discussing and communicating during this stage.
Business Analyst creates business cases and well document it and present to stake holders / clients. A series of review mechanisms employed and the user stories get signed off by the client. Once the stake holders freeze the requirements, further analysis and planning will start by the project development team.
Planning
This is most important phase in agile process. In conventional terms a project manager will be planning the process. In Agile methodology, we call it as scrum master. During planning process, a series of check lists called Agile checklists are verified to ensure the agile compatibility of the project and status of the preparations and process.
Based on high level features and user stories, technical manager or lead will prepare internal development time for the project. Based on that project manager will allocate development team members to the project with the help of Project Management Office (PMO). PMO will allocate other members of the team such as Quality Assurance Engineer (QA), Release Engineer etc for the project.
Architect will prepare or approve system design.
Project manager will make the weekly or bi-weekly iteration plan for the delivery cycle. Whole project tasks will be dividing across multiple weeks (for example) and for each iteration, a specific task or tasks will be planed to finish.
Development, quality assurance and weekly delivery are targets of each iteration.
There are certain other preparations also there as part of planning process.
PM raise the request for development, QA and production environments such as ip address, domain names, ftp details, SVN details etc.
PM or BA will create user stories in collaboration tool and create artifacts and assign the tasks to developers.
Create a WAR room for stand up meetings and conferences.
Execution
Once all base plans are over, development process starts. Daily stand up meetings are there in the morning for status updates, immediate issues etc for 15 minutes. In this meeting technical issues will not be discussing.
A daily stand up meeting with stake holders / clients will be there in the evening (or morning) which might be (not necessary) via video conferencing. During this meeting daily progress status, project related queries and clarifications, issues discussions etc be done. It may be a 30 minutes to 1 hour call.
During the end of each iteration, a build will be releasing and QA will do the quality check in QA server and then pushed to intermediate test servers for client demo.
BA will be providing a demo to client. PM will be sharing a Weekly (or bi-weekly) status report (WSR) to client during the session.
Client will do a walk through and log all bugs found (walk-through defects) via project management tool (Team Forge is the best tool I found, but many out there)
Monitoring and Controlling
Project Manager will closely observe the project and get status updates issues directly from the team. Project manager will be coordinating end to end development, QA, BA and release process. Delivery managers with solution architect level expertise will be supporting the project team and evaluate project progress in a regular interval (example weekly).
Project Manager is responsible for the over all success of the project.
At end of all development iterations, QA cycle will be starting. Once QA finished user acceptance testing(UAT) will be done. If bugs found, thatwill be fixed after words with high priority. After successful UAT, client will sign off that product is worth delivering.
After words, project will be pushing to production and a post production mock test also will be done for ensuring quality. After words project will be closed and signed off.
Clossing
Once the project activities are completed, it will be deployed for production. After successful deployment project will sign off and a request will be placed for closing the project. Mean tine Knowledge Transfer (KT) will be done to client team or maintenance team.
Change Management
Change Management is not an agile process, but normally changes, if anything coming during the development process, it will consider for later development. If it will affect the whole system, the procedure will redesign with mutual agreement with client. Mostly these kinds of scenarios occurring in practical.
People
In agile process development team as well as stake holders are members of the project. Client is always a part of the scrum.
crum is a group of people with equal of responsibilities. People involved are:
· Product Owner
Product owner is a person responsible for the product and having enough knowledge on the product.
· Scrum Master
Project Manager or Technical Manager (here in after PM)
· Scrum member
Developers, BA, QA, Release Engineer
Advantages and Disadvantages
Agile process has good number of merits and a few demerits.
Advantages
· Cross functional teams with equal responsibility.
· Responsibility of project delivery is a collective. Even scrum master /manager there, each team member is responsible for project success.
· Client is an active member in project and hence communications will not be broken.
· Daily stand up calls giving status updates to each member.
· Daily client calls will solve burdens at the end.
· Iteration plans help to minimize developer pressure and give more comfort in weekly iterations etc.
· No daily deliverables.
· End to end QA activity helps to log bugs in every “iteration”.
· User stories and high level features at the initial state are getting signed off. This will reduce risk in later stages.
· Better time manageability with iterations.
Disadvantages
· Estimate for large tasks may fail so completion of tasks in time with in the iteration may be an issue.
· Agile process is not supporting project maintenance
· Tasks are estimated based on average developers, but this may cause problem to inexperienced and which will cause failure in delivery.
· Client must be logging walk-through defects otherwise it will cause problem in UAT phase.
· If any one of the team members not available for few days delivery will seriously affect as iterations are short duration based.
Implementation
In this section I’m going to explain you how I have implemented Agile process in one of my projects. Based on an Off-shore model I’m explaining the process. Let me explain you what is an off-shore model.
Mid sized software project outsourcing companies might have development centre in India and a counter part in US (for example). The part played in US is called On-site and in India is called Off-shore. Once a project contracted by the accounts department, its coming to off-shore for development. Let’s assume the project is onboard and about to kick off. I’ll explain you how the process is happening in real time.
Project Initiation
At the time of start of project officially announced, PMO will allocate a PM to the project. Project Manager, along with Delivery Manager allocates BA and Technical Architect to the project. Same time a rough estimate of the delivery plan (based on the contract) will be provided by the onsite delivery team or strategic accounts team. Few documents such as Statement of Work (SOW), Pricing Sheet etc will be provided to the PM. Same time functional and non-functional specification documents will be supplied by the client. Project manager will start preparing various requests and documents for the initiation process.
Kick-off
Just after contract Client and immediate project members and accounts team will schedule a kick off meeting to start the project. Major objective of the project, business model, major constraints, competitors, value proposition, delivery strategy etc (it can be vary from org to org) will be discussed in kick off meeting.
Project Creation Request
PM will raise a project creation request in Collaboration tool to the PMO.
Artifacts
In Agile process, every action is communicated via artifacts rather than emails. In collaboration tool, users can create artifacts and assign to respective owners of the action. Unlike tasks artifacts are not measuring against percentage of completion. But due dates are set while assigning.
Completion of each artifact will measure the forward momentum of the project activities.
Documentation
PM will be active coordinator from Kick off onwards. He will schedule call times with clients and internal team. With the help of BA, PM will create high level feature list of the project.
Environment Request
In the mean time PM will request project development, testing and deployment environment details from Systems / IT support department. This includes, but not limited to SVN server, local IPs for development, QA, staging and production. Support team will provide the required environment in a progressive order or availability.
Asset Request
PM or BA or in combined will request for assets such as images, multi-media assets etc for the application development. All requests through the collaboration tool and as artifacts. Artifacts will be assigned to the client, who might be a member in the project and accessible to the tool online.
War Room
A war room is a project meeting room where usually stand up calls conducting.
Time schedules and slots must be labeled on the door outside of the room to let others know that, the room is reserved for that schedule. Project name is also written along with timings. This is mandatory for agile projects.
Product Backlog
A list of product features created based on the actual requirements. BA will further expand the requirements to detailed stories (User Stories). BA or PM will add the feature list and user stories to collaboration tool and create artifacts for each story.
These stories will map across tasks in later stage.
Sprint Backlog
A sprint is a specific time interval. In agile process, team has commitment to complete specific set of tasks which is named as sprint backlog. This is a reference of task completion in specific iteration. During a sprint, design, development and testing will be done.
Iteration Plan
Planning is the major process in project management and process management. Based on project requirements (sprint backlog), whole project is dividing into functional and related groups. This will give a clear idea of time estimates and human resource requirements. In this case a set of features or tasks will be putting together to make a weekly deliverable plan. This, we say iteration. Similarly much iteration will be there. Iterations will be finished developing in each week and tested for quality. Delivery will be in the same week.
Iteration plan will be added to collaboration tool in document section for review. Certain tools are available to map iterations with feature list and user stories to make it visible.
Release Plan
PM along with Release engineer, QA manager, BA, Tech Lead / Team Lead make a release plan. Release engineer will create the server settings and make the servers ready for the application development or testing. As per plan, Lead will provide release information for the project such as files need to move or bundled, associations etc to the release engineer. Release engineer make the final pack from the supplied piece of software.
WSR
As part of project preparations, a standard reporting template will be created. In this document, progress of the project as of current iteration, pending things, issues, risks, what migitigation plans adopted etc will be mentioned. This will give a glance of percentage of completion of project, project direction, risks if any changes in plan if any for internal development. Every week this report will be sending to client before the demo.
Team allocation
PM along with PMO / Delivery Manager will allocate project team members. PM will add team members to collaboration tool. Team members will not be removed during a sprint.
Architecture Design
Technical Architect and development team will work on the architecture of the application during the initial stage of project.
Project Wiki
PM has to (not standard) create or update project wiki for giving where about of the project to all members of the project. This includes environment details, project members, delivery schedule etc.
Task
Based on the work break down structure (WBS) and iterations planned, tasks will be created in collaboration tool. Each task will be associated with features and user stories. Tasks will be assigned to team members. Team members will update the task completion status. Based on task completion a burn down chart (BDC) will be created. For a perfect agile project BDC will have a negative slope. Completion of tasks as per sprint and iteration plan will ensure the success of project.
Quality Plan
PM works with QA team / Lead to make a quality plan. This includes, test plan, test cases etc. Test reports will clearly show the status such as tests passed, bugs opened, bugs closed, assigned to developer, reopened, etc.
End to End Coordination
PM coordinates with all team members including cross functional teams. It’s PM’s responsibility to verify test reports and work closely with development team to ensure the quality of product. PM will create WSR and present to client. Same time, PM has the responsibility of closely monitoring project progress and ensure things are moving smoothly. If any issue, PM will be responsible and solve that issue in a timely manner.
Development
Once the initial steps completed, project execution starts. Technical Lead (TL) will take care of the development activities and reports to PM. During development, tem members perform individual tasks assigned to them. But team may meet for discussing any technical issues. Technical Architect will be involved for solving solution issues.
Build / Release
End of each “iteration”, a new version of the software will be released. All build information such as which files to be uploaded etc and location details might be mentioned in release documents. This information is passed to RE by TL. RE will make the build and deploy it and deliver the latest release version information. The new version will be placed in QA servers and passed to QA section for testing.
QA
QA engineers will test application based on the test cases prepared. They will report the bugs found and are updated in collaboration tool. Bugs will be assigned to development lead. Lead will assign that to concerned developer. All bugs reported will be fixed in next release. After initial QA test in QA server, if the product is worth production, it will be moved to staging server for demo to client.
Client will do a walk-through and log bugs in collaboration tool. These bugs also fix in next iteration.
Sprint Initiation / Review
At the start of a new sprint team will meet to understand the requirements for that sprint. BA will play an active role. End of every sprint (Iteration), a sprint review meeting will be conducting to evaluate the progress and find issues if any. This will help to improve the process.
User Acceptance Testing (UAT)
After completing all development sprints, staged product will be evaluated by the client. This test is done by client’s own team. During user acceptance testing, client team will test for all functional and non-functional requirements. All logged bugs will be fixed in UAT phase as per schedule. Once the product is accepted, client’s team will sign-off and give their acceptance in writing. This process is mandatory and is a legal acceptance of the product.
Production Push
Once all the bugs fixed and all quality process passed, software will move to final production environment. All necessary configurations etc will do and deploy it. A post production test will be done by the QA team and ensure the product is performing well, immediately after the release.
Project Closing
After a considerable observation time, project will be closed. If maintenance required, product will be passed to maintenance team. A knowledge transfer session (KT) will be conducted for that.
Conclusion
Almost all methodologies are doing the same thing, but how efficiently the process is handling and what level of quality is delivering is important. Agile is a mature process model for project life cycle management, especially for Software development projects.
Compared to other conventional models, agile has a lot of advantages and very less disadvantages.
Agile is a progressive delivery model and client will get a working piece of software in every release.
Events
- The Do’s and Don'ts of Small Business Marketing May 29 @ 11 am PT
- Lead Nurturing 202: The Next Generation May 31 @ 11 am PT
- The Tricks to Paid Media June 6 @ 11 am PT
- Display Advertising for Brand Awareness June 20 @ 11 am PT





2 Comments
Best article on Agile Process...
Thanks Michel.
Answer This Question