Project Management

The Definitive Guide to Agile Project Management

Modern project management has its roots in the US space program of the 1950s and the 1960s. Each space flight requires a massive coordination of teams across different disciplines, all working towards a common goal of building a rocket and sending it into space. The strategies and processes learned during those missions helped define the project management techniques used today (source).

Projects run the development of the IT world. From deploying new servers to developing software products to transitioning data into the cloud, almost every new endeavor in IT works as a project.

This guide to project management will help you understand what it is, how it works in the IT world, and how to become a PM.

What Is Project Management?

Before formally defining project management, let’s first define what a project is.

According to the Project Management Institute, known as PMI, project management is “a temporary endeavor undertaken to create a unique product, service, or result”. The project has the mission of creating a unique deliverable and has a defined beginning and end, as well as limited scope and resources. This stands in contrast to operations which is generally ongoing, is a permanent/semi-permanent part of day-to-day business, and has more flexibility in terms of scope and resources.

Here are a few examples of what projects can be:

  • Constructing a new building
  • Expanding sales into a new market
  • Cleaning up a toxic waste site
  • Finding and moving into a new apartment
  • Creating the first production iteration of a new software product

Project management includes planning, scheduling, and controlling resources to achieve project objectives. The person given the responsibility of managing the project is the project manager.

These definitions for the project, project management, and project manager work across almost all industries, including information technology. However, IT has its own quirks when it comes to project management.

Information technology holds a rather unique role in business.

  • It can be the main service/product provided by an IT company or it can be a department within a non-IT business.
  • The type of project can vary widely. Some IT projects involve government requirements while others are dealing with the general public. IT projects can involve physical products like servers or network appliances, or it can involve digital projects like accounting software or security apps.
  • Technology can change quite quickly. A project may be out of date by the time it goes into production a few months after being initiated.
  • IT projects can impact some or all of a company’s operations. Rolling out a new enterprise content management system (CMS) impacts everyone from the CEO down to maintenance. If the project fails or has problems, it can have a huge impact.
  • Bringing in anything new often requires a steep learning curve for the IT department as well as users.

IT project managers overcome these challenges by using a standard process, leveraging project management tools, bringing on the right people for the project, keeping communications open, and making sure to track the project carefully.

Project Sponsor

Almost every project undertaken in the IT world has a project sponsor. This is usually an executive or high-level manager who has overall accountability for the project meeting its business requirements. He or she is the one who champions the project at the executive level. This person’s department may also be funding the project.

In almost all cases, a project sponsor is not the same as the project manager. The scope of their responsibilities is distinctly different.

Projects vs Operations

It is important to understand the differences between projects and operations. These differences make it easier to understand exactly what a project is and what it is not.

Here are some similarities that projects and operations share:

  • People do the work
  • Most everything is planned, executed and controlled
  • Both have limited resources

Despite these similarities, projects and operations have a number of differences that make them each unique compared to other.

  • Projects have a defined beginning and end date. Operations are ongoing, without a defined beginning or end.
  • Projects work to create new business objectives. Operations don’t produce anything new.
  • Projects create a unique end product. Operations can produce the same product over and over.
  • Projects have a fixed budget. Operations can have an ongoing budget or need to earn its budget from profit-making ventures.

Let’s say you have been entrusted to specify and build a database to replace an existing one. You layout the database design and structure. You build it in the appropriate database software. You transition the data from the old database into the new one. You then turn the database over to the client. That is a project.

Once in production, an operational team takes over maintenance for the database. This team handles user problems and database errors as they occur ongoing. This is operations.

Further reading:

The Project Management Process

Project management is a cross-industry discipline that applies to almost all companies, government agencies, and military operations. Because of this common discipline, certain project management processes have become standardized. The PMI has broken down the PM process into 5 stages.

Initiating

The first step in initiating a project is defining its objectives. What end result should the project produce? These objectives are often defined by the project sponsor, with input from various stakeholders.

