Project experience will tell you that
almost every project starts with good, albeit ambitious intentions.
They are created and then sent down the pipeline to the planners and
eventually to the doers. There are several stages of the life of a
project and depending on how each stage is handled can affect the
final results going out on time vs being delayed and being accurate
vs unintended UI/UX implementation. All of which can affect your
relationship with the paying client or internal stakeholder.
Projects with longer completion times
tend to fare better when it comes to planning as there is organic
time built into the process. Projects with surprisingly abrupt start
dates which need to be finished quickly can often be chaotic and
shortchanged in the planning department, but that doesn't mean that
they still can't go through the same phases as a longer project, its
just that the team will need to act quicker and attempt to be as
thorough as possible when they enter each phase.
Lets go through the project phases and
see where time can be lost or at best maintained.
The Idea
Hopefully by the time the new project even gets to the project manager there is a clear idea of what needs
to be created. We don't need to dwell on this too much as it may
largely be out of our control but it is important to note that the project manager should be brought in as soon as
possible. The PM at this point is an outside viewer with fresh eyes
and that perspective may already be able to point out issues or
inconsistencies in the plan from the outset. The PM
should also be able to help with setting expectations for if the
deadline is attainable, as he most likely has already many other
projects in progress and will need to assess available staffing and
bandwidth.
The Deadline is Set
As soon as a project starts there is typically a relatively deadline. So you already have a certain amount of time
to complete it. A well run project can maintain its timeline at best
while chaotic projects will certainly lose time. Rarely can time be
gained without the original timeline being altered, this could happen due to pure luck such as outside contributors are late getting you essential
pieces to help you progress forward. In most cases bad project management will disappoint the stakeholders and
the deadline will begrudgingly get pushed out.
The First Meeting
The PM should have an initial meeting
with the team leads who will be part of the project, which include developers and QA. It is essential to have QA involved at this point
so they can already be thinking about their testing strategy. As
well, they may also be able to offer improvements due to their unique
perspective.
This meeting is where it needs to be clear who owns the requirements. This means who writes them and who is in charge of them. This helps with any questions that may arise during the development and testing phases. The team may decide to all be present when the requirements are entered into a wiki there should be a point of contact who is aware of everything needed.
One philosophy on generating the
tickets for the work suggests that the requirement doc should be
written as user stories. User stories are easily digested scenarios involving the end user experience. These should be clearly stated
and then from there tickets should be generated for the work using
almost verbatim language. This helps with traceability and limits
confusion. The ticket should also have a Desired Behavior field and
this should be used to say how the change in every ticket affects the
end user, no matter how small it is. This greatly helps QA work more
efficiently as they should have everything they need and do not need
to take time to disrupt a developer or PM.
If the project crosses multiple teams
then leads from all teams should be present and their corresponding
project tickets should be written as closely as possible to the other
teams tickets. This helps create UI and business rule parity among
all the platforms/systems.
One additional exercise that can be fairly beneficial is doing a pre-mortem. This is a strategy which involves the team coming up with worst case failure scenarios for the project. This happens before any coding is done. You detail everything that can go wrong with every part of the project. Performing this exercise can get your brain thinking about scenarios that may have gone under the radar and potentially forgotten about until later in the project. It can be a fun form of risk management and add some levity to particularly stressful projects.
One additional exercise that can be fairly beneficial is doing a pre-mortem. This is a strategy which involves the team coming up with worst case failure scenarios for the project. This happens before any coding is done. You detail everything that can go wrong with every part of the project. Performing this exercise can get your brain thinking about scenarios that may have gone under the radar and potentially forgotten about until later in the project. It can be a fun form of risk management and add some levity to particularly stressful projects.
Meeting with Stakeholders
The PM and development team will
ultimately have a large say in what the final design will look like.
Changes may need to be made for the final product to be more
doable/faster/easier. There should be regular check-ins with the
stakeholders to make sure the team is still on the right path. There
could be potential implementations that are not liked by the client.
Change
A large part of the Agile process is
flexibility. The ability to shift directions or change original
ideas. Business needs change fast as the modern business world hurdles towards continuous delivery and with this, expectations and
needs change almost equally as fast. The PM will need to keep up on
documentation as he is fed the changes. Language in existing tickets
in the backlog should be altered as well.
As the project moves along there will
inevitably be the need to create new tickets on the fly. Some of
these tickets will be written by developers as they are needed. It
is important when these new tickets are prioritized and estimated that the language in the ticket is analyzed and simplified in case the title
and description include “techie” terms that may be confusing to
others. Again, the Desired Behavior field should be updated as well.
The PM will also need to know how these
changes could potentially affect the final deadline. It's possible
the stakeholder asked for major revisions and how the team can handle
the injection of these requests will need to be articulated by the
PM.
Contingencies When Things Get Chaotic.
There are some outside forces that can
derail even the most well run project. These can take the forms of
unexpected personnel outages, travel delays and other factors.
However, even these can be slightly mitigated if contingency plans
are set in place earlier in the project.
Time for UAT and Beta Testers
At this point most of the expected work
should be done. And its possible that at some point along the way
the stakeholders and implementation teams have decided that there is more work to be done but this will
be phase one of the project and phase two will be implemented at another
date. It is here when the stakeholders will see a “finished”
product and will accept it or not. Around this time is when beta
testers, if available, can also test the product. Expectations of
future maintenance should be reviewed here as well because there may
be issues found which will need to be addressed.
The Whole Picture
Projects will take all sort of shapes
and sizes and seasoned project managers should be able to use past
projects as a guide for how new projects could potentially go. Even
with tight timelines it is important to front load as much planning
as possible. Take that initial time to plan it out and involve as
much needed personnel as available/needed as early as you can. Requirements that are well-defined and at minimum have a single owner will lead to clear tickets and easy development and testing, which in turn lead to the product going out on time. And that can make all the difference.
Comments
Post a Comment