1 IntroductionEver since 1970, when Winston W. Royce created the first forma description of the waterfall model, software development has known a multitude of various approaches. Most of them were built upon the model presented by Royce, bringing new specific characteristics. Significant development for the proposed model are described in [1] from the perspective of main characteristics, software development stages, advantages, drawbacks and utilization recommendations. Beside this description, which may be considered a guide by project managers, another important element is the incremental model for software development, the foundation of the philosophy with the same name. Combining specific elements of the waterfall model with stages and attributes of the prototype model, the incremental development philosophy is the base for what is known today as agile software development (Figure 1).From a time perspective, agile development started in February 2001, when representatives of 17 software development organization met in Utah, USA, to discuss new and lightweight methods and methodologies to develop projects. The meeting yielded the famous Manifesto for Agile Software Development, which includes the 12 development principles. [2] According to the manifest, any proj ect that observes these development principles falls under the category of agile projects. In other words, the representatives of the 17 organizations have identified easier ways to develop software projects and to help others do the same, including these aspects in the 12 principles of Agile Manifesto. Analysts claim [3] that the 12 principles of the Agile Manifesto constitute a dramatic contrast from the traditional guide and de facto standard of project management PMBOK - Project Manager's Body of Knowledge.In a general way, we may say that agile development is a reaction to developers' needs when faced to ever more varied requests from clients. The economic environment is growing in flexibility, providing varied business opportunities, which requires organizations to have the ability to adapt and capitalize on these opportunities. This is only possible as long as the organizations can use agile business architectures, built upon flexible solutions. The agile software development concentrates on the client (beneficiary). Additionally, contrary to traditional approach, agile approach does not focus on creating documentation for the product. In turn, this can be a major drawback of the agile paradigm.On the other hand, an organization or business agility is a key element in gaining strategic advantages. Therefore, the existence of an agile architecture on organization level may lead to decrease in development time for new processes and increase in flexibility of existing processes. Additionally, the impact of business agility may be measured by the decrease in response time to clients' requests, increase of new client numbers, reduction of costs in adaptation to new economic scenarios and, finally, increase in organization income. The increasingly visible orientation of software developers towards agile development philosophy does not mean the traditional approach will be completely abandoned. There still are software projects of high complexity, with significant usage targets (at least regional or national level), which do not fit in any way to agile approaches (for example the project regarding national health cards in Romania).Additionally, considering the latest paradigms used on the software development market, agile philosophy is frequently associated with Cloud Computing, in order to highlight once more the flexible character of this approach on economic organization level. [4] Currently, all circumstances allow us to talk about Agile Development as a phenomenon with rapid growth from the microeconomic climate that initiated it towards the macroeconomic level. This claim is supported by the precedent of project oriented development that changed the perceptions or modern organization management. …
Read full abstract