Web Development Fall-2016
Team Members and Primary Abilities
Roles Subject to Change upon project requirements
The participant roles are subject to change at any time. Each participant will fulfill each role at some point in time during the project. As a precursor, each participant will be assigned a primary function, denoted in the table above. Below is a description of each role.
Project Manager / SCRUM Master - (1 Person)
- Oversees every part of the project. Ensures project members stay on task, meet deadlines, and fulfill requirements as assigned. Product manager is in charge of scheduling meetings, project documentation and oversees the project at every step - keeping a particular close eye on version control, commenting and code quality. Here are some example tasks that the project manager will take a large role in: - Competing product design wireframes - Managing set communication methods - Slack - GitHub Issues - Arranging team deadlines - May be different than actual deadlines to increase productivity - Quality Assurance (QA) - Assists with any portion of the project that needs further work to meet assigned deadlines.
UI Designer(s) - (2 People)
- Tasked with managing the interface of the final project. The UI Designer(s) will work with team members to bring a high quality product, in terms of design, to the portfolio. - Designated person to ensure design of product meets that of project manager's design documentation - Takes feedback from team to ensure reliability and ease of User Interface - Works directly with project manager to create useful and intuitive design - Directs project manager on overall UI using feedback from team members - Provides status updates as designs are completed to the team - Must take every detail into careful consideration. Project manager may change designs, or provide critical feedback, if change may be required. - Creates code for overall UI - Ensures panels work as expected in terms of layout - Ensures classes may be accessed when needed by development team
Analytics Manager / Database Enginner - (1 Person)
- Develops and maintains integrated analytics for overall project. Major tasks include creating necessary classes for custom analytic events, analytics db management where required and notifying development team of critical events that need attention. Task details include: - Integrating solutions such as Google Analytics, Google Firebase, or other analytics engine - Catching all exceptions and reporting them to the analytic event handler - Logging critical events throughout the project to ensure critical de-bugging is (almost) pain-free - Local file events may be helpful to determine common bugs - Sorting of log files may be a handy tool to create as well (independent program - written in Analytic Manager's preferred language) - Creating a data-flow process to inform team of common routes taken by users and where users are having issues - Common analytic references may be helpful: - Time spent on page - Times application loaded per day - Events per button - Sequence of views - Number of users per day - Analytics should be independent of project and should be usable on other projects without changing code.
- Creates and Maintains the database with the assistance of the Project Manager.
- Creates tables using details from project requirements
- Maintains data and troubleshoots errors when required
- Creates functions and methods when necessary
- Maintains additional tables to correlate analytics when required.
Development Team - (2 People)
- Team in charge of overall development of project. This team is designated the task of creating the functional methods and procedures of the application and will integrate the use of the developed UI from the design team. So the work is spread out, the following tasks are designated to this team: - Work directly with the UI Designer(s) to ensure code is synchronous and integrate smoothly - Creates driver class to control all aspects of the program - The Driver program should initialize: - The Main Frame - Analytics References - Static/Const variables - Develops the functionality for each action in the project - If buttons are required, buttons will need event listeners
Project Description will go here. There will be a project summary and list of requirements we must fulfill.
- Requirement #1
- Requirement #2
All links associated with the project will go here. These include items such as repository instructions, IDE setups, additional downloads and similar. For example, I placed the GitHub repo in the list below:
- GitHub Repository
- Slack Team - Send email for invite
- [GitHub Help] (https://github.com/CSUSM-Web-Dev-F2016/f2016-Sem_Project/blob/master/Git_Help.md "GitHub Help by J. Goulet")
- [Markdown Syntax Assistant] (http://www.markitdown.net/markdown)
- [Google Drive Document] (https://docs.google.com/document/d/1P2S9uP9beubHR9Vx3fXBjC6z45Ez7VrTnm_dBRMOlsE/edit)
The repo is currently set to an organization, Software-Engineering-CSUSM so that it is not tied to a single individual, for credit purposes. As such:
- All contributors will be known as collaborators instead of owners.
- All contributors should create their own branches, which will be merged to the master when required.
We may use Slack integrations. Feel free to add any you like
Let's start as soon as we can!
It will be fun