Mann Creek

Information Technologies, LLC

R Hoffman

logo6.gif
Mann Creek, Idaho, USA

Agile Project Management


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:

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:

Of these relationships, collaboration is the most difficult to get a handle on.  (Collaboration = Communication + Trust)  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

Bringing the process together in an Agile project environment also requires tool sets and development processes that minimize interruptions and stress, while facilitating problem solution techniques and maximizing team collaboration, trust and respect.  For example, to the left is an overview of a Web Team I organized and managed for roughly five years -- an example of a project itself built with an Agile approach, and an environment from which Agile Web projects could be conducted.  (Among others, a mult-million dollar, secure, extranet project was completed on time and under budget from this environment.  See Internet / Extranet in the Technical Application Development section.)  One of the keys to success here was laying a proper hardware/software (tool set) foundation that allowed Team members to be Agile -- some of the tools are listed in the figure, and one of the hardware topologies (test) is shown at the link above.



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").


Some useful references:
  (1) "Leadership and the One Minute Manager", Blanchard, Kenneth et. al., William Morrow and Company, Inc., 1985.
  (2) "Business Engineering with Object Technology", Taylor, David A., John Wyley & Sons, Inc., 1995.
  (3) "Roadmap", Meyer, N. Dean, NDMA Publishing, 1998.
  (4) "Agile Project Management", Highsmith, Jim, Addison Wesley, 2004.
  (5) "Extreme Programming Explained", Beck, Kent, Addison Wesley, April 2005.
  (6) "Eclipse Distilled", Carlson, David, Addison Wesley, February 2005.


Site managed with MyEclipse, a multi-language, multi-platform IDE

About Mann Creek Valley

A Family Genealogy Model

My Resume

A Technical Glossary

rh@manncreek.com