TeamFlow Pro is a powerful command-line interface tool designed to streamline the management of organizational structures. With intuitive commands, it empowers users to effortlessly handle departments, roles, and employees within an organization.
AS A developer
I WANT to view the total utilized budget of a department
SO THAT I can understand the total salaries expense of a department
Acceptance Criteria
GIVEN the option to view the budget of a department
WHEN I choose to view the budget for a specific department
THEN I am presented with the combined salaries of all employees in that department
AS A developer
I WANT to add a new employee
SO THAT they're stored in the database
Acceptance Criteria
GIVEN the option to add an employee
WHEN I choose to add an employee
THEN I am prompted to enter the employee’s first name, last name, role, and manager, and that employee is added to the database
AS A developer
I WANT to view all roles
SO THAT I can see their details
Acceptance Criteria
GIVEN the option to view all roles
WHEN I choose to view all roles
THEN I am presented with details including job title, role id, the department that role belongs to, and the salary for that role
AS A developer
I WANT to view all employees in a specific department
SO THAT I can understand which employees work in each department
Acceptance Criteria
GIVEN the option to view employees by department
WHEN I choose to view employees by department
THEN I am prompted to select a department
AND I am presented with a list of employees in that department
AS A developer
I WANT to add a new department
SO THAT it's stored in the database
Acceptance Criteria
GIVEN the option to add a department
WHEN I choose to add a department
THEN I am prompted to enter the name of the department and that department is added to the database
AS A developer
I WANT to be presented with several options when I start the application
SO THAT I can choose the functionality I want to interact with
Acceptance Criteria
GIVEN a command-line application that accepts user input
WHEN I start the application
THEN I am presented with the following options: view all departments, view all roles, view all employees, add a department, add a role, add an employee, and update an employee role
AS A developer
I WANT to view all employees
SO THAT I can see their detailed information
Acceptance Criteria
GIVEN the option to view all employees
WHEN I choose to view all employees
THEN I am presented with a formatted table showing employee data, including employee ids, first names, last names, job titles, departments, salaries, and managers that the employees report to
AS A developer
I WANT to delete departments, roles, or employees
SO THAT I can manage and update the database content as needed
Acceptance Criteria
GIVEN the option to delete departments, roles, or employees
WHEN I choose to delete a department
THEN I am prompted to select a department to delete
AND that department is removed from the database
WHEN I choose to delete a role
THEN I am prompted to select a role to delete
AND that role is removed from the database
WHEN I choose to delete an employee
THEN I am prompted to select an employee to delete
AND that employee is removed from the database
AS A developer
I WANT to add a new role
SO THAT it's stored in the database
Acceptance Criteria
GIVEN the option to add a role
WHEN I choose to add a role
THEN I am prompted to enter the name, salary, and department for the role and that role is added to the database
AS A developer
I WANT to view all the departments
SO THAT I can see their names and IDs
Acceptance Criteria
GIVEN the option to view all departments
WHEN I choose to view all departments
THEN I am presented with a formatted table showing department names and department ids
AS A developer
I WANT to update the role of an existing employee
SO THAT their information is updated in the database
Acceptance Criteria
GIVEN the option to update an employee role
WHEN I choose to update an employee role
THEN I am prompted to select an employee to update and their new role and this information is updated in the database