summaryrefslogtreecommitdiff
path: root/roadmap.mdwn
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2020-11-26 08:24:08 +0200
committerLars Wirzenius <liw@liw.fi>2020-11-26 08:24:08 +0200
commit9f134a9360dd07b6718ac03ef7faaa89e21b5620 (patch)
tree81b5427dc59b757bd7730e5bbd1694e629fbceac /roadmap.mdwn
parenta398fc58c0b308daf419eec07a30d0954bb0fac4 (diff)
downloadobnam.org-9f134a9360dd07b6718ac03ef7faaa89e21b5620.tar.gz
add roadmap, kitten, and improve front page
Diffstat (limited to 'roadmap.mdwn')
-rw-r--r--roadmap.mdwn169
1 files changed, 169 insertions, 0 deletions
diff --git a/roadmap.mdwn b/roadmap.mdwn
new file mode 100644
index 0000000..2a9d611
--- /dev/null
+++ b/roadmap.mdwn
@@ -0,0 +1,169 @@
+[[!meta title="Road map"]]
+
+# Roadmap
+
+The current goal of Obnam development to get the software to a state
+where its author uses it for real, for at least a subset of their live
+data, and is ready to ask others to try the software.
+
+~~~roadmap
+goal:
+ label: "Lars uses Obnam2 for real"
+ depends:
+ - incremental_backup
+ - docs
+ - clean_code
+
+docs:
+ label: "Obnam has docs"
+ depends:
+ - manual
+ - code_docs
+
+deb:
+ label: "CI builds an obnam2.deb automatically"
+ depends:
+ - ci
+
+ci:
+ label: "CI builds and tests obnam"
+ status: next
+
+e2_server:
+ label: "Lars has an Obnam server running on home server"
+ depends:
+ - server_provision
+
+server_provision:
+ label: "The Obnam server at home is provisioned with automation"
+ depends:
+ - deb
+ - access_token
+
+https:
+ label: "The Obnam server requires using https, not plain http"
+ depends:
+ - ci
+
+access_token:
+ label: "The Obnam server at home requires using an access token signed by a well-known public key"
+ depends:
+ - https
+
+client_token:
+ label: "The Obnam client generates the access token itself"
+ depends:
+ - access_token
+
+e1_client:
+ label: "Lars has the Obnam client installed on his laptop, configured to back up personal projects"
+ depends:
+ - nice_ux
+
+initial_backup:
+ label: "Lars has made an initial backup of personal projedts in less than an hour"
+ depends:
+ - e1_client
+ - e2_server
+
+incremental_backup:
+ label: "Lars has made a no-op incremental backup of personal data in less than a minute"
+ depends:
+ - initial_backup
+ - incremental
+
+filetypes:
+ label: "The Obnam client backs up and restores all interesting types of files"
+ depends:
+ - symlinks
+
+regular_files:
+ label: "The Obnam client backs up and restores regular files, with uid, gid, mtime, permissions"
+
+directories:
+ label: "The Obnam client backs up and restores directories, with uid, gid, mtime, permissions"
+ depends:
+ - regular_files
+
+symlinks:
+ label: "The Obnam client backs up and restores symlinks, with uid, gid, mtime, permissions, target"
+ depends:
+ - directories
+
+incremental:
+ label: "The Obnam client backs up only new or changed files"
+ depends:
+ - filetypes
+
+nice_ux:
+ label: "The Obnam client provides a nice user experience"
+ depends:
+ - client_token
+
+clean_code:
+ label: "Lars has reviewed all code and tidied up anything that's not clean and idiomatic"
+ depends:
+ - code_docs
+
+code_docs:
+ label: "The code is documented for someone wanting to use the Obnam create as a library"
+ depends:
+ - manual
+
+tests:
+ label: "Everything in Obnam has automated tests"
+ depends:
+ - acceptance_criteria
+
+acceptance_criteria:
+ label: "The Obnam acceptance criteria are up to date and sufficiently comprehensive"
+
+manual:
+ label: "There is a rudimentary user manual for others"
+ depends:
+ - tests
+~~~
+
+
+# Roadmap legend
+
+```roadmap
+goal:
+ label: |
+ This is the end goal:
+ if we reach here, there
+ is nothing more to be
+ done in the project
+ depends:
+ - finished
+ - blocked
+
+finished:
+ status: finished
+ label: |
+ This task is finished;
+ the arrow indicates what
+ follows this task (unless
+ it's blocked)
+
+ready:
+ label: |
+ This task is ready
+ to be done: it is not
+ blocked by anything
+
+next:
+ status: next
+ label: |
+ This task is chosen
+ to be done next
+
+blocked:
+ label: |
+ This task is blocked
+ and can't be done until
+ something happens
+ depends:
+ - ready
+ - next
+```