5. Process - Pug-Life-INFO-461/allowance-gamification-app GitHub Wiki

1. How will you communicate with teammates you depend on? Describe specific tools or settings.

Facebook Messenger

Facebook Messenger is the main tool we use to communicate with other teammates. We primarily discuss project logistics and share individual work progress in our Facebook chat group. The reason we chose Facebook Messenger to be our main communication tool for other tools, such as Slack, is that Facebook is a tool that all four of us check and use frequently. It is crucial to our team to ensure that all communication is successfully delivered to each team member and keep every team member in the loop. Also, we are able to reach out to an individual teammate when we have questions for specific individuals.

Slack

While Slack is not our main communication tool, our team uses Slack when we need to communicate issues related to development. The Code Snippet feature in Slack allows us to send codes in a clear, optimized format and thus, it is easier for developers to identify the codes that other teammates are referring to.

In-person Meeting

Our team mainly uses in-class time for an in-person meeting. It is for all team members to gather together to discuss project details that can’t be easily conveyed over messages and to go over challenging issues. We also spend the in-person time to work on the project together so we can communicate with each other right away when we encounter problems. All team members agree to stay after class if more in-person time is needed.

Meeting Agenda

Date Agenda
5/8 Work on Homework 6 Verification plan together as a team
5/10 Discuss Homework 7 Release and clarify requirements for the homework
5/15 Confirm requirements and work on implementing and releasing components of the product
5/17 Continue working on release
5/22 Work on Homework 8 Evaluate by coming up with a plan to recruit classmates to run user testings
5/24 Analyze the results from user testings and determine defects
5/29 Work on Homework 9 Patch and repair all the issues
5/31 Prepare project presentation

Facebook Video Chat

The team will use Facebook Video Chat to meet if the team needs extra meeting time but can’t figure out a meeting schedule that works for everyone. During video chat meeting, we will go over the same thing as we normally would during in-person meetings. This is to provide more flexibility and opportunities for the team to work on challenging issues together.

2. What coordination and planning practices will you follow? Identify daily scrums, sprint planning meetings, ad hoc meetings, or other ways of coordinating work.

Once a week in person - after class Tuesdays (TE Lab)

After the given time to discuss assignments on Thursdays, our team agrees on what work to complete. We agree to complete our assigned tasks by Tuesday so that we can gather on Tuesday to discuss our completed work and see what needs improvement or fixing before the final due date of each assignment. Again, we use Facebook Messenger to discuss sudden meeting changes or send meeting reminders about every week’s meeting. Every group member is expected to complete their work in a timely fashion every Tuesday and meet up in the TE Lab as it is in close proximity to where we finish Info 461 lab.

Sprint planning (using Trello)

Trello will be used to assign tasks and track progress with each sprint. Each sprint could be a feature that we will need to complete weekly in order to reach the final shipping date or the final project. Trello is easy to use and get something that represents a sprint burndown chart and a sprint backlog to easily mimic the scrum process. Trello is also easy to use as a collaboration tool as all of our team members can view where we are in the scrum cycle of each sprint.

Weekend online check-ins

After assigning tasks for upcoming assignments (usually after Thursday Info 461 class) we will check in with each other on either Facebook Messenger or Slack to update where we are on our current tasks. This is how we can measure each teammate if we are all still on track on following up with our responsibilities.

Ad hoc meetings if determined necessary during a weekend online meeting

If once a week meetings do not suffice and there are issues with development or homework assignments, we will communicate on Messenger to agree on a meeting time over the weekend.

3. Who will own each of the components in your architecture? (Add short paragraph)

The reason we are splitting them into three developers is to meet the deadlines faster and to distribute task and responsibilities equally. As a result, one developer works only on one component. The reason Kidus is working on Task component is that he has experience with creating Tasks and to-do list in the past. Wesley is familiar with Authentication processes such as sign in/out and account creation. Chris designed the reward component during our design phase and will be working on Reward.

Component Developer Description
Task Kidus Will create a Task component that monitors the task creation, assignment, and removal process. These processes will be done using users direct input.
Sign in/ sign up Wesley Will create a Sign-in / Sign-up component for the creation of users and login of users to the application. User authentication will be implemented with the use of Firebase. Provide a demo of the application simulator that sign-up creates new users in Firebase and after registering, sign-in works as well.
Rewards Chris Will create a Rewards component that monitors the reward process. Theses include rewarding a child based on their accomplishments in handling tasks assigned to them and keep track of their virtual money/points to assign them with badges that could make them certified and a pro at that task.

4. By what date will you have a fully-built (but likely buggy) release candidate?

May 4

  • Can load phone app in the simulator

May 11

  • User can sign up
  • User can sign in
  • Parent can add tasks
  • Child can view tasks
  • Child can accept task

May 18 (Initial release date)

  • Parent can approve completed task
  • Parent can add rewards
  • Child can view rewards
  • Child can redeem reward

May 25

  • Any unfinished features
  • Will be updated as needed

June 1

  • Any unfinished features
  • Will be updated as needed

June 3 (Final release date)

  • Release finalized app

5. What practices will you use to know if you're making progress toward that release candidate?

As mentioned in the planning practices, we will be using trello to track tasks that are currently open. We will implement trello bots into ‘Slack’ to notify any tasks that have deadlines coming up soon. Also, progress checks will be made at each standup meetings with the Trello board. We will discuss what each member is worked on, any roadblocks if any, and what they will be working on. Also to make sure the features members have finished is actually functioning, we will require each member to present a demo of the feature they presented. After the demo, other members will also try out the feature as a user test to see if there are any design that is misleading or lacking.

6. What practices will you follow to improve your process if it's not working?

If we encounter any problems throughout the project that are caused by how the overall process is set up, we will arrange a team meeting to address the problems, investigate the root cause and discuss solutions. We encourage every team member to be vocal and talk openly about how the current process is impacting the way we work in a group and also individually. The team values everyone’s suggestions and will improve the process based on everyone’s opinion to find the best possible approach to work to ensure an effective and productive process.

If we are unable to resolve issues within our team, we will talk to Zubin about our problems first for advice. Zubin would then determine if said issues were serious/important enough to escalate to Andrew. We will seek further advice from Andrew if the problems were not able to be resolved easily.

We require every team member to communicate openly and effectively so if things happen to individuals, such as teammate wants to drop this class, we expect to have the individual to discuss such matters with the rest of the team and work on a solution. If things happen unexpectedly, the team will gather together quickly to come up with a new plan in response to the change.

During the last week of the project, we will do check-ins on work progress with each team member more frequently to ensure that we are strictly following the schedule. If anyone is falling behind the schedule, other teammates should reevaluate workload and offer help to remove blockers / solve challenging problems.

If uncontrollable issues happened, such as GitHub goes down, team members who found the issues should quickly inform the problems to the rest of the team and the team will work together to come up with a temporary plan so that the issues would not stop the workflow.