181 lines
7.7 KiB
TeX
181 lines
7.7 KiB
TeX
\chapter{Project Management}
|
|
\section{Project Plan}
|
|
At the beginning of the project, a project plan was created to plan all of the
|
|
work. That original plan can be found in \autoref{section:plan}. During the
|
|
lifetime of the project, the plan was updated to reflect the actual state of
|
|
the project. That adjusted plan can be found in \autoref{section:actual_plan}.
|
|
|
|
For the first few weeks, I managed to match my initial plan pretty well. I
|
|
spent a bit more time than I'd like on the concrete selection of my subject.
|
|
First I planned to use a speaker as the sending device in MagSend, as a
|
|
magnetic field is generated, when a sound is played through the speaker. After
|
|
multiple tests and experiments I wasn't able to get useful results from the
|
|
speakers and settled on using a CPU after some quick prototypes.
|
|
|
|
In October, after defining the requirements for the project, my plan fell
|
|
apart as I fell ill with COVID-19. I was sick for about 3 weeks and in that
|
|
time I wasn't able to work on my thesis. This whole event caused my plan to
|
|
shift behind a few weeks. I was generous in my initial planning, which helped
|
|
alleviate this issue.
|
|
|
|
In November, I picked up the pace again and started with the planning and
|
|
documentation of the solution, and then started to work on the prototypes for
|
|
the sender and receiver. I spent a bit longer on the prototype for the
|
|
receiver as in early December I was busy with some other projects and exams.
|
|
|
|
During the winter break and in early January, I in the process of finishing up
|
|
the thesis report and the additional deliverables like the poster and movie. In
|
|
the end it was a bit of a crunch to finish everything but thanks to some
|
|
generous planning in the beginning it all worked out.
|
|
|
|
\begin{sidewaysfigure}
|
|
\subsection{Initial Plan}
|
|
\label{section:plan}
|
|
\begin{ganttchart}[
|
|
vgrid,
|
|
hgrid,
|
|
bar/.append style={fill=green!90},
|
|
x unit=0.8cm,
|
|
y unit chart=0.5cm,
|
|
y unit title=0.5cm, % height of title line and gap
|
|
title height=1 % use full height for title, leaving no gap
|
|
]{1}{18}
|
|
\gantttitle{Project Plan}{18}
|
|
\\
|
|
|
|
\gantttitlelist{1,...,18}{1}
|
|
\\
|
|
|
|
\gantttitle{September}{2}
|
|
\gantttitle{October}{4}
|
|
\gantttitle{November}{5}
|
|
\gantttitle{December}{4}
|
|
\gantttitle{January}{3}
|
|
\\
|
|
|
|
\ganttbar{Prepare Thesis Document}{1}{2} \\
|
|
\ganttbar{Create Project Plan}{1}{2} \\
|
|
\ganttbar{Research Other Solutions}{1}{2} \\
|
|
\ganttbar{Experiment with Hardware}{1}{2} \\
|
|
\ganttbar{Write Introduction}{2}{2} \\
|
|
\ganttbar{Define Use Cases \& Personas}{3}{3} \\
|
|
\ganttbar{Define Requirements}{3}{4} \\
|
|
\ganttbar{Plan Solution}{5}{6} \\
|
|
\ganttbar{Document Solution}{5}{6} \\
|
|
\ganttbar{Define Test Cases}{6}{6} \\
|
|
\ganttbar{Prepare Hardware for Prototype}{7}{7} \\
|
|
\ganttbar{Create Prototype for Sender}{7}{9} \\
|
|
\ganttbar{Create Prototype for Receiver}{8}{10} \\
|
|
\ganttbar{Testing}{11}{12} \\
|
|
\ganttbar{Benchmarking}{11}{12} \\
|
|
\ganttbar{Document Materials \& Methods}{13}{13} \\
|
|
\ganttbar{Document Future Work}{13}{13} \\
|
|
\ganttbar{Create Abstract}{14}{14} \\
|
|
\ganttbar{Create Poster}{14}{15} \\
|
|
\ganttbar{Create Movie}{16}{16} \\
|
|
\ganttbar{Finish Thesis Report}{16}{17} \\
|
|
\ganttbar{Prepare Presentations}{17}{18}
|
|
\end{ganttchart}
|
|
\caption{Project Plan}
|
|
\end{sidewaysfigure}
|
|
|
|
\begin{sidewaysfigure}
|
|
\subsection{Actual Plan}
|
|
\label{section:actual_plan}
|
|
\begin{ganttchart}[
|
|
vgrid,
|
|
hgrid,
|
|
bar/.append style={fill=green!90},
|
|
x unit=0.8cm,
|
|
y unit chart=0.5cm,
|
|
y unit title=0.5cm, % height of title line and gap
|
|
title height=1 % use full height for title, leaving no gap
|
|
]{1}{18}
|
|
\gantttitle{Project Plan}{18}
|
|
\\
|
|
|
|
\gantttitlelist{1,...,18}{1}
|
|
\\
|
|
|
|
\gantttitle{September}{2}
|
|
\gantttitle{October}{4}
|
|
\gantttitle{November}{5}
|
|
\gantttitle{December}{4}
|
|
\gantttitle{January}{3}
|
|
\\
|
|
|
|
\ganttbar{Prepare Thesis Document}{1}{2} \\
|
|
\ganttbar{Create Project Plan}{1}{1} \\
|
|
\ganttbar{Research Other Solutions}{2}{2} \\
|
|
\ganttbar{Experiment with Hardware}{1}{3} \\
|
|
\ganttbar{Write Introduction}{3}{3} \\
|
|
\ganttbar{Define Use Cases \& Personas}{3}{4} \\
|
|
\ganttbar{Define Requirements}{3}{4} \\
|
|
\ganttbar{COVID-19}{4}{6} \\
|
|
\ganttbar{Plan Solution}{7}{8} \\
|
|
\ganttbar{Document Solution}{7}{8}
|
|
\ganttbar{}{17}{17} \\
|
|
\ganttbar{Define Test Cases}{8}{9} \\
|
|
\ganttbar{Create Prototype for Sender}{9}{10} \\
|
|
\ganttbar{Create Prototype for Receiver}{11}{13}
|
|
\ganttbar{}{15}{15} \\
|
|
\ganttbar{Testing}{14}{15} \\
|
|
\ganttbar{Benchmarking}{14}{15} \\
|
|
\ganttbar{Document Materials \& Methods}{16}{16} \\
|
|
\ganttbar{Document Future Work}{16}{16} \\
|
|
\ganttbar{Create Abstract}{16}{16} \\
|
|
\ganttbar{Finish Thesis Report}{15}{18} \\
|
|
\ganttbar{Create Poster}{16}{17} \\
|
|
\ganttbar{Create Movie}{18}{18} \\
|
|
\ganttbar{Prepare Presentations}{18}{18}
|
|
\end{ganttchart}
|
|
\caption{Project Plan}
|
|
\end{sidewaysfigure}
|
|
|
|
\newpage
|
|
\section{Organization}
|
|
All data for the project, including documentation, images, data, and source
|
|
code was kept in a single Git repository \cite{MagSendGit}. The documentation
|
|
and presentations were written using LaTeX with the official BFH templates.
|
|
|
|
\subsection{Meetings}
|
|
In the first week I agreed on weekly meetings with my advisor, unless it
|
|
wasn't needed. For the big meetings I created a meeting notes document in
|
|
advance, where I wrote down my progress since the last week and questions that
|
|
I might have for my advisor. In hindsight, weekly meeting were a bit too
|
|
frequent and bi-weekly meeting would have sufficed, but it was useful to have
|
|
regular feedback from my advisor.
|
|
|
|
\subsection{Mockups}
|
|
During the planning of the solution, I created multiple mockups of the planned
|
|
website and app screens. To create the mockups, I used the open-source design
|
|
tool Penpot \cite{penpot}.
|
|
|
|
\newpage
|
|
\section{Conclusion}
|
|
The project, albeit with some issues, was finished in time. The initial plan
|
|
was only met for the beginning as the sickness delayed the rest of the tasks.
|
|
This delay caused the last few of weeks of the project to be more stressful
|
|
as I'd have liked, but thanks to generous planning it worked out.
|
|
|
|
One of the biggest things in terms of project management I can improve for the
|
|
next project is to plan everything a bit more. While I had some rough planning
|
|
with my project plan, the individual points, especially the development of the
|
|
prototypes were not fully planned. By splitting those tasks up in smaller ones,
|
|
I could have planned around them better and might have found some flaws in the
|
|
plan.
|
|
|
|
The other problem was with the debugging and developing of the Android
|
|
application. Many times I was testing the receiving of data over MagSend, when
|
|
it didn't work, while it worked just in the try before. After much trial and
|
|
error I found out that one of the main issues was that the logging capabilities
|
|
of Android were quite slow and sometimes delayed the values from the magnetic
|
|
sensor and caused wrong results, that didn't appear in normal utilization of
|
|
the app. My takeaway from this is, to invest early in good logging and
|
|
debugging utilities, especially when dealing with "invisible" data, such as
|
|
magnetic fields and to use separate devices for running the applications
|
|
as those used for developing them.
|
|
|
|
In the end, I'm happy with the project and my results. I managed to develop a
|
|
custom communication protocol and finish a working prototype in the allotted
|
|
time.
|