\section{Development Plan}
+The development plan is written following the spiral software development model
+in which all requirements are divided into small iterations. Each of the
+iterations will have an implementation phase, a testing phase, an analysis
+phase, and a design phase. Furthermore, each of the iterations will have goals
+and results. The iterations and their deliverables are listed in
+\autoref{tab:devit}. The schedule for finishing iterations are listed in
+\autoref{tab:deadli}. On the 6th of January the must-have should be finished
+and if they are we try to complete as many iterations as possible.
+\begin{table}[h!]
+ \centering
+ \begin{tabu} to \linewidth{llX}
+ \toprule
+ Deadline & Iterations\\
+ \midrule
+ 9 Dec 2015 & 1--2\\
+ 16 Dec 2015 & 3--5\\
+ 23 Dec 2015 & 6--9\\
+ 6 Jan 2015 & 10--11\\
+ 13 Jan 2015 & Demo\\
+ \bottomrule
+ \end{tabu}
+ \caption{Deadlines}\label{tab:deadli}
+\end{table}
+\begin{table}[h!]
+ \centering
+ \begin{tabu} to \linewidth{rlXX}
+ \toprule
+ It. & Req. & Description & Deliverables\\
+ \midrule
+ 1 & NR1 & Create a DSL for MarsRover's missions to use available
+ sensors and actuators. & \texttt{TaskDSL.xtext}\\
+ 2 & ER3 & Implement diagnostic functions that print on the \emph{LCD}.
+ & A \emph{LCD} class that prints to the \emph{LCD} screen.\\
+ 3 & - & Implement functions in the code generation for basic motor the
+ motor actions: forward, backward, measure rock, measure lake and
+ wait. & Code
+ generation for motors\\
+ 4 & - & Implement functions in the code generation for communicating
+ the sensors from the slave to the master. & Functions in the master
+ program to read the slave's sensors.\\
+ 5 & - & Create functionality for sensor values and determine the
+ treshholds manually. & Code generation for sensors and threshhold
+ constants.\\
+ 6 & CR1 & Create functionality to keep the MarsRover in the planet. &
+ A generatable behaviour to stay on the planet.\\
+ 7 & MR3 & Create functionality for not bumping into rocks. & A
+ generatable behaviour to not bump into rocks.\\
+ 8 & MR1 & Create functionality to find lakes. & A generatable mission
+ to find lakes.\\
+ 9 & MR6 & Create functionality to perform missions in sequence. & A
+ generatable main program that performs missions.\\
+ 10 & MR2, MR4& Create functionality to find rocks. & A generatable
+ mission to find rocks.\\
+ 11 & MR5 & Create functionality to push rocks and detect when the
+ robots is pushing. & A generatable behaviour for pushing.\\
+ 12 & MR7 & Create functionality to find the parking space. & A
+ generatable behaviour that can find the parking space.\\
+ 13 & MR8, ER1 & Create functionality to map the environment and to
+ localize. & A generatable behaviour that can map while
+ performing.\\
+ 14 & ER2 & Create functionality to play sounds. & Add a generatable
+ function for playing sounds.\\
+ 15 & NR3, NR4 & Create functionality to calibrate the sensor
+ treshholds. & A generatable function to calibrate the sensors.\\
+ 16 & NR5 & Create functionality that when the robot encounters bugs it
+ can restart itself. & Functionality in the main program to do so.\\
+ 17 & - & Speed up the behaviour of the robot within safety limits.\\
+ \bottomrule
+ \end{tabu}
+ \caption{Spiral model iterations}\label{tab:devit}
+\end{table}