Professional Documents
Culture Documents
A Checklist For Successful Software Projects
A Checklist For Successful Software Projects
Confidentiality Statement
This Successful Software Projects Checklists along with all attachments hereto shall be considered
<company>’s Proprietary/Confidential Information
ProjectManagement.com Successful Software Projects Checklist
Managing software projects is difficult under the best circumstances. Unfortunately, many new project
managers receive virtually no job training. Half the battle is won though when you come prepared and
well-planned with a checklist of what contributes to software development success.
Use the following checklists (covering the general software development concerns, project planning,
start of project, project kickoff to end of project) as quick guidelines for ensuring a successful software
project. Keep these suggestions in mind during your next project, recognizing that none of them is a
silver bullet for your project management problems. Feel free to add to the list as you see fit.
General Concerns
The Software Development Plan describes the project’s vision, defines the team structure, and
defines the development methods. The plan should include estimates, major milestones, and
other measures that will be used to track progress. The SDP should be a living document,
which is updated at the end of each major phase or stage.
Have you defined the requirements baseline and managed changes to it?
©2017 ProjectManagement.com 2
ProjectManagement.com Successful Software Projects Checklist
know-how.
Have you determined the amount of documentation necessary for project success?
Different projects require different kinds of documentation support. Determine the amount and
kind of documentation required based on the project size, schedule, and expected lifetime of
the system.
Do you ensure that standards are not relaxed in order to cuts costs or shorten a
schedule?
Relaxing standards tends to introduce errors into the project, and optimum project cost and
schedule both depend on eliminating errors. Relaxing standards can also have a
demotivational effect. Most developers are quality oriented, and a relaxation of standards
sends the message that the customer or upper management doesn’t care about quality.
Have you avoided assuming that a schedule slip in the middle of a phase will be made
up later?
One common mistake is to assume that productivity will improve as the project progresses
from the beginning of a phase to the end. Productivity might improve slightly, but there isn’t
enough time within any particular phase to make up time.
It is worse to set unreasonable goals than to set no goals at all. If the team doesn’t believe in
the goals, they will merely put in their time, punch the clock, and go home. If they are rushed,
they will make mistakes upstream that cost fortunes to correct downstream. Set reasonable,
moderately challenging goals, and the team will stretch to meet them without damaging project
efficiency.
When implementing changes, have you assessed their impacts and obtained approval
of the change board?
Estimate the impacts of each change—even important, small changes that the project can
absorb without rescheduling. The project needs a record of how it changed over time, in both
major and minor ways. Even if a particular change does not have a large impact, small
changes add up over time and will eventually cause cost and schedule overruns if not
controlled.
©2017 ProjectManagement.com 3
ProjectManagement.com Successful Software Projects Checklist
Requirements Management
Are the requirements sufficient, complete, uniquely identifiable, clearly and appropriately
prioritized?
Does the set of requirements adequately address all appropriate exception and boundary
conditions?
Are the requirements feasible? (i.e., a solution to the set of requirements exist)
General
Is the background and context of the project described?
Is a summary of the project provided?
Are assumptions, constants, and dependencies identified?
Is the approach for the project outlined?
If appropriate, are external interfaces defined?
Deliverables
Are the deliverables on the project described?
Is the relevant information about each deliverable included? (e.g. dates, methods, locations,
etc.)
Communication
Are the communication channels and interfaces defined?
Project Organization
Is the organization of the project described?
Have the relevant roles and responsibilities been defined?
Project Lifecycle
Is the selection of a project lifecycle described and explained?
Is any tailoring done to the lifecycle described and explained?
©2017 ProjectManagement.com 4
ProjectManagement.com Successful Software Projects Checklist
Technical Process
Are the high-level technical processes that will be used on the project described? (e.g.
design tools, programming languages, etc.)
Estimate
Are one or more estimates for the project outlined?
Are the estimation techniques and confidence levels described?
Resource Management
Are the necessary resources identified?
Are any gaps between the needed and available resources identified?
Has the resource allocation necessary to obtain the project goals within the constraints
described?
Are key members of the development team involved in all aspects of the estimation process,
especially on how long it will take to develop the system? As project manager, your job is to
ensure that the development estimates are reasonable, adding time to cover risk that you
might see.
Has the person who will be implementing each part of the system agreed to take responsibility
for implementing it in the time estimated? While not usually a formal sign off, it is important that
the developer have the confidence about the estimates they are expected to work to.
Has the Project Manager agreed that each item is estimated realistically? Since PMs have
responsibility for bringing the project to completion in the time specified by the plan, it is
important that PMs have some degree of confidence in each item of the plan.
Has the plan identified high risk and high value tasks and brings them as far forward as
possible? It makes sense to do the risky items first, since it gives you more time to fix problems
if things go wrong. Similarly, it makes sense to do items that add a lot of business value first,
since the project can then more quickly demonstrate to the customer that it is meeting their
needs.
Does the plan allocate sensible amounts of time for Requirements, Design, Development, Test
and Deployment? Check that your project plan has time for all of them to avoid unnecessary
confusion and panic.
©2017 ProjectManagement.com 5
ProjectManagement.com Successful Software Projects Checklist
Does the project plan deliver to the client at regular intervals (2 to 3 weeks)? Projects with
many, regular deliveries are inherently simpler to control than one that produces nothing until
the very end. Each delivery becomes a concrete milestone that is visibly met or not met.
Regular deliveries also allow users to give constructive feedback sooner that they otherwise
would.
Are all assumptions made and external dependencies specified in the plan explicitly
documented? Because plans are drawn up early on in the project lifecycle, there will be many
unknowns, and assumptions need to be made in order to produce a schedule, and so that the
plan can be modified appropriately should the assumption turn out to be false.
Can every development activity be traced - perhaps via the design - to a business
requirement? Essentially, no matter how 'nice' a requirements is, it should not be done unless
there is a clear business benefit that is within the scope of the project.
Risks Addressed
Does the plan address risk in a comprehensive manner? The kinds of things that you should
be looking at in any project are: an effort made to identify the biggest risks to on-time, on-
budget delivery, the effect of the risk on the project, should the event occur, estimates of how
likely each risk is to occur, and an appropriate mitigation strategy for each risk.
Is the plan presented in such a way that it can be understood by everybody who is expected to
use it? An effectively communicated plan is a great help to the project manager because it
allows individuals within the team to take more responsibility for keeping to the schedule.
Is the project's progress is tracked against the plan? It is a good idea to track the project
weekly, so that the weekly project report includes an accurate picture of progress.
Is the project plan revised as necessary in order to meet the project budget and timeframe?
While a good project manager will allow for minor perturbations in the plan, however when
something major occurs - such as missing the finish date of a critical task - the plan must be
changed to take this into account.
At Start of Project
©2017 ProjectManagement.com 6
ProjectManagement.com Successful Software Projects Checklist
At Project Kickoff
©2017 ProjectManagement.com 7
ProjectManagement.com Successful Software Projects Checklist
to be completed, and the dependencies for and on those tasks? Project team members are
thoroughly annoyed if they do not know what they are expected to do, or when is should be
finished. They are also annoyed when they are told to do something that they know they
cannot, and are not given an opportunity to voice their opinion. Avoid this justified annoyance.
Correct Skills
Do the team members have skills appropriate to the tasks they have been assigned? While it is
not always possible, team members should have the skills to complete their tasks in a
professional manner. If this is not the case, remedial action needs to be taken: a training
course taken, a mentor assigned or more time allocated to the task.
Building Consensus
Is the team developing a consensus on procedures and standard for everyday tasks? A further
consequence of good team work is that standard ways of doing common tasks will emerge.
This is a good thing since it leads to standard, repeatable processes.
©2017 ProjectManagement.com 8
ProjectManagement.com Successful Software Projects Checklist
At End of Project
Has the Post Project Review identified areas where the organization can improve its
performance on subsequent project? The timing of the PPR can be difficult, especially in large
projects that need to 'wind-down' over a long period. If necessary, schedule a separate review
for each group within the team: management, business analysts, developers, testers and so
on.
PPR Followed Up
Are action items from the Post Project Review followed up by the organization? Ensure that the
PPR was not in vain by communicating the results of the PPR widely. People working on other
projects will then be able to use the experiences summarized in the PPR when preparing to do
work on their own projects.
Are the source codes and documentation set stored in permanent form?
The project source code and documentation - requirements, design, testing and so forth - is
typically a deliverable expected by the customer. Even for internal projects, it is a good idea to
make a permanent backup of all the hard work done by project team members for future
reference. Allocate a set of special backup tapes to make multiple copies of the project source
code, or, better still, cut three or four CD-ROMs.
Crosscheck
Ask yourself the following questions:
Have you chosen the appropriate development lifecycle process to the project at hand?
Has your development team understood what requirements (functional and non-functional)
needed to be built?
©2017 ProjectManagement.com 9
ProjectManagement.com Successful Software Projects Checklist
©2017 ProjectManagement.com 10