Abstract

Organizations face the need to adapt themselves to a complex business environment, in continuous change and transformation. Under these circumstances, organization agility is a key element in gaining strategic advantages and market success. Achieving and maintaining agility requires agile architectures, techniques, methods and tools, able to react in real time to change requirements. This paper proposes an incursion in the software development, from traditional to agile.Keywords: Software Development, Traditional Models, Agile Models, Agile Architectures, Agile Techniques, Agile InstrumentsIntroductionIncreased agility is a magnet to all organizations, especially for those in private sector. It will allow a rapid and efficient adaptation to market changes and gaining a strategic advantage. Moreover, increased agility contributes to decreasing the development time for new processes and increasing flexibility for existing processes, where modification and implementation is required. All that leads to decreased time for solving client demands, more clients gained, lower adaptation costs and finally increased revenue.In a complex and permanently changing environment, organization agility is no longer a necessity but a condition to access or remain on the market. An agile enterprise adapts fast to client demands and market opportunities, gaining competitive advantages on the market. This can be achieved only if the stakeholders clearly understand the working ways of the organization.From informational systems point of view, there are several ways to achieve agility, among which: Business Process Management (BPM) for orchestrating independent functionalities, Service Oriented Architecture (SOA) for designing and developing such functionalities and Decision Management (DM) for management of organization decisions.2 Software Development Life CycleDevelopment models are various processes or methodologies, selected to develop the project according to its purpose and objectives. Software developments models help improve the software quality as well as the development process in general.There are several models for the software development life-cycle, each developed for certain objectives. Software Development Life Cycle (SDLC) is an environment that describes activities performed in each stage of the software development process. SDLC consists of a detailed plan that describes how the development, maintenance and replacement of specific software is conducted. This is also known as software development process. [1]The international standard for SDLC is ISO/IEC 12207. It aims to define all activities required to develop and maintain software. Figure 1 depicts the various stages of a typical SDLC.Stage 1: Requirements analysis and planning Analysis of requirements is the most important stage in SDLC. It is performed by senior members of the team, using inputs from the clients, sales department, market research and industry experts. This information is then used for a basic project plan and feasibility study from economic, operational and technical points of view. Also, in this stage the team plans the quality insurance requirements and identifies project risks. The result of technical feasibility study consists of definition of carious technical approaches that can be used to implement the project with minimal risks.Stage 2: Definition of requirementsAfter the requirements are analyzed, product requirements are clearly defined and documented. They must be approved by the client or by the market analysts through SRS (Software Requirement Specification). The SRS document lists all product requirements that must be designed and developed throughout the project life-cycle.Stage 3: Product architecture designSRS is the basic reference from which the architects set out to create the best architecture for the product. Usually, at least one product architecture approach is proposed, and it is documented in a DDS (Design Document Specification). …

Highlights

  • In a complex and permanently changing environment, organization agility is no longer a necessity but a condition to access or remain on the market

  • Stage 1: Requirements analysis and planning Analysis of requirements is the most important stage in Software Development Life Cycle (SDLC). It is performed by senior members of the team, using inputs from the clients, sales department, market research and industry experts. This information is used for a basic project plan and feasibility study from economic, operational and technical points of view

  • The result of technical feasibility study consists of definition of carious technical approaches that can be used to implement the project with minimal risks

Read more

Summary

Architecture design

Stage 1: Requirements analysis and planning Analysis of requirements is the most important stage in SDLC. Some of the advantages of this model are: the documentation and structure design are an advantage when new members join the team; it is easy to understand and use; it is easy to coordinate due to the model rigidity – each stage has an expected result and an evaluation process; stages are implemented one at a time, in sequence; it is recommended for small projects, with requirements clearly understood. The development team will perform the coding according to the documentation provided by the business analysts until the system is complete and only it will be presented to the clients as final product. When such problems are present throughout the system, there must be a high level restructuring in order to eliminate unwanted dependencies. [10] Table 1 sum up the differences between agile and traditional approaches

Agile method
Concentrates on the best development practices and consists of
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call