From 121d996d9625e08fe9bc4a828655278fbfa711c6 Mon Sep 17 00:00:00 2001 From: Giulio De Pasquale Date: Thu, 19 Jan 2017 12:47:58 +0100 Subject: [PATCH] Chap 4 stub --- 4.Project Management/Planning.lyx | 1833 +++++++++++++++++++++++++++++ 1 file changed, 1833 insertions(+) create mode 100644 4.Project Management/Planning.lyx diff --git a/4.Project Management/Planning.lyx b/4.Project Management/Planning.lyx new file mode 100644 index 0000000..c8959b2 --- /dev/null +++ b/4.Project Management/Planning.lyx @@ -0,0 +1,1833 @@ +#LyX 2.2 created this file. For more info see http://www.lyx.org/ +\lyxformat 508 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass article +\begin_preamble +\usepackage{listings} +\usepackage{xcolor} +\usepackage{pdflscape} +\usepackage{courier} +%\usepackage{mathtools} +\usepackage{graphicx} +\usepackage{booktabs} +\usepackage[T1]{fontenc} +\usepackage{lmodern} + +\usepackage{listings} +\lstset{columns=fullflexible} + +\usepackage{charter} + +\usepackage{xspace} +\usepackage{algorithmicx} +\usepackage{algpseudocode} + + +% Definizione intestazioni e pie' di pagina +\usepackage{fancyhdr} + +% _____________________________ +\lstdefinelanguage{JS}{ +keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break}, +keywordstyle=\color{blue}\bfseries, +ndkeywords={class, export, boolean, throw, implements, import, this}, ndkeywordstyle=\color{darkgray}\bfseries, +identifierstyle=\color{black}, +sensitive=false, +comment=[l]{//}, +morecomment=[s]{/*}{*/}, +commentstyle=\color{purple}\ttfamily, +stringstyle=\color{red}\ttfamily, +morestring=[b]', +morestring=[b]" +} + + +\definecolor{dkgreen}{rgb}{0,0.6,0} +\definecolor{gray}{rgb}{0.5,0.5,0.5} +\definecolor{mauve}{rgb}{0.58,0,0.82} +\lstset{frame=tb, +language=JS, +aboveskip=3mm, +belowskip=3mm, +showstringspaces=false, +columns=flexible, +basicstyle={\small\ttfamily}, +numbers=none, +numberstyle=\tiny\color{gray}, +keywordstyle=\color{blue}, +commentstyle=\color{dkgreen}, +stringstyle=\color{mauve}, +breaklines=true, +breakatwhitespace=true, +tabsize=3 } + +% _____________________________ +\end_preamble +\use_default_options true +\begin_modules +InStar +graphicboxes +fix-cm +fixltx2e +fixme +customHeadersFooters +pdfform +\end_modules +\maintain_unincluded_children false +\begin_forced_local_layout +Format 60 +Style "In Preamble" + Category "FrontMatter" + Margin Static + LatexType Paragraph + InTitle 0 + InPreamble 1 + TocLevel -1000 + NeedProtect 0 + KeepEmpty 0 + NextNoIndent 0 + CommandDepth 0 + LatexName "dummy" + ItemCommand item + LabelType No_Label + EndLabelType No_Label + ParagraphGroup "0" + ParIndent MM + ParSkip 0.4 + ItemSep 0 + TopSep 0 + BottomSep 0 + LabelBottomSep 0 + ParSep 0 + NewLine 1 + Align Block + AlignPossible Block, Center, Layout, Left, Right + FreeSpacing 0 + PassThru 0 + ParbreakIsNewline 0 + RefPrefix OFF + HTMLLabelFirst 0 + HTMLStyle +div.standard { +margin-bottom: 2ex; +} + EndHTMLStyle + HTMLForceCSS 0 + HTMLTitle 0 + Spellcheck 1 + ForceLocal 1 +End +Style "In Title" + Category "FrontMatter" + Margin Static + LatexType Paragraph + InTitle 1 + InPreamble 0 + TocLevel -1000 + NeedProtect 0 + KeepEmpty 0 + NextNoIndent 0 + CommandDepth 0 + LatexName "dummy" + ItemCommand item + LabelType No_Label + EndLabelType No_Label + ParagraphGroup "0" + ParIndent MM + ParSkip 0.4 + ItemSep 0 + TopSep 0 + BottomSep 0 + LabelBottomSep 0 + ParSep 0 + NewLine 1 + Align Block + AlignPossible Block, Center, Layout, Left, Right + FreeSpacing 0 + PassThru 0 + ParbreakIsNewline 0 + RefPrefix OFF + HTMLLabelFirst 0 + HTMLStyle +div.standard { +margin-bottom: 2ex; +} + EndHTMLStyle + HTMLForceCSS 0 + HTMLTitle 0 + Spellcheck 1 + ForceLocal 1 +End +\end_forced_local_layout +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\graphics default +\default_output_format default +\output_sync 1 +\bibtex_command default +\index_command default +\float_placement H +\paperfontsize default +\spacing single +\use_hyperref true +\pdf_bookmarks true +\pdf_bookmarksnumbered false +\pdf_bookmarksopen false +\pdf_bookmarksopenlevel 1 +\pdf_breaklinks false +\pdf_pdfborder false +\pdf_colorlinks false +\pdf_backref false +\pdf_pdfusetitle true +\papersize default +\use_geometry true +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\index Index +\shortcut idx +\color #008000 +\end_index +\leftmargin 2.5cm +\rightmargin 2.5cm +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{titlepage} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + +\end_layout + +\begin_layout Plain Layout + + +\backslash +newcommand{ +\backslash +HRule}{ +\backslash +rule{ +\backslash +linewidth}{0.5mm}} +\end_layout + +\begin_layout Plain Layout + + +\backslash +center +\end_layout + +\begin_layout Plain Layout + + +\backslash +textsc{ +\backslash +LARGE Politecnico di Milano} +\backslash + +\backslash +[1.5cm] +\backslash +textsc{ +\backslash +Large PowerEnjoy} +\backslash + +\backslash +[0.5cm] +\end_layout + +\begin_layout Plain Layout + + +\backslash +textsc{ +\backslash +Large Software Engineering 2} +\backslash + +\backslash +[0.5cm] +\end_layout + +\begin_layout Plain Layout + +\end_layout + +\begin_layout Plain Layout + + +\backslash +HRule +\backslash + +\backslash +[0.4cm] { +\backslash +huge +\backslash +bfseries Project Planning} +\backslash + +\backslash +[0.4cm] +\backslash +HRule +\backslash + +\backslash +[1.5cm] +\end_layout + +\begin_layout Plain Layout + + +\backslash +begin{minipage}{0.4 +\backslash +textwidth} +\backslash +begin{flushleft} +\backslash +large +\backslash +emph{Authors:} +\backslash + +\backslash + Giancarlo +\backslash +textsc{Colaci} +\backslash +newline Giulio +\backslash +textsc{De Pasquale} +\backslash +newline Francesco +\backslash +textsc{Rinaldi} +\backslash +end{flushleft} +\backslash +end{minipage} ~ +\backslash +begin{minipage}{0.4 +\backslash +textwidth} +\backslash +begin{flushright} +\backslash +large +\backslash +emph{Supervisor:} +\backslash + +\backslash + Elisabetta +\backslash +textsc{De Nitto} +\backslash +end{flushright} +\backslash +end{minipage} +\backslash + +\backslash +[3cm] +\end_layout + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Graphics + filename ../3.Integration Test Plan Document/res/img/logopm.pdf + width 30text% + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +vfill +\end_layout + +\begin_layout Plain Layout + +{ +\backslash +large +\backslash +today} +\backslash + +\backslash +[3cm] +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{titlepage} +\end_layout + +\end_inset + + +\begin_inset Newpage newpage +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +mbox{} +\backslash +thispagestyle{empty} +\backslash +newpage +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Newpage newpage +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset CommandInset toc +LatexCommand tableofcontents + +\end_inset + + +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +thispagestyle{empty} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Newpage newpage +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +setcounter{page}{1} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Section +Introduction +\end_layout + +\begin_layout Subsection +Revision History +\end_layout + +\begin_layout Standard +\align center +\begin_inset Tabular + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Version +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Date +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Author(s) +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Summary +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +1.0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +19/01/2017 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Giancarlo Colaci, Giulio De Pasquale, Francesco Rinaldi +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Initial Release +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Subsection +Reference Documents +\end_layout + +\begin_layout Standard +Reference documents LAL +\end_layout + +\begin_layout Section +Function Points: size estimation +\end_layout + +\begin_layout Subsection +Overview +\end_layout + +\begin_layout Standard +The Function Point approach is a very useful tool for estimating the effort + needed in designing and coding a project. + Several aspects are considered for the estimation, as prescribed by the + specifications. +\end_layout + +\begin_layout Itemize +Internal Logic Files: homogeneous set of data handled by the application + being developed; +\end_layout + +\begin_layout Itemize +External Interface Files: homogeneous set of data managed by the ap- plication + but created elsewhere; +\end_layout + +\begin_layout Itemize +External Input: operation invoked for doing a simple operation on the system + with external data (for example, user registration, booking a cab. + . + . + ); +\end_layout + +\begin_layout Itemize +External Inquiry: operation that involves both input and output, mainly + for retrieving information from the system; +\end_layout + +\begin_layout Itemize +External Output: system operation producing data for the external en- vironment. + For each point a counting weight (Low, Avg. + or High) has been given according to the parameters specified in Figure + 1(a). + After that, a certain amount of FPs has been calculated for each section + according to Figure 1(b). +\end_layout + +\begin_layout Subsection +Internal Logic Files +\end_layout + +\begin_layout Standard +LAL +\end_layout + +\begin_layout Subsection +External Interface Files +\end_layout + +\begin_layout Standard +LAL +\end_layout + +\begin_layout Subsection +External Input +\end_layout + +\begin_layout Standard +LAL +\end_layout + +\begin_layout Subsection +External Inquiry +\end_layout + +\begin_layout Standard +LAL +\end_layout + +\begin_layout Subsection +External Output +\end_layout + +\begin_layout Standard +LAL +\end_layout + +\begin_layout Subsection +Results +\end_layout + +\begin_layout Standard +LAL 10/10 +\end_layout + +\begin_layout Section +COCOMO® : effort & cost estimation +\end_layout + +\begin_layout Subsection +Overview +\end_layout + +\begin_layout Standard +The COCOMO R II Cost Estimation Model is a complex estimation technique + used by thousands of software engineers all over the world. + It is used to estimate the effort cost of a software engineering project. + The core of COCOMO R II is the use of the Effort Equation to estimate the + number of Person/Month required to develop a complex project. +\end_layout + +\begin_layout Subsection +Scale Drivers +\end_layout + +\begin_layout Standard +In this section we will talk about COCOMO R II Scale Drivers. + They are a significant source of exponential variation on a project effort. + Each driver has a range of rating levels, from Very Low to Extra High, + each with its own rate. + +\end_layout + +\begin_layout Paragraph +PREC +\end_layout + +\begin_layout Standard +Precedentedness. + This driver reflects the previous experience that developers have in this + field. + Actually, this is our first experience, so we think the best value for + our team is Low. + +\end_layout + +\begin_layout Paragraph +FLEX +\end_layout + +\begin_layout Standard +Development flexibility. + This driver will change due to our flexibility degree in the development. + Our schedule is quite strict, so we choose Low for this project. + +\end_layout + +\begin_layout Paragraph +RESL +\end_layout + +\begin_layout Standard +Risk resolution. + It reflects the extension of risk analysis. + A very low value means we have done a little analysis, high means a complete + risk analysis. + We choose High because we did a detailed analysis (Chapter 5). + +\end_layout + +\begin_layout Paragraph +TEAM 5 +\end_layout + +\begin_layout Standard +Team cohesion. + This value is correlated to how well the development team know each other. + In this case we are a very cooperative team, so Very high value is our + choice. +\end_layout + +\begin_layout Paragraph +PMAT +\end_layout + +\begin_layout Standard +Process maturity. + This parameter reflects the process maturity of the organizazion. + In partic- ular, this parameter has been choosen according to a weighted + average of “Yes” answers to CMM Maturity Questionnaire. + In our case we have chosen High (CMM Level 3). +\end_layout + +\begin_layout Subsection +Cost Drivers +\end_layout + +\begin_layout Standard +These are the effort multipliers used in COCOMO R II model to adjust the + nominal effort. + +\end_layout + +\begin_layout Paragraph +RELY +\end_layout + +\begin_layout Standard +Required Software Reliability This is the measure of software reliability. + Nominal is our choice for this case because a downtime would not lead to + high financial losses but will cause problems to passengers. +\end_layout + +\begin_layout Paragraph +DATA +\end_layout + +\begin_layout Standard +Database Size This values tries to estimate effects that large databases + could have in our application. + We do not have a test database, so we use Nominal as value. +\end_layout + +\begin_layout Paragraph +CPLEX +\end_layout + +\begin_layout Standard +Product Complexity According to [10, Table 20], our software could be marked + as Nominal. +\end_layout + +\begin_layout Paragraph +RUSE +\end_layout + +\begin_layout Standard +Required Reusability Reusability is useful. + Some parts should be designed as reusable (e.g. + Mobile communication drivers). + Those parts could be used not only in this project. + High is our choice here. +\end_layout + +\begin_layout Paragraph +DOCU +\end_layout + +\begin_layout Standard +Documentation match to lifecycle needs This is a cost driver for the level + of required documentation. + In our case it is suitable as Nominal. +\end_layout + +\begin_layout Paragraph +TIME +\end_layout + +\begin_layout Standard +Execution Time Constraint This is a measure of the execution time constraint. + We don’t have strict constraints in this case, so we will set it as Low. +\end_layout + +\begin_layout Paragraph +ACAP +\end_layout + +\begin_layout Standard +Analyst Capability This driver should be set to High since we dedicated + a lot of effort in analysing the problem requirements. +\end_layout + +\begin_layout Paragraph +PCAP +\end_layout + +\begin_layout Standard +Programmer Capability +\end_layout + +\begin_layout Standard +This driver should emphasize our programmers’ capabilites as a team. + Our cooperation is quite good, so we set it as High. +\end_layout + +\begin_layout Paragraph +APEX +\end_layout + +\begin_layout Standard +Application Experience Our experience in this field is very low. + So we think that a good estimate will happen if we set this value to Very + Low. +\end_layout + +\begin_layout Paragraph +PLEX +\end_layout + +\begin_layout Standard +Platform Experience Our average knowledge about platforms as databases, + UI, client/server ar- chitecture is around 1 year. + We set this value as Nominal. +\end_layout + +\begin_layout Paragraph +LTEX +\end_layout + +\begin_layout Standard +Language and Tool Experience This is like the previous parameter. + Our experience is around one year, so this value will be set to Nominal. +\end_layout + +\begin_layout Paragraph +PCON +\end_layout + +\begin_layout Standard +Personnel continuity We can estimate a High personnel continuity. +\end_layout + +\begin_layout Paragraph +TOOL +\end_layout + +\begin_layout Standard +Use of software tools We are going to use basic tools like Eclipse as IDE, + Maven as dependency manager and GIT as versioning tool. + So we think that Nominal will be good for us. +\end_layout + +\begin_layout Paragraph +SITE +\end_layout + +\begin_layout Standard +Multisite development We are going to use chats, emails and phone calls. + So we choose High here. +\end_layout + +\begin_layout Paragraph +SCED +\end_layout + +\begin_layout Standard +Required development schedule One hundred percent is good for us. + So we will choose Nominal here. +\end_layout + +\begin_layout Paragraph +Product +\end_layout + +\begin_layout Standard +Now we can compute the product of all Cost Drivers. +\end_layout + +\begin_layout Subsection +Effort Equation +\end_layout + +\begin_layout Standard +Now, having both cost drivers product and scale drivers factors we can com- + pute the effort, in Person-Month with the following equation: Ef f ort + = A ⇤ EAF ⇤ KSLOC E Where A is the COCOMO R 2000 constant, A = 2.94. + EAF is the product of all cost drivers. + In our case it is EAF = 0.71. + Using function points estimation we can say that KSLOC = 8.694. + Last thing: E is the exponent derived from Scale Drivers. + It is calculated with the following formula: E = B + 0.01 ⇤ 5 X SF i i=1 + Where B = 0.91 in COCOMO R 2000. + In our project, we can derive that E = 0.91 + 0.01 ⇤ 16.06 = 0.91 + 0.1606 ⇠ + = 1.07. + Using this parameter, we can compute our effort: Ef f ort = 2.94 ⇤ 0.71 ⇤ + 8.694 1.07 = 21.11 P M +\end_layout + +\begin_layout Subsection +Schedule Estimation +\end_layout + +\begin_layout Standard +Schedule Estimation Now we can estimate the project duration with the following + equation: Duration = 3.67 ⇤ Ef f ort F Where Ef f ort is the estimated effort + and SE is the schedule equation exponent derived from the five Scale Drivers. + We can obtain SE using the following formula: F = D + 0.2 ⇤ 0.01 ⇤ 5 X i=1 + SF i = 0.28 + 0.2 ⇤ 0.01 ⇤ 16.06 ⇠ = 0.31 Duration = 3.67 ⇤ 21.11 F = 3.67 ⇤ 21.11 + 0.31 ⇠ = 9.44 M onths +\end_layout + +\begin_layout Section +Tasks & Schedule +\end_layout + +\begin_layout Standard +The main tasks of this project are the following: +\end_layout + +\begin_layout Enumerate +Creation of the Requirement Analysis and Specification Document [2], which + explains in detail functional and nonfunctional require- ments, domain + assumption and goals of the application to be built. + +\end_layout + +\begin_layout Enumerate +Creation of the Design Document [3], which deals with the architecture and + the design shape of the application. + +\end_layout + +\begin_layout Enumerate +Creation of the Integration Testing Plan Document [5], which con- tains + integration testing strategy we intend to apply to the application. + +\end_layout + +\begin_layout Enumerate +Creation of the Project Plan, this document. +\end_layout + +\begin_layout Enumerate +Preparation of a quick presentation, using slides, (⇠ 10 min) of the previously + mentioned documents to our client. + +\end_layout + +\begin_layout Enumerate +Development of the entire application and the preparation of the unit tests. + +\end_layout + +\begin_layout Enumerate +Running of integration testing on the application. + +\end_layout + +\begin_layout Standard +For the first tasks the activities were already given along with correspond- + ing deadlines for the submission of needed documents. + Starting from the im- plementation, instead, no schedule was given so, + according to the COCOMO estimation performed and described in 2, we expect + the implementation of the application to be complete in 9.5 months, around + the 15th of September 2016. + Regarding the integration testing, it will take place in the last month + of developement. + The development of the application started after the creation of the De- + sign Document and will be carried on in parallel with the rest of the tasks. + Tests will be run on the developing application in order to verify the + proper functioning of every new functionality added. + In Figure 3 you can find the dependency graph of every task, in Table 20, + instead, you can find the schedule of every task. + Also the Gantt chart for the project is provided in Figure 4. +\end_layout + +\begin_layout Section +Resource Allocation +\end_layout + +\begin_layout Standard +This section is meant to show the way our available resources are allocated + to the project. + Every assigned task is divided in three macroareas and each one of them + is assigned to a member of the team. + As you can notice, every member works on all the tasks; in this way the + time needed to complete a task is a bit more but we also increase the overall + awareness of every member about the project itself, reducing the possibility + to create misunderstandings. + At the end of every task, the whole team is asked to revision the document + before the submission, the week before the deadline. + Regarding the implementation and the integration testing, each member of + the team is asked to focus on a tier of the application, as soon as the + Design Document is complete, starting in parallel with other task and then + focusing on the implementation itself. + After one functionality is complete, the testing related will be carried + on by another member of the team, in order to make the unit test more accurate. + Please refer to Table 20, Figure 4 for a better understanding of the division + of the work. + The division of work between team members is shown in tables 21, 22, 23, + 24, 25, 26, 27. +\end_layout + +\begin_layout Section +Risks +\end_layout + +\begin_layout Standard +Risks have to be considered in a complete project planning, owing to their + uncertain ad dangerous nature. + A sudden change in mind, actions, economi- cal situations and alike could + drift the project development into failure; this is the reason why they + are here analyzed. + Three main risk categories will be later described: +\end_layout + +\begin_layout Itemize + +\series bold +Project risks: +\series default + involving the project plan (described in these pages). + Project schedule and overall costs may be subject to (worse) changes due + to these risks. + +\end_layout + +\begin_layout Itemize + +\series bold +Technical risks: +\series default + involving the actual implementation of the project. + They may affect the quality of the software being developed. + +\end_layout + +\begin_layout Itemize + +\series bold +Business risks: +\series default + involving the company developing the software. + This may cause trouble to the project (e.g. + if the business cannot subsidize the software being developed anymore). +\end_layout + +\begin_layout Subsection +Project Risks +\end_layout + +\begin_layout Itemize +Risk: No estimations/schedules have been made before this project. + A lack of experience in this area can lead to serious errors in evaluating + development time – +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: High +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: Studying previous works on a similar subject can be + very helpful in this. +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: Due to several overlapping tasks the team is involved into, the project + is very likely to suffer from schedule delays +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: High +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: A strict organization among the team components is + fundamental. + This implies a constant cooperation between developers, in order to squeeze + even the tiniest time slots available for this project. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: A sudden growth in requirements can lead to a rush to meeting deadlines, + jeopardizing the overall quality +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Medium +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: Thinking with a broader mind on the first stages can + be very helpful; however, the team should be care- ful against over-engineering + (which can also paralyze the develop- ment) +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: Collaboration issues can sometimes be crucial, especially when dealing + with task divisions. + +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Medium +\end_layout + +\begin_layout Itemize +Damage: Medium +\end_layout + +\begin_layout Itemize +How to deal with it: Meeting often can be a solution, other than explicitly + writing whose responsibility for each task is. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: The team is very small (3 people) but homogeneous; if someone leaves + or gets ill then the remaining team would have serious repercus- sions. + +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Low +\end_layout + +\begin_layout Itemize +Damage: Catastrophic +\end_layout + +\begin_layout Itemize +How to deal with it: All team members must be able to cover all development + sections and cooperate effectively. +\end_layout + +\end_deeper +\begin_layout Subsection +Technical Risks +\end_layout + +\begin_layout Itemize +Risk: A lack of previous experience in developing with Java EE can almost + surely slow down the entire team, which has to study these new technologies + first +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: High +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: This has to be account in the first stages of planning + and inserted in the project scheduling. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: If the servers happen to be unreliable or in the case of more users + than expected, a significant downtime can seriously damage the whole project + – +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Medium +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: A scalable design of the overall architec- ture is + essential, both in software and in hardware choices. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: The application may be susceptible to security issues if not well- + designed. + +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Medium +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: All modern standards in computer security guidelines + must be followed, especially when dealing with the user input, which has + to be correctly verified and processed. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: Testing may prove difficult (for example, if several mocks are necessary) + or highlight problems which are hard to solve, especially when doing integratio +n testing or —even worse—validation. + +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Medium +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: All components must be unit tested as soon as possible, + to eliminate serious bugs when they first appear; integration testing must + be done according to the specifications contained in [5]. + A periodic check of requirements contained in [2] is also required. +\end_layout + +\end_deeper +\begin_layout Subsection +Business Risks +\end_layout + +\begin_layout Itemize +Risk: Testing devices & infrastructure (PCs, several mobile phones, server + rent) need to be purchased and configured. + This is going to increase costs, that may be not sustainable if the company + is too small. + +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: High +\end_layout + +\begin_layout Itemize +Damage: Catastrophic +\end_layout + +\begin_layout Itemize +How to deal with it: Testing tools are to be clearly defined in [2], in + order to avoid worthless spendings. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: The company may find itself in serious financial trouble. +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Low +\end_layout + +\begin_layout Itemize +Damage: Catastrophic +\end_layout + +\begin_layout Itemize +How to deal with it: A feasibility study together with the RASD must highlight + the impossibility of starting a whole new project. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: myTaxiService may violate some (future) laws related to taxi management. + +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Low +\end_layout + +\begin_layout Itemize +Damage: Critical +\end_layout + +\begin_layout Itemize +How to deal with it: A periodic check must be done in order to avoid legal + consequences. + In the case of drastic changes, the whole team must work in order to adapt + to the new regulations as soon as possible. + +\end_layout + +\end_deeper +\begin_layout Itemize +Risk: Another bigger company could acquire this company. + +\end_layout + +\begin_deeper +\begin_layout Itemize +Probability: Low +\end_layout + +\begin_layout Itemize +Damage: Marginal +\end_layout + +\begin_layout Itemize +How to deal with it: No preventive solutions are available. + Note that this is not necessarily a negative thing. +\end_layout + +\end_deeper +\begin_layout Section +Appendix +\end_layout + +\begin_layout Subsection +Tools used +\end_layout + +\begin_layout Standard +We used the following tools to produce this document: +\end_layout + +\begin_layout Itemize + +\series bold +LaTex +\series default + as typesetting system to write this document +\end_layout + +\begin_layout Itemize + +\series bold +LyX +\series default + as editor +\end_layout + +\begin_layout Itemize + +\series bold +Visio Professional +\series default + and +\series bold +draw.io +\series default + to draw all the diagrams +\end_layout + +\begin_layout Subsection +Hours of work +\end_layout + +\begin_layout Standard +\align center +\begin_inset Tabular + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Date +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Colaci +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +De Pasquale +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Rinaldi +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +16/01/17 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +2 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +1 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +17/01/17 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +1 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +18/01/17 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +1 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +2 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +19/01/17 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +2 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +2 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +20/01/17 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +2 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +21/01/17 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +1 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +3 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +22/01/17 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +/ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +1 +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\end_body +\end_document