\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 23rd of december the must 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
		3 Dec 2015 & 1--2\\
		9 Dec 2015 & 3--5\\
		16 Dec 2015 & 6--9\\
		23 Dec 2015 & 10--11\\
		\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}
