|
Advisor, Technical Advisor |
A person assisting Business Management in terms of
explaining and validating information related to a given
Software Project.
|
|
Bug, Bugs |
A general industry term for a discrepency between the expected and actual state of a
deliverable. Bugs are generally recorded, tracked, and
resolved during a Software Project. Formally,
Bugs should have an explicit or reasonably implied
basis derived from the project's Feature Specifications.
|
|
Business Management |
A hierarchical collection of Business Managers
and Advisors who manage a business organization.
|
|
Business Manager, Business Managers |
An agent of a company who determines which projects to do and then secures the
necessary resources to complete them. The Business Manager
is viewed as a pragmatist who is focused on the financial well being of the
organization. The Business Manager needs to readily
convey the relative value of a project. The Business Manager
needs to know the state of a project in terms of budget and goals. The
Business Manager needs to be able to confidently relay
the state of project to other Business Managers. The
Business Manager does not neccessarily need to know
specific technical details of a particular project. A primary metric for
Business Managers is their ability to have projects completed
on schedule and on budget. A primary metric for Business Managers
is that the costs and benefits a project meet the goal criteria used to authorize them.
The Business Manager may be managing several projects concurrently.
|
|
Deliverables |
The expected collection of components, documents, and files produced by a
Software Project upon its completion.
|
|
Development, Development Team, Development Teams |
A collection of technical personnel responsible for implementing the features of a
Software Project. Additional responsibilities typically
include advising Program Managers of the technical feasibility
and cost of implementing features. Additional responsibilities typically include creating
Implementation Plans. Additional responsibilities typically
include inspecting Feature Specifications and
Test Plans.
|
|
Development Group, Development Groups |
A collection of teams whose purpose is to plan, specify, implement, and verify a
Software Project. A Development Group
encompasses three primary teams. They are Program Management,
Development, and Testing. A primary
metric for Development Groups is completing a
Software Project on schedule. Additional metrics are the
perceived value and quality of the final deliverables. Program Management
is generally the primary representative of the Development Group.
|
|
Feature Specification, Feature Specifications |
A detailed functional description of a feature comprising a Software Project.
Feature Specifications are the basis for costing and scheduling a
Software Project. They are the end result of the
Planning Phase. In terms of bidden projects, they usually become part
of the contract agreement. They should detail the constraints and composition of a feature.
|
|
Implementation, Implementation Phase |
A phase in a Software Project where a set of features is implemented
by writing and compiling source code. During this phase, Development
is focused on implementing the features according to the corresponding
Implementation Plans. Development may release
Builds to be evaluated by Testing and
Program Management. Ideally, these Builds
are used to validate and verify the feature implementations, increasing in the depth and breadth of
coverage. Ideally, these builds are used by Program Management to track
overall progress and validate feature goals. Ideally the phase ends with all features completely
implemented, as per the Implementation Plans and Feature
Specifications. Ideally, Testing should be able to fully execute
their Test Plans at the conclusion of the Implementation
Phase.
|
|
Implementation Plan, Implementation Plans |
A detailed description of how a feature is to be developed. It details the components and technologies
which will be utilized to create the feature. It is derived from one or more Feature
Specifications and is usually internal to the Development Group assigned
to the Software Project. It should provide sufficient detail in order to
confidently schedule and plan the development of the feature.
|
|
Outsourcers, Vendors |
Unless qualified, this term generally refers to Software Development
Outsourcers in the context of this site.
|
|
Outsourcing, Software Outsourcing, Software Development Outsourcing |
While many types of work may be outsourced, Outsourcing as an unqualified
term used within the context of this site refers to Software Development.
|
|
Planning, Planning Phase |
A phase in a Software Project where various features
and feature sets are evaluated specified. The phase generally starts with a
prioritized set of project goals and constraints. It also starts with a rough schedule.
The primary goal of the Planning Phase is to produce
highly detailed Feature Specifications,
Implementation Plans, and
Test Plans for an optimal set of features which satisfy
the project criteria. It is possible that a Software Project
will be cancelled if it seems infeasible to meet the core goals and constraints.
However, adjustments to the general and core goals and constraints of the project
may occur during this phase, in order to establish feasibility. Various feature sets
and corresponding schedules are presented to Business Management,
with increasing confidence of feasibility. Ideally, the phase ends with a stable set
of features, detailed documentation, and specific plans.
|
|
Product Group, Product Groups |
A hierarchical collection of people responsible for the development, distribution, and support
of a Software Product. Typically, a Product
Group is comprised of a Development Group, Business Management,
Sales and Marketing, and Product Support.
|
|
Program Management |
A collection of technical personnel responsible for planning, scheduling, tracking,
and managing a Software Project.
Program Management generally owns the composite schedule.
Program Management is the primary interface of a
Development Group with Business Management.
|
|
Software Development Outsourcers, Software Development Vendors |
Business entities external to a Client who are involved with
Software Development. Specifically, businesses who
provide Planning, Implementation,
and/or Maintenance services in regard to
Software Development.
|
|
Software Development |
The process of creating software. In industry, it is typically done by means of a
Software Project.
|
|
Software Project, Software Projects |
A project with the primary goal of implementing a set of features in software by
writing and compiling source code. The end goal of a
Software Project is to produce
Deliverables. A Software Project is
executed by a Development Group. A
Software Project generally consists of one or more recursive
or sequential iterations of three primary phases. They are Planning,
Implementation, and Verification.
|
|
Test Plan, Test Plans |
A formal description of how a feature will be validated as being compliant
with the corresponding Feature Specification. It is derived
from the relevant Feature Specifications and the
Implementation Plans. It should provide sufficient detail
in order to confidently plan and schedule the verification of a feature.
|
|
Verification, Verification Phase, Verification Phases |
A phase in Software Project where the
Deliverables of a Software Project
are verified to be complete and free of defects. During this phase
Testing is primarily engaged in executing
Test Plans, and filing Bugs
against Builds in order to eventually validate completeness and
correctness of the final Deliverables.
Testing may also be validating other components of the
final Deliverables. Program Management
is primarily engaged in validating and prioritizing Bugs.
Development is primarily engaged in resolving malfunction
Bugs. Iterations of filing, assessing, and resolving
Bugs continue until all Bugs are
resolved. Ideally the Verification Phase ends with
Deliverables that are complete and defect free. Ideally, the
final Deliverables satisfy the original intentions of the
Software Project.
|
|