On Demand Remotely Stackable Project Management Tools for Component-Based Software Projects
Original Publication Date: 2005-Nov-25
Included in the Prior Art Database: 2005-Nov-25
Software projects rarely are independent of other software projects. Many depend on or build on top of an underlying software platform or a several software projects forming a stack. This article discloses a design to allow a software project's definition (componentization layout) to stack on top of another by defining child projects to be a component of a parent project. This then would form an infrastructure allowing the creation of inter: "Dependencies", "Requirements", and "Issues" (defects) for example, down the stack. The child project would also define the parent project as a client of the child project. Forming a two way connection along the stack.
On Demand Remotely Stackable Project Management Tools for Component -Based Software Projects
Disclosed is a design to allow a software project's definition (componentization layout) to stack on top of another project definition by defining child projects to be a component of a parent project. Importing in all the necessary information into the parent project. This then would form an infrastructure allowing the creation of inter: "Dependencies", "Requirements", and "Issues" (defects) for example, down the stack. The child project would also define the parent project as a client or customer of the child project. Forming a two way connection along the stack.
In this article, the term "project stack" is used to define a set of dependent projects built on top of each other where lower projects are components of ones higher on the stack. A "parent" project will refer to the project located directly above the "child" project on the stack. A "component" of a project defines either: 1) a "software component" that makes up the project's deliverable, 2) a "team component" made up of a group of people assisting in the production of the project's deliverable, or 3) a "tool component" describing a software tool used to develop the project's deliverable. A "client" of a project will refer to a profile of a user of a project's deliverable. This would contain information about the client and would be used to define where defects and requirements against the project originate from.
It is assumed that "Project Management (PM) tools" for componentized software projects can are at least capable of defining inter-component dependency relationships between components, manage requirements and defects from clients (users) of the project's deliverable. (See referenced disclosure below for an example of a PM Tool design and capabilities). It is also assumed that the PM tool uses a relational database technology to store the data definition of those objects.
A software project is often not singular (independent) but is built on top of and is dependent on one or more other software projects forming a "project stack" or tree. Most project management tools are scoped to address a singular project. Having a PM tool that can stack on top of itself can more accurately simulate scenariios in the Software industry where a single project is actually made up of several other projects, and in turn may be a software or tool component of yet another project higher on the project stack.
Futhermore, the components of the overall project stack are often not all internal to the projects owning entity. By having the ability to stack on top of another project remotely, adds the ability to interconnect the entire stack's PM infrastructure, be it internal or external, and creating an "On Demand" extranet (B2B) infrastructure. To provide remote capabilities, Web services or another form of remote database access technology may be used to connect the two projects remotely, allowin...