Sunday, October 28, 2018

Project Organization Structures

Organizational structures - 8 types:

  1. Organic or Simple Organization
  2. Functional or Centralized Organization
  3. Multi-divisional Organization
  4. Matrix Organization
  5. Project Oriented (Composite or Hybrid) Organization
  6. Virtual Organization
  7. Hybrid
  8. PMO

Matrix Organization -  3 types:
  1. Strong Matrix Structure
  2. Balanced Matrix Structure
  3. Weak Matrix Structure

















Sunday, February 23, 2014

Project lifecyles (Predictive Iterative Adaptive)

Project life-cycles or methodologies:
  1. Predictive or Waterfall
  2. Iterative & Incremental or Iterative waterfall
  3. Adaptive or Agile
Predictive life-cycle
What is it?
In a predictive life cycle, the three major constraints of the project, the scope, time and cost, are determined ahead of time not just at a high level, but in detail, and the project is split up into phases which can be either sequential or overlapping. Now the planning can be done for the entire project at a detailed level from the beginning of the project, or one can do what is referred to as rolling wave planning (also known as progressive elaboration). This is where the high-level planning is done for the entire project, but the detailed planning is done only for the work that needs to be done in the near future. Then as that work is completed, more detailed planning is done for the work that needs to be completed after that.

When to use it?
Is used when the expected product/service/result is well defined. The end product/service/result needs to be fully completed and done before it can be used by Users.
Usually divided into phases & the phases are sequential or sometimes they could be running partially parallel.
Work performed in each phase is usually different from other phases.
E.g. Project of making of a table fan. The user needs the entire table fan to use it. User cannot operate even partially with  the motor or blades or the frame of the fan.










Iterative & Incremental or Iterative waterfall
What is it?
Like a predictive life cycle, the project is split up into phases which can be either sequential or overlapping. Unlike the predictive life cycle however, the scope is not determined ahead of time at a detailed level, but only for the first iteration or phase of the project. Once that phase is completed, the detailed scope of the next phase is worked out, and so on.

The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing project team to take advantage of what was learned during development of earlier parts of the system. At each iteration, design modifications are made and new incremental functional capabilities are added.

Iterative and incremental software development came about in response to flaws in the waterfall model. It differs from the waterfall model because it is cyclical rather than unidirectional, offering a greater ability to incorporate changes into the application during the development cycle.

When to use it? Advantages:
A functioning product which can be used by the Project users is available at the end of every iteration,
Product requirements may be changed to optimize future iterations,
The project team learns from first iterations and may use best practices and experiences in next iterations.

E.g. An application for trade booking. Allows booking for Equities, Bonds, FX, FID, Commodities say. The project is to upgrade and increase the capacity of number of trades booked. The project can be iteratively done to upgrade the application for Equities. This upgraded application can be used along with the legacy application to book all the trades. Next the application can be upgraded for FX products and so on.








In contrast to the typical waterfall (plan, build, implement) or the iterative (plan, build, revise) life cycles, the adaptive development life cycle (speculate, collaborate, learn) acknowledges the existence of uncertainty and change and does not attempt to manage projects using precise prediction and rigid control strategies. There are six basic characteristics of an adaptive lifecycle process are mission focused, component based, iterative, timeboxed, risk driven, and change tolerant.

Adaptive lifecycles are mission focused. Although the final results may be fuzzy in the initial phase, the overall mission is well defined. In addition, adaptive lifecycles are component based in the context that a group of features are developed (i.e. results, not tasks, are the focus). The process is also iterative because it emphasizes “re-doing” as much as “doing.” Another characteristic of the practice is timeboxing (i.e. setting fixed delivery times for projects). Timeboxing forces ASD project teams and their customers to continuously re-evaluate the project’s mission, scope, schedule, resources, and defects.Lastly, adaptive lifecycles are risk driven and change tolerant. In addition, ASD is tolerant to change. The ability to incorporate change is viewed as a competitive advantage (not as a problem).

The benefits of ASD include the following:

Applications are a closer match to customer requirements due to constant evolution.
Changing business needs are easily accommodated.
The development process adapts to specified quality parameters.
Customers realize benefits earlier.
Risk is reduced
Confidence is established in the project early on.
Lack of complete knowledge is assumed and comprehensive feedback mechanisms are built to compensate.