Requirement Analysis
The primary purpose of the requirement analysis is to know what the customer expects from the application. Personal meetings with the customer helped us to gather requirements. The team meetings and discussions helped us to bring a structure to the requirements, in the form of user-stories.
The different phases our team went through as part of gathering requirements are explained below,
Requirements Elicitation
The first part was to fix meetings with the customer. We and our customer agreed upon a common time to meet weekly, we had 3 meetings so far where we were successfully able to formulate the customer needs. Each minute detail from the customer was noted down and a list of requirements was prepared. After every meeting our team members brain-stormed on the list, we had a common view on some of the items in the list and our views differed on some other, we got these confusions clarified during our subsequent meetings with the customer.
From the customers perspective it was known to us that he requires an activity monitoring system, which can efficiently monitor his day to day tasks and display a summary over specific periods. It provides the customer an opportunity to understand and review if he’s spending right amount of time on his distinct daily activities and thus improve his lifestyle accordingly.
Requirements Formulation
After 3 productive meetings we prepared a final list of requirements, our team members worked together and converted this raw list of requirements into a more comprehensible form, such as use case diagrams and user-stories, thus it will be an easy job for us to convert these user-stories into small tasks that each of the team members can work on independently.
A glimpse of a use case diagram and some user-stories are given below,
Use Case Diagram:
User-Stories:
- As a user, I want an app so that I can track the history of my activities
- As a user, I want to add activities so that I can monitor them over a period of time
- As a user, I want to add user-defined titles to activities so that I can understand and recognize them later
- As a user, I want to input time and date when adding an activity so that I can have a Time stamp
- As a user, I want some default categories so that I can group my activities accordingly
- As a user, I want to create categories so that I can have user-specific categories
- As a user, I want to add 'Notes' to my activities so that I can write some brief annotations about them
- As a user, I want a 'default Project' so that all activities by default are grouped into it
- As a user, I want to create Projects so that I can group activities from different categories into a project
- As a user, I want to use different colors for different Projects so that I can spot and differentiate projects easily
- As a user, I want to delete activities so that I can remove incorrect entries
- As a user, I want a weekly/monthly summary of my activities so that I can track them weekly and monthly
- As a user, I want a category specific summary so that I can track specific categories over a period of time
- As a user, I want a summary of activities over a user-defined period of time so that I can track activities flexibly
- As a user, I want a record of activities of at least past 6 months so that I can check progress over long periods
- As a user, I want to see summary in Charts so that it's easy to understand and remember
- As a user, I want to store/export my data so that it's easy to retrieve later
Requirements Validation
Initially we made some fallacious judgments. The most terrific one of them was to completely misunderstand the concept of activity monitoring to be an app which monitors user’s future events, but the customer was actually expecting an app which tracks his activity history. Fortunately we got things cleared in subsequent meetings with the customer and we made sure that we understood the customer needs clearly.
Requirements Management
After formulating the user-stories we started our work on the design and implementation part. As we are following SCRUM methodology, for Sprint-1 we chose some user-stories from the backlog list and implemented them. Now we are in the phase of reviewing our sprint-1 work.
That's all for now, We’ll be back soon with a new post on our System design and also details of our progress in the upcoming sprints.
Regards,
Jovel C Jose,
Team Bluesky