Amaze Hands is an amazing tool developed for analysing Kanban board cards.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
apps/web
config
db @ 48ca3dd
doc/images
lib
spec
tmp
.env
.env.development
.env.test
.gitignore
.gitmodules
.lotusrc
.rspec
.rubocop.yml
.rubocop_todo.yml
.travis.yml
Gemfile
Gemfile.lock
Procfile
README.md
Rakefile
config.ru

README.md

Amaze Hands Code Climate Travis CI Test Coverage

Amaze Hands is an amazing tool developed for analysing Kanban board cards, in a similar fashion to poker hands analysis.

Developed initially for the amazing Pricing squad in Group Platform at REA, and now being used by the Pricing and Products squads.

Why?

Lorem ipsum spreadsheet amaze.

Previously, as a Delivery Lead I spent a significant portion of my time manually recording card dates and working out the cycle time and wait time. LeanKit unfortunately does not help much - its reporting tool is very basic and somewhat inaccurate.

Below is the spreadsheet I used - Excel formulas are helpful, but punching in dates is an extremely tedious process.

Amaze Hands to the Rescue

The goal of Amaze Hands is to incrementally add intelligence to our agile process.

By incrementally adding and/or filtering data points for analysis, we will be able to zero in on the problematic areas of our agile process. The following is a list of potential areas we could perform analysis on:

  • cycle time
  • wait time
  • blocked time
  • knocked-back time
  • context switch (between different streams of work)
  • other factors such as meetings, attrition, etc

How?

Lorem ipsum copy paste amaze.

Even though LeanKit does offer an XML export function for exporting card history, the function is broken therefore Amaze Hands relies on copy-pasted card history text from each card to process the data and generate metrics.

Below is a high level system architecture diagram that shows how Amaze Hands handles data.

    +---------------------+
    |        Text         | <- Raw text input.
    +----------+----------+
               |
+--------------v--------------+
|         Strategies          |
+-----------------------------+
|   +---------------------+   |
|   |    Preprocessor     |   | <- Normalises text input for parsing.
|   +----------+----------+   |
|              |              |
|   +----------v----------+   |
|   |       Parser        |   | <- Parses text into an AST.
|   +----------+----------+   |
|              |              |
|   +----------v----------+   |
|   |     Transformer     |   | <- Transforms the AST into a common AST.
|   +---------------------+   |
+--------------+--------------+
               |
    +----------v----------+
    |       Builder       | <- Builds the dataset from the common AST.
    +----------+----------+
               |
    +----------v----------+
    |       Reducer       | <- Filters the dataset.
    +----------+----------+
               |
    +----------v----------+
    |      Analyser       | <- Analyses the dataset for metrics.
    +----------+----------+
               |
    +----------v----------+
    |      Producer       | <- Produces metrics.
    +----------+----------+
               |
    +----------v----------+
    |      Presenter      | <- Presents metrics.
    +---------------------+

Supported Kanban Boards

Amaze Hands out of the box has parser and transformer strategies for the following tools:

Stack

Amaze Hands is proudly built with:

How to Use

Run Metrics in CLI

bundle install
lotus c
# in lotus repl
Workflow.new(
  strategy: Strategies::LeanKit,
  lanes:    Strategies::LeanKit::PricingLanes,
  files:    Dir["#{__dir__}/db/pricing/*.txt"]
).metrics

Run Metrics in Local Web App

bundle install
lotus s

Credits

License

Licensed under MIT