Amaze Hands
![Test Coverage](https://camo.githubusercontent.com/a1e9ff5d4e2f92db59f3c18b526f0fde767cf19046576705cd5075c76e369043/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f6672656477752f616d617a655f68616e64732f6261646765732f636f7665726167652e737667)
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:
- LeanKit
- CSV
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