retrospective/retrospective.tex

339 lines
18 KiB
TeX

\documentclass[10pt, draftclsnofoot,onecolumn, compsoc]{IEEEtran}
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
\let\endchangemargin=\endlist
\usepackage{textcomp}
\usepackage{todonotes}
\usepackage{caption}
\usepackage{pgfgantt}
\usepackage{setspace}
\usepackage{parcolumns}
\linespread{1}
\def \CapstoneTeamName{Automated Fenceless Grazing}
\def \CapstoneTeamNumber{CS3}
\def \GroupMemberOne{Ryan Alder}
\def \GroupMemberTwo{Danila Fedorin}
\def \GroupMemberThree{Matthew Sessions}
\def \CapstoneProjectName{Automated Fenceless Grazing}
\def \CapstoneSponsorCompany{Oregon State University}
\def \CapstoneSponsorPerson{Bechir Hamdaoui}
\def \DocType{Retrospective}
\newcommand{\NameSigPair}[1]{\par
\makebox[2.75in][r]{#1} \hfil \makebox[3.25in]{\makebox[2.25in]{\hrulefill} \hfill \makebox[.75in]{\hrulefill}}
\par\vspace{-12pt} \textit{\tiny\noindent
\makebox[2.75in]{} \hfil \makebox[3.25in]{\makebox[2.25in][r]{Signature} \hfill \makebox[.75in][r]{Date}}}}
\begin{document}
\begin{titlepage}
\pagenumbering{gobble}
\begin{singlespace}
% 4. If you have a logo, use this includegraphics command to put it on the coversheet.
%\includegraphics[height=4cm]{CompanyLogo}
\par\vspace{.2in}
\centering
\scshape{
\huge CS Capstone \DocType \par
{\large\today}\par
\vspace{.5in}
\textbf{\Huge\CapstoneProjectName}\par
\vfill
{\large Prepared for}\par
\Huge \CapstoneSponsorCompany\par
\vspace{5pt}
{\large Prepared by }\par
Group\CapstoneTeamNumber\par
% 5. comment out the line below this one if you do not wish to name your team
\CapstoneTeamName\par
\vspace{25pt}
}
\begin{abstract}
The Fenceless Grazing Collar system aims to reduce the amount of work
needed by farmers to keep herds of grazing animals. The project
will be implemented using the LoRa wireless communication protocol to allow
for long-range interaction between animal-worn collars and a gateway device.
The gateway device will also provide an HTTP-based JSON API to apply configuration
changes to collars through an application built for Android mobile devices.
The MariaDB SQL database management system will be used to store the data
received from the collar for viewing and analysis.
\end{abstract}
\end{singlespace}
\end{titlepage}
\pagebreak
\tableofcontents
\pagebreak
\section{Introduction}
This document describes the current state, problems, and future
plans of the Fenceless Grazing Collars project. The FGC system's
purpose is to reduce the amount of manual labor required for herding
large numbers of livestock. The system does so by placing GPS-equipped
collars onto individual animals, and producing a negative stimulus
(either auditory or electrical) to discourage the animals from leaving
user-configured grazing areas. The goal of this project is to
provide a reliable, cost-effective, and accessible replacement
for manual farmer labor.
\section{Current Project State}
At present, the initial design of the project is complete. The project's structure
lends itself very well to division among the three group members, and all
team members' responsibilities have been explicitly defined and agreed upon.
The team members all successfully researched the components of the project that
they are responsible for, and their research has been incorporated into a thorough
design document.
Both the technical reviews produced by the individual team members and the
design document have been validated by the client, and there is consensus
between the team and the client regarding future plans.
With the initial design complete, the project is ready to move into the
implementation stage, with the exception of funding: once the department
provides the team with funding required to purchase the hardware components
specified in the design document, work can begin on implementing an initial
prototype.
\section{Problems}
One of the few problems we had this term was difficulty scheduling meetings in which all
team members could meet with our client. As a result our interaction with our client was
minimal at times, and resulted in only a few meetings over the course of the term. While
this did not prove to be a significant blocker for our work, it did result in some necessary
clarification recently with our client in regards to our vision on how we planned to move forward.
We plan on fixing this problem by scheduling a biweekly meeting with our client at the beginning
of next term. The best way to ensure that our team can keep our client up to date is to have a
definite meeting time, where this meeting time would depend on the finalization of all of our
class schedules.
Another problem we encountered was lack of funding. While this was not an issue at the
beginning of this term, it is looking to be a serious blocker in the near future as our next step
the moment we get back from winter break is to purchase hardware. Ideally, we would make our purchases
prior to our return to school, which would allow the team to start work on the hardware
portion of our project immediately. Our client has approved our hardware proposal, which was the
last step before purchasing. As a team we have discussed this funding with our assigned TA, who
in turn has brought it up to Professors Winters and Fairbanks. In an effort to ensure funding
will be secured as soon as possible, we will continue to follow up with our TA and instructors if necessary.
Our last small problem we came across was in regards to formatting for our different submissions.
Due to our misunderstanding of the provided requirements, we did incorrectly format one of our documents.
Also, towards the beginning of the term we named our files incorrectly, resulting
in the loss of points. In order to ensure that all style guidelines are met in the future, we
will communicate with our TA, other students, and our professors as needed. Prior to asking
others, we will peruse the online documents, modules, and extra links provided to us on Canvas to ensure
that we are not asking questions that have already been answered.
\section{Weekly Progress}
This section provides weekly summaries for every week of our Fall 2019 term for which the
project was active.
\subsection{Week 3}
This was the first week during which we tracked progress. It consisted largely
of drafting, submitting, and merging
the requirements document and problem statements. This went smoothly; each team member
felt confident in their understanding of the project's requirements and the
problem it is solving, likely because our group was offered the project in
the summer before classes had started.
The main problem that we expect to see again in the future is our difficulty in scheduling a
semi-regular meeting with the client: each group member, including the client themselves, are
all exceptionally busy during a given academic term, and for most weeks there is no single time
at which we can all be present for a meeting.
This problem is not significant at this point, however,
because the team has enough information to work for the time being.
\emph{Note: At this point, some members of the team received lower scores
than expected for certain submissions. Since the content of the various
submissions was agreed upon by each team member, the variance in
the received scores was unexpected and has been listed as a "problem". However,
this did not impact the project itself, since one of the submissions
received full points.}
\subsection{Week 4}
This week consisted largely of revisions to the requirements document and
independent research. Team roles have been decided as early as this week:
each team member has a particular "strong suit", and will be playing
to their strengths in implementing this project. Since team roles have
been assigned, and since the team already has a vague understanding
of what components the project will consist of, members are eager to purchase
hardware and begin tinkering. However, a meeting has not yet been established
with the client at this point, and the matter of funding has not yet been
decided. It is not clear at this point who will be financing the hardware
required for the project.
\subsection{Week 5}
During this week, the source of funding was somewhat elucidated by a team
member's individual meeting with the client. The team was informed
that \$300 has been set aside for each Senior Capstone team to help with funding.
The team's TA was asked about this, but was not aware of the details, and
offered to contact Dr. Winters.
While there is not yet an exact date for a meeting with the client, one
is soon to be established. Each group member and the client have provided
times for which they are available, revealing that there were no
time slots during which each individual was available to meet. As such,
one of the group members will likely skip this meeting, and the rest
of the group members will fill them in.
In preparation for the client meeting, team members have been doing further
research into their components of the project. This coincides well with the
first drafts of the technical review, which require exactly the type of
research that the team will present to the client in the meeting.
\subsection{Week 6}
The highlight of this week was the first meeting with the client. This meeting
was scheduled last-minute, but went very well. The team's plan and the client's
expectations were not significantly different. To accommodate the team and
the client's busy schedule, meetings were agreed to be bi-weekly, and made
optional (to prevent wasted time in the event that no new information is
required by the group). During this week, team members wanted to begin
prototyping to accelerate the development and revision of an initial
design. However, the issue of funding remained at this point; a team member noted
"any kind of funding is a long way away" in their individual progress report.
In retrospect, this was not a significant challenge at this time: many changes
were made to the original design during the drafting of the Design Document,
meaning that some purchased hardware might not have been used.
\subsection{Week 7}
During this week, the team completed an initial draft of the Design Document.
This was not written in IEEE 1016-2009 compliant format, and generally
consisted largely of information from the Tech Review. The team was aware
of this, and planned to modify the document to be compliant to IEEE 1016-2009
in the second draft. The first draft was submitted on time and with no other issues.
Since the team was busy with the creation of the design (and the design document),
the issue of funding was not significant at this time. The group member responsible
for the hardware simulated some components of the initial design, in order
to explore the implementation of the project. However, no significant insight
was gained from this, aside from familiarity with the chosen tooling.
\subsection{Week 8}
In this week, the design document was completely transitioned to IEEE 1016-2009 format.
This took a significant amount of work for three reasons: the IEEE spec is very wordy
and needlessly abstracted, the specified perspectives in the IEEE spec were not
entirely covered by the first draft, and a medical emergency temporarily took out a team member.
Despite the difficulties, the assignment was completed before the initial deadline (which
was later postponed), and the team had a chance to verify the content of the design document
with the course's instructors. This helped discover several minor issues with the format
of the document, which were promptly corrected. At this point, the document was
complete however did not include any UML diagrams, which were scheduled to be inserted
over the coming weekened.
Other than the medical emergency and the design document, no significant problems
or progress occurred this week.
\subsection{Week 9}
This was a short week which ended in Thanksgiving, and no significant changes
to the state of the project occurred at this time. The team submitted all the
generated documentation to the client / advisor, but did not receive a
response during this week. No issues were encountered during this time.
\subsection{Week 10}
The entire team, including the client, had a chance to meet and discuss
the submitted documents this week. The client was very satisfied with the results,
but wanted a high-level overview of the system that was not "scattered through
a big document".
At the team level, a new system was introduced to help evenly distribute workload
among team members. A Trello-style board will be used to plan for the tasks
ahead and assign work to members, so that there is a larger degree of personal
responsibility for parts of each assignment.
\pagebreak
\section{Retrospective}
\setlength{\columnseprule}{0.4pt}
\begin{parcolumns}[colwidths={1=0.3\textwidth}]{3}
\colchunk{
\subsection{Positives}
\emph{Week 3:} This week included full completion of the requirements document rough draft and we began merging our problem statements.
The requirements document is very near
complete and we anticipate very little additional work to finish. Our team
reports good division of labour, and initial communication with client
went well.
\emph{Week 4:} Good work has been put into researching the specific
hardware we will need for our project. Specifics into the protocol
and communication between modules has been decided on well prior
to the design document. Professor Hamdaoui is aware of our progress
and mentioned we are ready for funding. Lastly, we have completed
the requirements document and are pleased with our work on it.
\emph{Week 5:} All team members have completed their tech reviews
with no problems to report. Our team met with our client, who was
pleased with our work so far and continued to mention funding, and
asked for some form of presentation in regards to our hardware
decisions.
\emph{Week 6:} A biweekly meeting has been setup with our client
to discuss current status. All tech reviews have been completed,
and the meeting with our client went very well, with plans to talk
more in the future.
\emph{Week 7:} Design document has been fully completed and
submitted, fully packed with specific information on how we will
complete our project.
\emph{Week 8:} Design document has been sent to our client for
review. We are one step closer to funding as the question has been
posed to both our TA and the professors.
\emph{Week 9:} We culminated our finalized work and sent it to our
client for review.
\emph{Week 10:} We met with our client in regards to our submitted
documents. Our client, Professor Hamdaoui, was really receptive to
our work and is excited for us to get our hands on the hardware in
order to begin the actual project.
}
\colchunk{
\subsection{Deltas}
The product still needs to acquire funding from Senior Capstone. Collars make up a big part of the
Fenceless Grazing System, which are entirely implemented using embedded hardware, and the client
wants to have a functioning collar prototype by the end of the year. As such, funding is needed
to purchase components for the collars, as well as for the API server that will power the Android
application component of the project.
The team must do a better job of understanding the CS46x-specific requirements for each document. Quite some
points were lost on the assignments, in ways that were not anticipated.
The team must change the means of distributing tasks. The method used in this term,
which was heavily based on individual initiative, led to an improper distribution of
work and time.
Although one of the requirements for the project is the usage of the LoRa long range
communication protocol, the team is not very familiar with the protocol's details.
This has not been an issue for the documentation stage; the design document could
be written with sufficient thoroughness. However, to proceed with the implementation
of the LoRa gateway (device responsible for communicating with the collars), as well
as the collars themselves, a more in-depth understanding of the LoRa protocol
is required.
}
\colchunk{
\subsection{Actions}
In order to secure funding, we will directly reach out to Dr. Winters at the beginning
of the next term.
To address the issue of misunderstood assignments, the team will aim to complete
them a week before they are due, when possible. This way, an individual appointment
can be scheduled with Dr. Winters, and feedback can be acquired on existing drafts.
In order to make sure that the assignments are done a week before they are due,
the new work mangement system (described below) will be used.
The poor distribution of work will be solved by using task management software, and
assigning team members to individual tasks. The team anticipates using Trello
for this purpose (or alternatively GitHub projects). A team member will be chosen
to assign and manage tasks. This way, a specific person will be responsible for
assigning tasks, rather than relying on initiative like was done before. Assigning
team members to individual tasks will serve the same purpose.
To address the lack of understanding of the LoRa protocol, all members of the team will spend
the first week of the next term reading the LoRa documentation. Although only
two members of the team must work in-depth with LoRa, an understanding of the protocol
will be useful to every member.
}
\end{parcolumns}
\end{document}