Version 0.9.0
Version 0.9.0 is our first stable and cross-compatible release across our software suite. The goal of version 0 is to ensure total feature compatibility and completeness with:
- Electronic Home Showroom
- Madison Centre
- Follman Chemie
- Van de Grift
- Henriksson
- Tucker
- NCI Headquarters
- Alamo College
- Wellesley College
- KQ Sensors projects TBD ...
These projects do not need to be converted to this milestone, but every project should be reviewed.
Semantic Versioning
MAJOR.MINOR.PATCH
All MAJOR releases are compatible only within the same release and are incremented simultaneously. MINOR and PATCH releases are always compatible and are incremented independently.
It is perfectly valid for a 1.0.0 driver to be used with a 1.17.3 user interface. However, one would not expect a 1.0.0 driver to work with a 2.0.0 user interface.
Resources
Repositories
Once the issues for the software repositories are resolved, we will create and resolve issues for the project repositories.
versions:
'0.9':
client: # rename to app
web: # separate into base, control, dashboard, and setup
base:
control:
dashboard:
setup:
ios:
windows: # move to gateway/windows
server:
base:
alerts:
test:
gateway: # rename from processor
crestron:
nodejs:
windows: # move from client/windows
manufacturer: # change from plural to singular
kqsensors:
drivers: # change from plural to singular
ruby-runtime:
ruby:
base:
controlenvy_yaml:
crestron_cip-udp:
ecobee:
globalcache_gc-100:
google_calendar:
lutron_hwi:
lutron_integration_protocol:
yaml:
globalcache_samsung:
# etc ...
Conventions
Time Tracking
Estimation
We are using Fermi Estimation in the units of 1 hour, 1 day, 1 week, and 1 month for time estimates.
First, let’s start with wild ballpark approximations. This is an example of what might go through my head before I even pick up a calculator, when I’m just trying to get a sense of the quantities - the kind of calculation where 10, 1, and 0.1 are all close enough that we can consider them equal.
— xkcd What If? "A Mole of Moles"
Any issue that takes only a few minutes isn't worth creating an issue to resolve, just do it.
Any issue that takes more than a few minutes takes at least an hour (/estimate 1h).
Any issue that takes more than an hour takes at least a day (/estimate 1d).
Any issue that takes more than a day takes at least a week (/estimate 1w).
Any issue that takes more than a week takes at least a month (/estimate 1mo). Note that we should break any issue requiring a month or more into several smaller issues and change the large issue to a milestone.
Spent
For time spent, round to the nearest 15m. Do not hesitate to spend time multiple times.
Weight
In this milestone, "weight" is the rating of relative value of an issue between one and ten. For example, unit tests have a relative value of five. To determine weight, check for similar issues and use a similar weight.
Tentative Scale
- 1-3 are trivial issues.
- 4-6 are necessary but involved.
- 7-9 are high-value issues.
- 10 is anything @wes.hatchett really wants.
Priority
Priority is determined by due date.
Labels
Labels are not used.
Release
To release this version, create a v0 branch from develop and tag the version as 0.9.0.