The project manager is also identified and brought into the project at this stage. The project manager works with the project sponsor and stakeholders to clarify the project objectives and constraints.

Once the objectives and constraints are clear, the project sponsor provides authorization to the project manager to start the project.

Planning

With the project objectives and constraints in hand, the project manager can start planning the project itself. The project manager defines what activities need to be completed to achieve the objectives. He or she will identify what skill sets will be needed to complete those tasks. Then, with the end date defined, he or she will determine the timeline for the project deliverables.

The project manager will use all of this information to produce a project plan which defines which activities will be performed, in what order and, by which person with the goal of completing one or more of the project’s deliverables.

The PM also produces a project glossary which defines any unique terms used in the project. He or she will also document project assumptions, constraints, and critical success factors.

Finally, the PM produces a statement of work, which is a single document that captures the deliverables, activities, and timeline associated with the project. This document formally defines the project for everyone on the team as well as the project sponsor and stakeholders.

The planning stage is also where team members start joining the project. Some members may be full-time to the project, while others will be on the project part-time while remaining responsible for other non-project activities.

Executing

With the project plan and team assembled, execution can begin. This is where planning turns into a team effort.

Team members start working on their deliverables according to the project plan. They may initiate a task or need to wait for another team member to complete a prior task before completing theirs. Some team members will complete project deliverables which then get turned over to the PM.

Team members may have to handle changes to their defined tasks due to change requests that come through.

Team members must also communicate progress and problems to the project manager. This will allow he or she to adjust resources as needed.

Controlling

While the team is executing the project plan, the project manager is controlling the project. Controlling a project involves monitoring the performance and status of the team and their progress with deliverables.

Changes happen quite often in a project. These changes can come from the project team, the project sponsor, the project manager, or the stakeholders. When someone initiates a change request, it must be documented then analyzed for its impact on the project. The documentation defines the scope of the change needed. The analysis allows the project manager to see how it will change the project’s timeline, manpower use, and cost.

The change request then goes to the project sponsor for approval of the changes to the project’s timeline, resource use, and budget. Once a change is approved, it gets integrated into the project plan, statement of work, and other documentation.

A change in the project plan will have definite impacts on the team’s execution of activities related to the project deliverables.

There is a constant give and take between the project managers control over the project and how the project team executes it.

Once all of the project deliverables are ready and verified to meet the endeavor’s objectives, the project manager will declare the project complete.

Closing

Closing a project is the last stage in the process. The project manager presents the project to the project sponsor. If the sponsor agrees the project is complete, he or she will sign off on the project acceptance.

At this point, the project manager and the team need to do a few things to shut down operations.

Any products or vendors used during the project undergo an evaluation to see how well they performed in the given endeavor. Budgets and contracts are closed. Team members are redeployed. All project documentation gets archived.

Information Technology and the Project Management Process

IT project management started out using the more traditional project management process. However, due to the unique challenges offered by the IT world, new methodologies evolved. Some of these methodologies are more structured while some were more fluid.

Two methods used in the information technology field are the waterfall and the Agile. Understanding how each one works and how they differ will show each one’s strengths and weaknesses.

The Waterfall Method

The Waterfall is an older software development project management methodology that originated from the construction and manufacturing industries. It tends to be linear in nature, with one stage being completed before another one starts – a single-pass sequential approach. The entire project is plan-driven from top to bottom, which makes it more rigid than other methodologies.


