## Part 1 – Capturing the idea
1. ### Concept and introduction
I was inspired to assist my wife with managing her small hair styling business by developing a mobile application for iPhone or iPad which will sync its data to and from the cloud. Her biggest need was to ensure that her appointment book was up to date and that her client data was always available. Since there would be lots of communication between herself and her clients, the idea took shape to include a client version of the app, allowing a client to make/cancel an appointment and to update their information.
This got both of us excited since we could in our own minds already see the finished product working brilliantly. Off course it will take lots of work, but we could already imagine the possibilities.
This is typically how every idea starts for me, so I intend to map out the journey of taking an idea and bringing it to fruition.
2. ### Name / URL
I find that an idea dissappears into the void if it doesn’t have a name, so my first step is to fire up godaddy.com, facebook and twitter and to start looking for names that will uniquely identify my product. I finally found UberStylist to be available and parked the various spaces.
3. ### Features
While driving to the inlaws for a weekend, we had some time to discuss the various features that might be included in the app and I captured these using my iPhone. Since I’m aware of SpecFlow and the Cucumber/Gherkin syntax, I captured each feature in the following format:
Feature: Healthy relationships with my clients
In order to ensure healthy relationships with my clients
As a hairstylist
I want to keep updated client data (cards) and be able to easily find and communicate with my clients
4. ### Scenarios to test features
To take each of the features a little further, I added a set of scenarios to cover what it means to have this feature. These can then become tests to determine if a feature was successfully implemented later on. The Cucumber/Gherkin format once again aided with these:
Scenario: New Client Appointment
Given a booking form is completed
When a new client makes a booking
Then their name should be captured
And their contact number and/or email should be captured
And their booking date and timeslot(s) should be captured
And their gender should be captured
The syntax allows for Given (And…) When (And…) Then (And…) which spells out expected results from certain actions given some assumptions.
Capturing the different scenarios I could think of for each feature, really helped me to form a more complete picture in my mind about the user experience.