The aims of Tami are:
- Make it easy for BAs to manage Themes, Features and Acceptance Criteria in a project
- Allow BAs to easily reuse existing Acceptance Criteria
- Remove duplication of Acceptance Criteria between BAs and Developers
The secondary objectives of Tami are to:
- Allow a Product Owner to see an overview of the project Features
- Allow a BA/Tester/Product Owner to determine whether a certain feature exists in their Project.
Tami is built on Rails and uses the YUI JS framework.
Tami was conceived on our client sites where BAs, working in an Agile environment, were trying to write and share Cucumber Acceptance Criteria with Developers. Tami is one of DiUS Labs’ early prototyping projects around BDD, Cucumber and YUI. Our early attempt at Tami focused on integrating features and cucumber directly with a build and was very developer centric. This attempt was abandoned due to the difficulties of having to set up Tami with different build environments, especially at client sites.
Our second attempt, this version, is focused on allowing BAs and Developers to collaborate on Cucumber feature files. Tami has helped deliver client-side projects and internal projects. It’s UI, in our opinion, is still developer centric and BAs don’t find it fully intuitive to use.
Tami is a prototype and has been a training ground for DiUS employees learning Rails and YUI. Tami has also been touched by many hands and this has resulted in some amount of Tech Debt in the codebase.
We have put a lot of effort into understanding the BA’s problem and have chosen to use User Centred Design (UCD) to drive the Tami interaction, UI and Features. UCD in a nutshell involves building personas, and then developing goals, mental models and workflows for those personas. UCD also includes User Group testing which we will continually conduct with our internal and external BA group to validate our UCD designs. UCD has many flavours and at DiUS we are taking a light-on approach, which we will share with the community. For more info on UCD please see below.
Once we have solved the BAs goals with Tami we will continue to use UCD to solve the goals of a Product Owner.
The following are some areas that we identified that we would appreciate community help with:
- SCM integration (dealing with conflicts)
- Installation (making as easy as possible to install)
- Browser Support (Text editing in Safari)
- Synchronisation with the database and filesystem
- Raising code coverage
- Build Time
Tami will have dedicated Developers answering questions, developing and reviewing and applying patches.