While there are a number of versions of the Waterfall method, they all work like this:

  • Gather project requirements – The PM works with stakeholders, users, and others to define and document the project requirements. This is the stage where the PM creates an initial project plan, a statement of work, and the team member list.
  • Design the software – The architects and designers create a list of activities required to complete the project requirements.
  • Code each unit of the software – Each member of the team works to complete every unit of software identified in the project plan. The PM tracks progress and coordinates efforts.
  • Test each unit – Once coding is done, each unit undergoes testing to make sure it meets the project requirements related to it. The programmers fix errors and retest. The PM ensures each error gets documented along with the fix.
  • Perform system testing – Once the programmers complete each code unit, the units are brought together for system testing by QA. The entire system must work properly before deployment. At this stage, programmers will also fix errors, do unit tests, and send the fixed code back for system testing as needed. The PM continues to document errors and fixes, along with project progress.
  • Perform user acceptance testing – The final testing stage involves having end users run the software through various scenarios. This allows the programming team to get real-world test results along with feedback on its performance, appearance, etc.
  • Fix issues – Any issues not resolved at earlier stages are fixed and retested. The PM must make sure all issues are addressed before final delivery.
  • Deliver the final software – Once all errors and issues have been addressed, the PM will take the project to the sponsor for delivery.

This methodology can be modified to allow certain code units to go back to design if found to be inadequate during coding or testing. However, due to its linear nature, the Waterfall method is not favored among modern software development teams due to strict structure and long timeline.

Further reading:

The Agile Method

The Agile method of project management is newer than its Waterfall counterpart. Software development teams wanted a more flexible method that would allow faster development, testing, and deployment. Several methodologies evolved in the 1990s that offered this type of flexibility.

The term "Agile" was first assigned to these methodologies in 2002, with the publication of  Manifesto for Agile Software Development.

Agile development still uses a project plan. However, the planning happens in iterative development steps that allow the team to make course corrections as the project progresses.

Here is how Agile project management works:

  • Concept – Sponsors envision projects and prioritize them according to business needs. Once a project is ready to move forward, a project manager gets named.
  • Inception – The project manager starts developing the plan for the project. He or she identifies team members, environments, and requirements. The project sponsor puts funding into place.
  • Iteration/Construction – The project moves into development and construction. This stage happens in iterations. Each iteration has its own goals and requirements. The ultimate goal is for the development team to deliver working software based on the project’s objectives and requirements. Each iteration undergoes testing by the test group. If errors are found or feedback is given, those are added to later iterations as requirements. The project manager helps define each iteration’s requirements and the integration of feedback as it comes.
  • Release – Once the software product is ready for production, the software goes through final QA testing. Training materials are developed for internal and external use. Documentation is created for users and support. With those items in place, the final release goes into production. The PM ensures everything is properly turned over and then closes the project.

After a software product goes into production, the Agile methodology moves into the continuous improvement cycle. This is where the software undergoes short sprints of development.

An Agile sprint has a fixed time length, which constrains the number of requirements addressed and the timing of releases. The person managing the software improvement must prioritize requirements that go out in each sprint.

Further reading:

Agile vs Waterfall Project Management

Agile project management is more flexible than the Waterfall method. It allows changes to happen, so it works well when requirements are not well defined at the start of a project. This methodology prioritizes high-value requirements to ensure they are in the final product, even if money runs out for other lesser-value requirements. It works well for smaller teams that work in tight coordination. Agile is preferred among many software development teams for its flexibility and the fact that a final software product can be delivered even if not all requirements are met.

The Waterfall methodology is still in use today. If requirements are well-defined before the project starts, this methodology can work. The project is considered done when all requirements are met. Teams can work independently on different parts of the project, only coordinating at turnover points. Software companies like to use a version of the Waterfall method when dealing with an external customer such as the government.

Creating Your First Project

Undertaking your first project is a challenge for almost everyone. It can be daunting to be the person in charge of delivering a new piece of software. Let’s walk through the process using the Agile method of project management.

Concept

Projects start out as concepts. Your company may have an idea for a new software product. The idea seems feasible and one of the executives decides to become the project’s sponsor. He brings you on board as the project manager.

This is where you work with the project sponsor, as well as stakeholders, to understand the objectives of the projects and the business objectives associated with it. The project manager will need to understand the customer’s requirements before starting the project.

