Grant: Discovery Grants Program - Individual
University of Regina
$21,440.00
Agile process invariants
EF 2009-10
Résumé
Agile software processes are becoming increasingly more popular due to their promise to ease the formal requirements on programmers and managers, thus accelerating the development, and at the same time maintain adequate quality of the software produced with it.
However, agile processes often fall short in two areas: software reuse and process reuse. Software produced with agile processes is not always reusable, because it is not documented very thoroughly. There exist techniques like refactoring that allow programmers to make software elements better understandable, so that they can be reused even though no separate documentation exists on them.
However, there are no techniques for process reuse. This is desirable because if a process has parts that can be reused, then it is possible to document these parts and train other employees to use them. This improves the uniformity of the software quality and is usually a good advantage to companies, effectively avoiding to "reinvent the wheel" over and over again.
Process reuse is also very important when considering process improvement. When a process is being improved, there is always a documented baseline to start from, which gives a company the ability to measure the increase in efficiency when using a new process as compared to the baseline.
This proposal describes the steps to achieve process reuse by automatically discovering usage patterns in a company. This allows processes to be documented and reused automatically, thus making it possible to accrue process documentation during process execution. After a process has concluded, similarities and patterns within the process are automatically presented and can be adopted throughout the company. This also allows one to discover similarities among different processes and make the best of these immediately.
Programme
Discovery Grants Program - Individual
Bénéficiaire
Emplacement
Saskatchewan, Canada
Type de bénéficiaire
Academia
Type
Grant
Source
NSERC's Awards Data
Tel que publié
Application id
217240-2008
Name nom
Benedicenti, Luigi
Department département
Engineering, Faculty of
Organization id
17
Institution établissement
University of Regina
Province en
Saskatchewan
Province fr
Saskatchewan
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2009
Competition year année de concours
2008
Award amount
21440
Program id
RGPIN
Program nane en
Discovery Grants Program - Individual
Program name fr
Programme de subventions à la découverte - individuelles
Group en
Discovery grants programs
Group fr
Programmes de subventions à la découverte
Committee code
334
Committee name en
Commun.,Computers & Components
Committee name fr
Communic.,ordin. et composants
Area of application code
800
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Information and communication services
Area of application fr
Services d'information et de télécommunications
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Partie
2
Nb partie
5
Application title
Agile process invariants
Keyword
NA
Application summary
Agile software processes are becoming increasingly more popular due to their promise to ease the formal requirements on programmers and managers, thus accelerating the development, and at the same time maintain adequate quality of the software produced with it.
However, agile processes often fall short in two areas: software reuse and process reuse. Software produced with agile processes is not always reusable, because it is not documented very thoroughly. There exist techniques like refactoring that allow programmers to make software elements better understandable, so that they can be reused even though no separate documentation exists on them.
However, there are no techniques for process reuse. This is desirable because if a process has parts that can be reused, then it is possible to document these parts and train other employees to use them. This improves the uniformity of the software quality and is usually a good advantage to companies, effectively avoiding to "reinvent the wheel" over and over again.
Process reuse is also very important when considering process improvement. When a process is being improved, there is always a documented baseline to start from, which gives a company the ability to measure the increase in efficiency when using a new process as compared to the baseline.
This proposal describes the steps to achieve process reuse by automatically discovering usage patterns in a company. This allows processes to be documented and reused automatically, thus making it possible to accrue process documentation during process execution. After a process has concluded, similarities and patterns within the process are automatically presented and can be adopted throughout the company. This also allows one to discover similarities among different processes and make the best of these immediately.