Protein Separation Simulation Project

Development Methodology

Summary

The Protein Pioneer team has decided to utilize an agile methodology. This methodology lends itself well to producing artifacts, tracking progress, integrating with our chosen tools, producing metrics, and interfacing with the sponsor.

With an agile approach, we will be utilizing a Jira board to track the organizational aspects of labor tracking and effort. Each Tuesday meeting, the members of the team will review the state of the Jira board and either create or update stories depending on their respective progress. Members of the team should be in charge of updating the board throughout the week if progress or updates are relevant. Our Thursday meetings with our coach and sponsor will generate feedback on our current progress, and any specific areas that should be focussed on. Our coach and sponsor are able to view our Jira board, so they can be as involved in our operations as they would like.

At the end of each sprint, Jira will automatically generate several helpful reports that we may utilize as a portion of our total metrics. These reports include a burndown chart, to visualize the rate at which work was completed, a velocity chart, which is a running average of total points completed, as well as a running count of the total number of points that have been completed. These reports will be used in conjunction with our own generated metrics to track our progress. Total SLOCs will be counted, and in order to ensure code quality, test case passing percentages as well as total code coverage will be used.

In addition to the test case artifacts, code quality will be ensured through stringent developer reviews, in which all relevant members of the team will participate. Prior to any developer review, however, incremental progress of features will be shown to the sponsor during our Thursday meetings to gauge feedback and concerns.

With each successful developer review, a stable baseline will be generated as an artifact. At the beginning of our project, an initial domain model has been created, which as development increases, will be updated accordingly as a living artifact.

Team roles have been initially defined, but may change depending on which aspects of the project need the most attention. Technically, the following roles have been established:

  • Cameron - Back-end
  • Toula - Front-end
  • Castor - Front-end
  • Jackson - Networking
  • Bryson - Testing

In addition to these roles, certain organizational roles have been filled as follows:

  • Cameron - Scrum master/team communicator
  • Toula - Team Leader
  • Castor - Website manager

As mentioned previously, these roles will rotate as the project progresses.