Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Author ¶
type Author struct { // The Name of an individual or team which has contributed to this road map. Name string `json:"name"` // The Contact details for the individual or team, should a reader wish to contact them. // This may be an email address, IM handle or other method of contact. Contact string `json:"contact,omitempty"` }
An Author is an individual or team which has contributed to the road map and which may be able to provide additional context if required.
type Deliverable ¶
type Deliverable struct { // The Title provides a brief name for this deliverable. Title string `json:"title"` // The Description is a markdown formatted body of text which provides additional // context on this deliverable. Description string `json:"description,omitempty"` // The Reference is a URL at which additional information about the deliverable can // be found. This may be documentation, a tracking ticket or a PR. Reference string `json:"reference,omitempty"` // The Requirement specifies, using RFC2119 form, the impact that delivery has on // the milestone (MUST, SHOULD, MAY). Requirement string `json:"requirement,omitempty"` // The State of the deliverable may be one of TODO, DOING, DONE, SKIP. State string `json:"state,omitempty"` }
A Deliverable is a concrete task which may be delivered as part of a broader milestone. Deliverables can state their RFC2119 requirement level to indicate how their delivery impacts the milestone.
func (*Deliverable) ID ¶
func (d *Deliverable) ID() string
ID returns a deterministic identifier for this deliverable which is based on its title and reference
type Milestone ¶
type Milestone struct { // The Title provides a brief name for this milestone. Title string `json:"title"` // The Description is a markdown formatted body of text which provides additional // information about the milestone. Description string `json:"description,omitempty"` // The Deliverables are concrete tasks which combine to achieve a given milestone. Deliverables []*Deliverable `json:"deliverables,omitempty"` }
A Milestone is used to describe a high-level progress indicator for a team or project. It is composed of a series of deliverables and represents a shift in the delivered value at a level which can be understood by the business and customers.
type Objective ¶
type Objective struct { // The Title provides a brief name for this objective. Title string `json:"title"` // The Description is a markdown formatted body of text that which provides additional // context on the objective. Description string `json:"description,omitempty"` }
An Objective describes a high level goal for the team. It is usually something that will be worked towards over several milestones and might not have a clear definition of done.
type Roadmap ¶
type Roadmap struct { // The Title is used to briefly introduce the road map to a reader Title string `json:"title"` // The Description is a markdown formatted body of text explaining the road map // and any context that a reader should have when consuming it. Description string `json:"description,omitempty"` // The Authors list provides the names and contact details for each of the individuals // or teams involved in defining the road map. They act as points of contact should questions // about the road map arise in future. Authors []*Author `json:"authors,omitempty"` // The Objectives list contains the high level goals that the team is working towards // and should inform both the content and prioritization of deliverables in each milestone. Objectives []*Objective `json:"objectives,omitempty"` // The Timeline lists important dates which are of relevance to the execution of this // road map. They are intentionally separated from milestones as we expect that milestones // are executed in sequence and might be delayed or accelerated based on external factors. Timeline []*TimelineEntry `json:"timeline,omitempty"` // The Milestones act as a series of high-level progress indicators. These allow a team // to visualize where they are on the road map without being overly constrained to the // specific execution. Milestones []*Milestone `json:"milestones,omitempty"` }
A Roadmap describes a series of milestones and important dates which combine to outline a planned sequence of execution for a given project or team.
type TimelineEntry ¶
type TimelineEntry struct { // The Date associated with this timeline entry. Date time.Time `json:"date"` // The Title provides a brief name for the timeline entry to succinctly convey meaning to a reader. Title string `json:"title"` // The Description is a markdown formatted body of text providing additional context // on this timeline entry to any reader who needs it. Description string `json:"description,omitempty"` }
A TimelineEntry describes an important date which is relevant to the road map. This may be a delivery date, quarterly milestone or any other point-in-time reference.
func (*TimelineEntry) ID ¶
func (t *TimelineEntry) ID() string
ID will return a deterministic identifier for this timeline entry which is based on its title and date.