Commit 3f13cd7aefacf5273bf2f14d3bdbdd794b7ff16d

Authored by Diego Araújo
1 parent 1be752b9

Introduction review #01

It now tries to explicitly address evolution of our practices as the
main goal of the article and describes with more words the problems
faced on our situation.
Showing 1 changed file with 10 additions and 5 deletions   Show diff stats
icse2018/content/01-introduction.tex
1 1 \section{Introduction}
2 2 %Same SPB introduction from OSS articles plus a related work review and brief relevance to this article?
3 3  
4   -The difficulty of writing software is an old subject on computer science that dates back to 1968 \cite{mcilroy1968software} when the term software crisis has been first used. This refers to recurrent problems on software development such as exceeding time and budget expectations, inefficiency, low quality and maintainability among many others that usually culminate in the software not meeting the user expectations or not even being delivered.
  4 +The difficulty of writing software is an old subject on computer science dating back to 1968 \cite{mcilroy1968software} when the term software crisis was coined. It refers to recurrent problems on software development such as exceeding time and budget expectations, inefficiency, low quality and maintainability among many others that usually culminate in the software not meeting the user expectations or not even being delivered.
5 5  
6   -Specially in the public sector the pessimism and failure ratios are even deeper than in the general industry \cite{goldfinch2007pessimism,anthopoulos2016government}. This is due governments having rigid processes and organizational structures for which is hard to apply techniques that have been achieving success on software development in the private sector such as the broad spectrum of agile methods \cite{dybaa2008empirical}.
  6 +Particularly, in the public sector the pessimism and failure ratios are even deeper than in the general industry \cite{goldfinch2007pessimism,anthopoulos2016government}. Because governments have rigid processes and organizational structures, it's hard to apply software development techniques that have been achieving good results in the private sector such as the broad spectrum of agile methods \cite{dybaa2008empirical}.
7 7  
  8 +Introducing a new development methodology on a company is not an easy task. Introducing it on a government project can be even more challenging, specially on a low-budget scenario, in a politically unstable period and with a development team mostly formed by undergraduate students.
8 9  
9   -Here we report our experiences on a three years long development project with the Brazilian government in a scenario with low budget, high political instability and a mostly unexperienced team formed mostly by students but, despite all that risks and many others, has been kept under active development for three years and since its final delivery one year ago has been maintained online.
  10 +Knowing it would probably be a waste of time to persuade the government on adopting an agile methodology, we've chosen a less abrupt approach. Aiming to make minimal changes to the government's culture and still have the best possible result, our solution was to adapt some agile practices to our context. That included changes both on the government's and our team organization and processes.
10 11  
11   -There are similar previous works that we will review here. Agile methods application on the Brazilian public sector are approached by \cite{melo2010adoccao,de2016using}, but both are experiences limited to pilot projects. Not production-ready one that will provide more accurate data with the real world. On \cite{alleman2003making} the authors describe a production deployment for the US government, but it focus on describing the methodology applied to address long term planning and value estimation. And again on \cite{anderson2005stretching} we see a production software development case and the adaptation proposal that we will follow in this article, but focused on a specific methodology, the CMMI. This article differentiates itself from others by describing a production level software development to the public sector, but unconstrained to any specific aspect of the agile methods or an specific project management methodology on the government side. The focus on this article will be the whole experience of adapting agile methods to the public sector.
  12 +In this paper, we report our experiences on a three-year-long project funded by the Brazilian government, focusing on the development process evolution made throughout that period. Despite all the risks and obstacles, the project final release was delivered one year ago and now has thousands of registered users. This report is not expected to be the final recipe on software development with the public sector, its main goal is to report which techniques have been successful, what adaptations were necessary and what has failed as means to provide other developers a reference when they meet similar situations.
  13 +
  14 +% TODO: Maybe add a roadmap?
  15 +
  16 +% TODO: A separate section (Related Work) would be the proper place for the paragraph below.
  17 +%% There are similar previous works that we will review here. Agile methods application on the Brazilian public sector are approached by \cite{melo2010adoccao,de2016using}, but both are experiences limited to pilot projects. Not production-ready one that will provide more accurate data with the real world. On \cite{alleman2003making} the authors describe a production deployment for the US government, but it focus on describing the methodology applied to address long term planning and value estimation. And again on \cite{anderson2005stretching} we see a production software development case and the adaptation proposal that we will follow in this article, but focused on a specific methodology, the CMMI. This article differentiates itself from others by describing a production level software development to the public sector, but unconstrained to any specific aspect of the agile methods or an specific project management methodology on the government side. The focus on this article will be the whole experience of adapting agile methods to the public sector.
12 18  
13   -We will give a more detailed context at section \ref{sec:problem_context} for later detailing which development practices were adopted during the project and what were the observed results for each one. This report is not expect to be the final recipe on working with public sector software development, but has the objective to report on which techniques have been successful, what adaptations were necessary and what has failed as means to provide other developers a reference when they meet similar situations.
... ...