This is a working document
To outline what a feature is, how a feature grows from Idea, Conception, Birth and through to Adulthood (Iteration).
A feature is any new or iterated functionality added to any part of our applications or ecosystems.
Some examples of features at some point in their lives:
- New website header
- New colour for a submit button on the dashboard
- New shipping module
- An update to an already existing system
- An iteration to make a feature faster
- A change in office snacks
- A bug fix
A feature has a lifecycle. It is an idea, a conception, a birth, and an iteration. Features can also die. They are living things.
Features start as ideas. An idea is a concept for functionality or a change in some form that will make our company or applications better for us and our users.
Ideas can be very high level, or very small things.
An idea should be written up using the following template:
Name | Reward | Effort |
---|
Ideas should benefit the user and the company. None can live without the other.
Every idea can be proposed, and added to a bucket. Once we fill a bucket with ideas we can move them to Conception.
The Conception s when an idea is chosen to move to birth or to be dropped from existence.
Ideas taken from the Idea Bucket are validated, discussed by the team.
Some Ideas may be small, some large, but a rule of thumb is, no more than 3 ideas can make it to be Conceived for Birth.
All features when birthed start out as beta. Their use is then tested and validated over time.
In its most basic form a first delivered feature starts life like the following:
- Specced (Basic Schema, Build Pattern (How do we build it?))
- Built
- Documented
- Written about (Blogged)
- Deployed
- Announced Private
- Announced Public
Adulthood is when a feature reaches the stage in its life when it is one of the following things:
When a feature becomes benign, it does not grow any further. It fits the following rules:
- Fulfills its role
- Doesn't necessitate iteration
When a feature becomes valuable, it can be iterated upon. Its fits the following rules:
- Has scope for expansion
- Necessitates iteration
A feature can only become valuable if it:
- Is heavily used by our users or team
- Generates the company more money relative to other features
- Is the basis for a future feature