Project Background
Client’s Goals:
1.
Produce a low-end product to complete their PCR product line
2.
Improve requirements specification and change request process
3.
Improve software project management process with distributed teams
4.
Recover from previous project involving poorly supervised outsourced
development
L’Monte’s Responsibilities:
1.
Requirements engineering
2.
Identify and implement improvements in requirement specification, change
requests and project management.
The Process
The
previous project in this product line almost died because of poor communication
between the client and one outsource development vendor. The in-house software manager was fired but
the company wanted to continue working with several of the outsource
vendors. During the interviews Diane
Pepetone, L’Monte’s requirements engineer, found that
the product manager would be a champion of the project and was very supportive
of suggested process improvements, especially the cross functional team
approach.
At
project startup, Ms. Pepetone gave a mini-tutorial introducing the best
practices that she would be using including
project chartering, use cases, cross-functional project team,
co-ownership of requirements, requirements tracking to manage change requests
and defining acceptance criteria for requirements and using them to generate
test plans.
After
setting up a cross-functional team, Ms. Pepetone facilitated requirements
modeling workshops and introduced the use of two web-based groupware tools to
strengthen communications and the ability to work together with a distributed
team. One of the tools was projectBOT, a
requirements tracking tool L’Monte built for the purpose. When high level requirements were defined and
recorded in projectBOT, the team selected a ‘customer’ owner (usually from
marketing or researchers) and a developer owner as co-owners of each requirement. The co-owners were responsible for the
requirement through it’s life cycle and used the
tracking tool to manage the requirement’s status, priority and any associated
change requests or defects.
As
team facilitator, Ms. Pepetone met with co-owners and the team to help them
track progress, deal with unexpected developments, develop decision making
procedures and manage risks.
Project Outcome
Software
with all specified functionality was completed two months ahead of
schedule. Final modifications to the
instrument were not completed, so the team reviewed change requests that were
collected during beta testing and selected the most desirable features to
include in the final product.
After
the previous development effort which was a painful memory for everyone,
project staff was very pleased with the process improvements, especially the
cross functional project team and co-ownership of requirements which resulted
in much better coordination between marketing and the development staff.
As
the product manager put it, at the end of the previous project, everyone hated
each other. At the end of this project,
her comment on the final acceptance testing, “What an amazing feeling of
accomplishment for every member on the team!”