<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass{article}

\usepackage{pdfpages}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{hyperref}


\title{SE 3XA3: Development Plan\\Title of Project}

\author{Team \# 30, VUA30
		\\ Vaibhav Chadha , chadhav
		\\ Usman Irfan , irfanm7
		\\ Andy Hameed , hameea1
}

\date{}



\begin{document}

\begin{table}[hp]
\caption{Revision History} \label{TblRevisionHistory}
\begin{tabularx}{\textwidth}{llX}
\toprule
\textbf{Date} &amp; \textbf{Developer(s)} &amp; \textbf{Change}\\
\midrule
Sept 25, 2018 &amp; Vaibhav, Usman, Andy &amp; Worked on part 1 to 4\\
Sept 27, 2018 &amp; Vaibhav, Usman, Andy &amp; Worked on part 4 to 8\\
Sept 28, 2018 &amp; Andy &amp; Proof of concept, Git workflow, Final editing and formatting\\
... &amp; ... &amp; ...\\
\bottomrule
\end{tabularx}
\end{table}

\newpage

\maketitle


\section{Team Meeting Plan}
Meetings will be held \textbf{twice a week} at the following times:
\begin{itemize}
\item Mondays 5:30 - 6:30 pm at KTH Computer Labs
\item  Wednesdays 12:30 to 2:00pm at Health science library
\end{itemize}

\subsection{Roles and Agenda}

\textbf{Chair}: Andy Hameed
\begin{itemize}
	\item Responsible for creating the agenda and selecting topics that pertain to all team members
	\item Agenda items will be listed as questions\\
\end{itemize}
\textbf{Notettaker}: Usman Irfan
\begin{itemize}
	\item Responsible for taking meeting minutes
	\item Meeting decisions will be summarized in a statement at the end of the meeting
\end{itemize}
\textbf{Timekeeper}: Vaibhav Chadha
\begin{itemize}
	\item Keeps track of time in case we are spending too much time on one topic
\end{itemize}

\section{Team Communication Plan}

Main source of communication is \textbf{Facebook Messenger}. Phone and texting will be used as a backup in case of urgent matters.

Andy Hameed: 647-927-6093
Usman Irfan: 416-878-7844
Vaibhav Chadha: 647-454-5182

\section{Team Member Roles}

Vaibhav Chadha:
\begin{itemize}
\item Latex Documentation
\item Analyst - makes sure the requirements of the clients are met through the software
\item gantt chart management\\
\end{itemize}
Usman Irfan: 
\begin{itemize}
\item Scribe
\item technology research
\item operation manager -ensures project development is running smoothly and software is being developed according to milestones \\
\end{itemize}
Andy Hameed:

\begin{itemize}
\item Final editing
\item latex documentation
\item team leader\\
\end{itemize}

All: 
\begin{itemize}
\item GIT project management
\end{itemize}

\section{Git Workflow Plan}
We will be using the Git Feature Branch Workflow to manage the software development. Using branches, each team member is capable of 
working on different modules or sections of the software at the same time in localized branches, before pushing their changes to the master branch.

\section{Proof of Concept Demonstration Plan}
The original project is built using javascript, HTML and CSS in contrast to our development plan using python and the kivy GUI library. Since we are using an OOP language, we will be able to create classes different component of the snake game such as the snake unit block, snake body, and snake bate. The hardest part of the implementation will be the movement of the snake according to the user's keyboard inputs, and second to that would be the process of expanding the snake once an a food item is captured. Besides that, the interface may be difficult to implement in python but could be simple with the use of a python framework such as PyQT5. Once our game application has been developed the next part would be test the project and for that we will be using pytest, since our backend language is python this will help us test all possible functions and aspects. The functions that will be difficult to test would be to see if the snake eats the food, does the food appear at random locations after eaten by the snake and if the snake tries to cross the maze does it die. Last but not least, portability would not be an issue for this application as it is an online application it can easily be accessible by any computing device. 

\section{Technology}

Coding Language: Python, Kivy for GUI\\
IDE: IDLE scripting\\
Testing: PyUnit testing\\
Documentation: Doxygen\\

\section{Coding Style}

We will be using the \href{https://github.com/google/styleguide/blob/gh-pages/pyguide.md}{Google Python Style Guide}
for our coding style

\section{Project Schedule}
Please see teh following pages for the project schedule in the form of a gantt chart

\includepdf[page=-]{Team_Gantt}

\section{Project Review}

\end{document}</pre></body></html>