COMP491 Assignment HW6: Tech Spikes Preparation
This assignment is worth 30 points and is expected to take about three hours for each individual student, although some parts can be completed in teams. As usual, log activity using your Slack live log.
Students pursuing a research or honors project do complete this assignment. Please consult with the instructor to determine appropriate content for the tech spike in your research project.
Introduction
In agile software development a spike is a small side-project done to test an approach or to learn something new. The goal is to learn enough about the approach or the new topic to inform the work on the main project.
Assignment
In this assignment, you will prepare for a spike to learn more about some key technologies used in your project. Specifically, you will:
- analyze your team’s present knowledge and skills as related to your project’s technical requirements;
- identify resources that will help team members begin to fill in missing knowledge and skills.
In the future P1 assignment, you acquire the missing knowledge and skills identified here, then demonstrate the new knowledge and skills in a presentation.
Additional details are given below.
- Concrete steps that you must take are formatted as red bullet points, like this one.
Getting Started
- Create new wiki page named "Tech Spikes", linked from your team's wiki page.
Gap Analysis
A gap analysis is a process that can be used by a business, a team, or an individual to compare their current state to a desired future, and then to set goals to move toward that future. You will use a gap analysis to understand the knowledge skills that your team currently has and the knowledge and skills that you may need to be an effective member of your project’s community. Gap analyses are often performed in a four-step process, as described in this gap analysis template provided by Forbes magazine.
-
Perform a gap analysis for your team, and record
the results under a new header named "Gap Analysis".
- You can use the formal four-step process described on the link above, or a more informal approach. Whichever approach you use, the final result must be a plan describing which knowledge or skills each member of your team plans to acquire.
- These learning tasks could be assigned to individuals or subteams. For concreteness, we refer to each individual or subteam identified here as a tech spike subteam. Each tech spike subteam has a gap: specific knowledge or experience which they must acquire.
- Not every team member must develop knowledge and skills in every area. It is acceptable to develop specializations within your team.
- Carefully study the separate page Basic milestones for the capstone project. This lists five basic milestones that should be achieved before beginning contributions to your H/FOSS project. It may be helpful for one or more of your tech spike subteams to focus on one of these milestones. For example, you could identify a gap which is “learn how to run the test suite for this project.”
- In summary, the Gap Analysis section of your wiki page should list each tech spike subteam together with the gap identified for that subteam.
Learning Resources and Activites
In this part of the activity you identify learning resources and activites to fill in the gaps identified above.
- Add a new header named "Learning Resources and Activities" to your team's Tech Spikes page.
- Each tech spike subteam adds their own subsection to the Learning Resources and Activities section. Populate the subsection with an annotated list of resources (with links) that will provide the knowledge and experience to fill the gap.
Some tips for building this list:
- Use resources that are identified by the project.
- Ask your project community. Using the appropriate communication channel, explain what you are trying to learn and how you think it will help your team engage with he project and ask for suggestions of good resources.
- Do a web search to identify resources (tutorials, lessons, videos, articles, etc.) that will help you begin to fill the gap.
- Examine a large number of resources superficially, then narrow them down to a small number (1-5) that seem the most appropriate.
- Remember that the P1 assignment, due later in the semester, requires you to demonstrate something you have built or achieved during the tech spike. Therefore, choose at least one learning resource that will help you build a demo that is interesting and fun.
Submission
All outputs of this assignment are recorded on your team wiki pages as described above.
Rubric
A good grade can be achieved by: following all instructions accurately; producing material that reflects about three hours of effort per student for this assignment (with evidence of time spent on the Slack live log); employing correct grammar, effective design, and clear presentation of concepts on the relevant wiki pages. For an excellent grade, some evidence of additional research, insight, or thoughtfulness may be required.
Acknowledgment
This assignment is adapted from an assignment authored by Professor Braught.