The sponsor will define the timeline for the project as well as its targeted budget. With those in place, the project sponsor gives the go-ahead to start the project.

Inception

The project manager starts the project. He or she identifies the team members needed for the endeavor and bring them in. Using the project objectives and the team’s expertise, the development environments get defined and requisitioned.

The team works to turn the sponsor’s objectives and business requirements into the requirements needed to complete the project. Those requirements get prioritized based on their value to the user. The project manager then creates a project plan and the sponsor puts funding into place.

Iteration/Construction

Software development in this stage happens in iterations. An iteration usually runs for two to four weeks. The project manager prioritizes which requirements are most important and those get included in the first iterations. Lower value requirements get added in later iterations.

Each iteration’s goal is to produce working software that is ready for testing. Users can test each iteration’s product, providing feedback and reporting issues. This feedback and issues get added to later iterations.

Once all the project’s initial requirements are fulfilled, the project can move into production.

Release

Once the software is deemed ready for production, there are a few steps remaining.

The software needs to go through quality assurance testing. This is where testers take the software through pre-defined scenarios to ensure it is working properly. Any bugs found go back to the team to be fixed.

You will need to have training materials created for both users and support personnel. Live training or online training will need to happen before the software goes into production.

Documentation is critical. Users will use it to get answers to their questions and to figure out how to make changes to the software’s configuration. Support will need it to be able to provide users with help as needed.

With all the pieces in place, the software can go into production.

Roles and Responsibilities of a Project Manager

A project manager has a multitude of responsibilities:

  • Planning and defining project scope
  • Planning and sequencing activities
  • Identifying and planning resources
  • Developing schedules
  • Estimating time and cost
  • Developing a budget
  • Documenting all aspects of the project
  • Creating project plans using common PM tools
  • Doing risk analysis and mitigation
  • Managing risks and issues
  • Monitoring progress
  • Reporting progress to stakeholders
  • Leading the team
  • Controlling quality
  • Working with vendors

These responsibilities can vary from company to company, depending on the way the company handles project management. The project sponsor could play a more active role taking on some of the PM’s responsibilities.

Becoming a Project Manager

Project managers bring a unique skill set to the IT workplace. If you are interested in becoming a PM, you need to develop your skills and choose a career path.

What Skills Are Needed to Become a Project Manager

Certain skills will help you become a successful project manager.

  • Leadership – A PM needs to lead a team while delivering a project.
  • Communications – A PM needs to articulate what needs to happen with team members, users, stakeholders, and vendors
  • Scheduling – Projects need to run on a timeline, with clearly defined activities happening at given time points.
  • Risk Management – Every project comes with risks that a PM needs to identify, assess, control and mitigate as needed.
  • Budget Management – The PM needs to create a realistic budget and monitor/control it throughout the project.
  • Critical Thinking – Being able to look at a situation or issue objectively allows the PM to form an unbiased opinion of what is best for the project.
  • Task Management – Projects are made up of a series of tasks. The PM needs to be able to identify the order of the tasks, assign them appropriately, and make adjustments as needed.
  • Quality Management – The last thing a PM wants to do is deliver a project result that is below requirements. The PM needs to monitor and control quality along with time and resources.

Further reading:

Getting a Job as a Project Manager

There are a few ways to get jobs in project management: experience, education, and certification.

Experience comes from working on projects over your career in IT. Many start out as programmers and advance to higher positions. With that experience, the next step is to manage a project. Experience works well in companies that don’t have a formal project management process in place.

Another option for becoming a PM is with education. Project management degrees are available at the graduate level, either as a stand-alone degree or as a specialty of a business degree. These degrees are available online and at most major universities.

A third way of becoming a project manager is through certification. Getting certified is an excellent way for someone without a formal project management degree, but with years of IT experience, to get a project management position. One of the most recognized certification programs is available through the Project Management Institute – the Project Management Professional (PMP).

Further reading: