,

NGP Explained

Our belief is that our customers don’t want to start selecting tools, but instead want to start from an executable process that can grow as your project or organization grows.

As an example, suppose you are starting a project and you need to start managing your requirements.  A vendor would probably want you to install their requirements solution, and before that, purchase a couple of licenses for some database servers, etc. before you can even start talking about requirements. This gets in the way of project success. Instead, you want something quick – no elaborate setup, something that just allows you to get on with attacking the requirements quickly. You just want something that works and at the same time conforms to organizations development practices.

It is only when you have a better grip of the project requirements and have the management approval that you consider having a more elaborate process and perhaps more sophisticated tools. At this point in time, you want your process to grow and your environment to grow as well. To achieve this, your process needs to be both executable and extensible. This has to be considered from two dimensions, namely:

Process Content

By process content, we mean the definitions of processes and practices that guide the development team. Process content describes what the development team should do, what the considerations when performing a particular task are, and what the things to produce are etc. This process content must be architected in a manner to assimilate organization specific processes easily and be extended easily as well.

IJC’s effort with process content – which we termed as Next Generation Process Content (NGPC) – is embodied in the Essential Unified Process (EssUP). But NGPC is not just EssUP. EssUP only defines a software development process kernel and a set of essential practices. Organizations can define additional practices on top of this core set. This allows organizations to take advantage of IJC’s expertise in software development practice, and at the same time the freedom to seamlessly define their specific practices. As such the NGPC encompasses an entire ecosystem of practices defined by IJC, other industry experts, and even development organizations themselves.

Process Infrastructure

By process infrastructure, we mean the runtime environment to author process content and to deliver the content to the practitioners as they perform activities in the project. The process infrastructure closes the gap between what the processes prescribed versus what practitioners do on the ground.

IJC’s effort in the Next Generation Process Content (NGPI) is embodied within IJC’s internal project which we called “Genie-Aladdin”. Genie is a Web 2.0 inspired infrastructure to deliver a highly collaborative environment to get project teams up-and-running quickly. In fact, it is the goal of Genie to achieve a zero-startup time – no need to purchase or install expensive vendor specific tools. Just select the desired practices and get on with the project.

The goal of the Next Generation Process Infrastructure (NGPI) is to make process content (as represented by the Essential Unified Process) as accessible and as changeable as possible to the community. After all, knowledge does not belong solely to us. We want to encourage contribution by the community.  As such the NGPI applies Web 2.0 concepts such as syndication, blogging, voting, etc.  Accordingly, NGPI also makes use of Web 2.0 related technologies such as XML and AJAX, etc.

Underneath the NGPI is a defined API from which vendor tools can be plugged in or process content can be imported or exported out. This API which is realized by Aladdin (an IJC internal name) also allows the incorporation of intelligent agent technologies such as WayPointer to make the process smart and deliver further value to the development team. This API is also the basis for establishing an ecosystem through which methodologists and subject matter experts within an organization and world-wide can contribute and disseminate their knowledge.