[Sub-Project Name|[Sub-ProjectName] One Pager

(template version 1.93)


1. Introduction

1.1. Project/Component Working Name:

Name of the Project or Component

1.2. Name(s) and e-mail address of Document Author(s)/Supplier:

The individual who are wrote this document

Name: email address

1.3. Revision History:

This table lists the major changes to the document.  For example, the version prepared for initial review should appear in the table as well as the version that results from addressing comments from review.

Revision #
Date Author
Comments
       
       
       

2. Project Summary

2.1. Project Description:

A SHORT description of this project suitable for use on dashboards and status rollups.

See below for a longer, more detailed technical description.

2.2. Risks and Assumptions:

Note any risks, and assumptions that must be considered along with the proposal. Include technical risks.

3. Problem Summary

3.1. Problem Area:

What problem or need does this project solve?

3.2. Justification:

Why is it important to do this project?

3.3. Definition of New Terms, Acronyms and Abbreviations

Term Definition
   
   
   

3.4. High-Level Requirements

This could be just a link to a set of JIRA enhancements, Accept 360 requirements, requirements documents or some external medium reflecting a high-level view of what the feature is supposed to do.  If none of these available, then the requirements should be placed right here.

Notice the contrast with section 4.1 where low-level requirements are stated.  For example, a high-level requirement, stated in JIRA possibly, might say "we need a way for the user to specify a port number".  The low-level requirements might show how the CLI takes a port number, how console pages will be updated to include port number, how the code behaves when a port number is not specified, how the system behaves when a bind fails, given that the user specified a specific port, etc.

High-level requirements are not necessarily testable, while low-level requirements are.

4. Technical Description:

Remember that this page will, in most cases, be exposed to individuals from various companies, organizations and interests.  No proprietary information reflecting release plans or strategic long-term goals of any organization belong in this document.  This should be considered carefully in the sections dealing with performance, packaging, dependencies and compatibility.

4.1. Low-Level Requirements

Notice the contrasts described above between high-level and low-level requirements.

Each separate requirement should be listed in its own subsection.

4.1.1. Requirement 1

As much as possible, requirements should be stated in rigorous terms, using testable language.  Teams writing tests, documentation and complementary software will use these requirements on which to base their assumptions about their own work.

4.1.2. Requirement 2

Feel free to add diagrams and drawings as necessary for clarity

4.1.2.1.  Subsection 1 of requirement 2

Don't be hesitant to nest subsections even deeper, if it helps.

4.1.3. Requirement 3

Descriptions of user interface elements are allowed here if it aids in the flow of the description, but are more appropriate in the interface section below.

4.1.4. Requirement 4

Remember to cover error cases, rather than just mainline functionality; these are the areas that are often most important to other teams interacting with your component.

4.2. Details:

To the extent known, how is this project going to be done? This information is used by the reviewer to get a feel for the
complexity and risk involved, and the architectural constraints that this project is working under. Try to present alternatives and show relationships to existing or proposed projects/standards.

4.3. In Scope:

Aspects that are in scope of this proposal if not obvious from above.

4.4. Out of Scope:

Aspects that are out of scope if not obvious from above.

Don't skimp here.  Many misunderstandings can be averted by stating what is not being done.

4.5. Interfaces:

Interfaces may be commands, files, directory structure, ports,
DTD/Schema, tools, APIs, CLIs, etc.
Note: In lieu of listing the interfaces in the one pager, providing
a link to another specification which defines the interfaces
is acceptable.

4.5.1 Public Interfaces

List new, public interfaces this project exports.

  • Interface:
  • Comment:

4.5.2 Private Interfaces

List private interfaces which are externally observable.

  • Interface:
  • Comment:

4.5.3 Deprecated/Removed Interfaces:

List existing public interfaces which will be deprecated or
removed by this project.

  • Interface:
  • Reason for Removal:

4.6. Doc Impact:

List any Documentation (man pages, manuals, service guides...) that will be impacted by this proposal.

4.7. Admin/Config Impact:

How will this change impact the administration of the product?

Identify changes to GUIs, CLI, agents, plugins...

4.8. HA Impact:

What new requirements does this proposal place on the High Availability or Clustering aspects of the component?

4.9. I18N/L10N Impact:

Does this proposal impact internationalization or localization?

4.10. Packaging, Delivery & Upgrade:

4.10.1. Packaging

  • What packages does this proposal impact?
  • How will the packages be impacted?
  • Will new IPS/pkg(5) packages need to be created?

4.10.2. Delivery

  • What impact will this proposal have on product installation?

4.10.3. Upgrade and Migration:

  • What impact will this proposal have on product upgrade and/or migration from prior releases?
  • Enumerate requirements this project has on upgrade and migration.

4.11. Security Impact:

How does this proposal interact with security-related APIs or interfaces? Does it rely on any Java policy or platform user/permissions implication? If the feature exposes any new ports, Or any similar communication points which may have security implications, note these here.

4.12. Compatibility Impact

Incompatible changes to interfaces that others expect to be stable may cause other parts of application server or
other dependent products to break.

Discuss changes to the imported or exported interfaces.Describe how an older version of the interface would
be handled.

List any requirements on upgrade tool and migration tool.

4.13. Dependencies:

An internal dependency is a dependency on a project, module,
component or product that is within the GlassFish project.
An external dependency is a dependency on a project, component
or product that resides outside of the GlassFish project.

4.13.1 Internal Dependencies

List all internal dependencies this proposal has on other
software. Include component version requirements if necessary.

4.13.2 External Dependencies

List all external dependencies this proposal has on other
software. Indicate if the software is open source, what
license terms the software is released under and the version
of the software that is being consumed by this project.

4.14. Testing Impact:

How will the new feature(s) introduced by this project be tested?
Do tests exist from prior releases (e.g. v2) that can be reused?
Will new tests need to be written? Can they be automated?

4.15. Performance Impact:

Will these features have a negative impact on the performance of some existing feature? If so, what is the acceptable impact when using these features - if any? If there are performance features, are there specific performance improvement goals?  Even if no performance impact is expected, are there hints that you can provide to those analyzing the performance of this feature?

5. Reference Documents:

List of related documents, if any (BugID's, RFP's, papers).

Explain how/where to obtain the documents, and what each contains, not just their titles.

6. Schedule:

6.1. Projected Availability:

Indicate which milestones from the current schedule the project
will be:

  • Initially integrated (may not be feature complete)
  • Feature complete (ready for handoff to QA)
  • At production quality level

7. Open Issues

7.1. Open Issue 1

Use this to identify an open issue. If this is simply a point of indecision, then articulate what decision needs to be made. If it is a point of disagreement, then make sure to objectively list the different points of view. Try to avoid editorial comments if possible - record just the facts.

7.2. Open Issue 2

Place each issue in a separate section.

7.3. Open Issue 3

The review period is not over until all open issues are resolved.