SOFTWARE IN E-LEARNING ARCHITECTURE, PROCESSES AND MANAGEMENT
Our entire society is becoming more and more dependent on technology and specifically, on software. The integration of e-learning software systems into our day by day life especially in e-learning applications generates modifications upon the society and, at the same time, the society itself changes the process of software development. This circle of continuous determination engenders a highly dynamic environment. [Lehman, 1998] describes the software development environment as being characterized by “a high, necessary and inevitable pressure for change”. Changes are reflected in specific uncertainties which impact the success and performance of the software project development.
The main focus of this paper is to support the following hypothesis: Adopting an agile methodology reduces the impact of uncertainty on e-learning software project development by ensuring flexibility and extending it.
The rest of the paper is structured as follows. In Section II of the paper the main concepts: uncertainty, flexibility and agile methodologies are defined. The justification for the outlined hypothesis based on pre-existing research is provided in Section III of the paper. Finally, Section IV of the paper summarized the main ideas of the current paper. After all the research process the conclusion was that there is no method to help us completely eliminate uncertainty. It can be said that uncertainty appears on the one hand because we do not have a complete understanding/knowledge of what we do, and on the other hand because unpredictable events can arise during the e-learning software development process.
This paper will present how agile methodologies generate flexibility and extends it (to agility) in order to accommodate the changes to the e-learning software process and reduce the impact of the various types of uncertainties (market, technical, duration, dependencies and scope uncertainty) upon it. Specifically starting from the agile principles which enable the flexibility needed to reduce the impact of each type of uncertainty the hypothesis has been sustained. The paper will summarize which agile principle generates the necessary flexibility to reduce the impact of each specific type of uncertainty. Nevertheless there is no silver bullet that can address all situations. Uncertainty in e-learning software projects is a complex phenomenon which has got a chaotic dimension. Flexibility and its extension agility, offered by the agile methodologies constitute appropriate solutions to keep under control the effect of uncertainty on e-learning software project development.
[Brooks, 1975] Brooks, F. P. (1975). The mythical man-month, volume 1995. Addison-Wesley Reading.
[Cockburn and Highsmith, 2001] Cockburn, A. and Highsmith, J. (2001). Agile software development, the people factor. Computer, 34(11):131-133.
[Das, 1996] Das, S. K. (1996). The measurement of flexibility in manufac¬turing systems. International Journal of Flexible Manufacturing Systems, 8(1):67-93.
[De Weck et al., 2007] De Weck, O., Eckert, C., and Clarkson, J. (2007). A classification of uncertainty for early product and system design. Mas¬sachusetts Institute of Technology, Engineering Systems Division.
[Fowler and Highsmith, 2001] Fowler, M. and Highsmith, J. (2001). The agile manifesto. Software Development, 9(8):28-35.
[Lehman, 1998] Lehman, M. M. (1998). Software’s future: Managing evolution. IEEE software, 15(1):40-44.