|
Mann Creek Information Technologies, LLC |
|
|
|
Agile Project Management(1,2,3,4)
agile: Pronunciation: 'a-j&l, -"jI(-&)l
1 : marked by ready ability to move with quick easy grace
2 : having a quick resourceful and adaptable character
project: Pronunciation: 'prä-"jekt, -jikt also 'prO-
1 : a specific plan or design : SCHEME
2 : a planned undertaking
management: Pronunciation: 'ma-nij-m&nt
1 : the conducting or supervising of something
2 : judicious use of means to accomplish an end
While the definitions of individual words may have specific meanings, the implementation of the phrase is all over the board.
Not only are there numerous tool sets developed specifically to support Agile project management, there are many more personal
and individually developed techniques to do the same. My APM approach is summarized in what follows. Agile
application development can also be a big part of the Agile process, see below for a short discussion.
|
|
|
Solution Delivery Process |
The methodology mentioned in Solution Delivery Processes and outlined
again to the right, can be Agile, command-and-control or anything in between. Here we're interested in Agile, where "activities" are project feature-based (see below,
for instance, for what an Agile Project Launch process might look like). In an Agile framework, three of the things I
try to focus on are:
lead / manage relationships to reinforce core team values
manage component "builds" based on requirements but influenced by perceived customer value
manage cost/time/quality trade-offs to meet client expectations
A few more term definitions are warranted here. Both leading and managing deal with trying to "do it right" --
leading includes "finding the right thing to do" and managing includes " how to do the right
thing ". A customer is the end-user of the project at hand, while a client is the organization
that pays for the project and is in the position of interpreting what's most important to the corporation and the customer
(perhaps following the "vision").
With regard to the first item listed above, some of the core team values that I like to stress are: mutual respect, mutual
trust, mutual participation on given projects or in the team as a whole, and mutual commitment toward excellence. And,
there are three kinds of relationships to oversee:
Composition (a.k.a. containment, "has-a"; e.g. a team has member roles)
Specialization (a.k.a. inheritance, "is-a"; e.g. projects inherit corporate structure)
Collaboration (a.k.a. contract, "service"; e.g. interface contracts between project components or team roles)
Of these relationships, collaboration is the most difficult to get a handle on. Some management and
leadership control points in collaborative relationships are: rate of information flow, degree of diversity, richness of
connectivity, level of contained personal/team anxiety, and degree of management power. Typical leadership/management
engagement activities might be to rely on team adaptivity and get feedback, gauge team member background and temperament,
manage the number/content/context of interpersonal/technical connections, avoid extreme personal anxiety or complacency and
oscillations between extremes, and position any direct management/leadership control to impose something between chaos and
command-and-control (generally resulting in an environment that tends toward chaos).
Agile Application Development(5,6)
|
|
|
Agile Project Launch Phase |
On to the Application Development activities of Solution Delivery. The Project Launch process at right (a part
of Solution Delivery Processes) might be implemented in an Agile
environment. In this representation, stacked activities are undertaken more-or-less concurrently, and side-by-side
activities are more-or-less sequential. In the "
forming-storming-norming-performing" spirit, the figure at the lower right shows how an Agile process might use this process.
It falls to the project manager/leader to organize these activities in a manner consistent with client expectations, perceived customer
value, core team values and team experience; and to bring the process together before the client.
|
|
|
Team Collaboration |
|
|
|
Agile Solution Delivery |
Another key was the selection of
the Team members themselves -- individuals that were extremely competent in their areas of expertise, committed to product
quality, and self confident enough to be able to collaborate inside and outside of the Team.
Note that Team members are somewhat isolated from direct (daily) client contact, yet kept informed of important issues and
upcoming projects. As should be evident from the figure, there were many concurrent projects of varying (and changing,
over time) priorities. From a management perspective, keeping individuals and sub-teams focused on their own priorities
and away from unnecessary interruptions is, at times, difficult -- but by using the management techniques outlined at the top
of this page, projects can be consistently successful. As an aside, this Agile process was successfully modeled and
simulated to aid in project planning, budgeting and staff management. A subsequent Corporate reorganiztion resulted in
the merger of this Team with other Corporate groups (reference "A Complex Business Process
with Interleaved Labor Resources").