Академический Документы
Профессиональный Документы
Культура Документы
net/publication/269506170
CITATIONS READS
56 4,027
3 authors:
Bogdan Ghilic-Micu
Bucharest Academy of Economic Studies
43 PUBLICATIONS 213 CITATIONS
SEE PROFILE
All content following this page was uploaded by Marian Stoica on 21 March 2017.
1 Introduction
Increased agility is a magnet to all
organizations, especially for those in private
(SOA) for designing and developing such
functionalities and Decision Management
(DM) for management of organization
sector. It will allow a rapid and efficient decisions.
adaptation to market changes and gaining a
strategic advantage. Moreover, increased 2 Software Development Life Cycle
agility contributes to decreasing the Development models are various processes
development time for new processes and or methodologies, selected to develop the
increasing flexibility for existing processes, project according to its purpose and
where modification and implementation is objectives. Software developments models
required. All that leads to decreased time for help improve the software quality as well as
solving client demands, more clients gained, the development process in general.
lower adaptation costs and finally increased There are several models for the software
revenue. development life-cycle, each developed for
In a complex and permanently changing certain objectives. Software Development
environment, organization agility is no Life Cycle (SDLC) is an environment that
longer a necessity but a condition to access describes activities performed in each stage
or remain on the market. An agile enterprise of the software development process. SDLC
adapts fast to client demands and market consists of a detailed plan that describes how
opportunities, gaining competitive the development, maintenance and
advantages on the market. This can be replacement of specific software is
achieved only if the stakeholders clearly conducted. This is also known as software
understand the working ways of the development process. [1]
organization. The international standard for SDLC is
From informational systems point of view, ISO/IEC 12207. It aims to define all
there are several ways to achieve agility, activities required to develop and maintain
among which: Business Process Management software. Figure 1 depicts the various stages
(BPM) for orchestrating independent of a typical SDLC.
functionalities, Service Oriented Architecture
DOI: 10.12948/issn14531305/17.4.2013.06
Informatica Economică vol. 17, no. 4/2013 65
Analysis and
planning
Operation and Definition of
maintenance requirements
SDLC
Architecture
Product testing
design
Impementation,
development
Stage 1: Requirements analysis and planning architecture for the product. Usually, at least
Analysis of requirements is the most one product architecture approach is
important stage in SDLC. It is performed by proposed, and it is documented in a DDS
senior members of the team, using inputs (Design Document Specification). This DDS
from the clients, sales department, market is revised by all interested parties and the
research and industry experts. This best approach is selected, based on some
information is then used for a basic project parameters like: risk evaluation, product
plan and feasibility study from economic, robustness, design method, budget and time
operational and technical points of view. constraints.
Also, in this stage the team plans the quality A design approach clearly defines all
insurance requirements and identifies project architectural modules of the product, along
risks. The result of technical feasibility study with communication and data flows to and
consists of definition of carious technical from external modules provided by third
approaches that can be used to implement the parties (if there are any). Internal design of
project with minimal risks. all modules in the proposed architecture must
Stage 2: Definition of requirements be presented in clear details by the DDS.
After the requirements are analyzed, product Stage 4: Product implementation or
requirements are clearly defined and development
documented. They must be approved by the In this stage of the SDLC the product
client or by the market analysts through SRS development starts. The source code is
(Software Requirement Specification). The generated during this stage. If the design was
SRS document lists all product requirements performed in a detailed and organized
that must be designed and developed manner, the source code can be performed
throughout the project life-cycle. without complications. Developers must
Stage 3: Product architecture design follow the guidelines of their organization. In
SRS is the basic reference from which the order to generate the code they use
architects set out to create the best programming tools like compilers,
DOI: 10.12948/issn14531305/17.4.2013.06
66 Informatica Economică vol. 17, no. 4/2013
interpreters, debuggers etc. The source code validation; management. Among the most
is written in high level languages like C/C++, widely development models are:
Delphi, Java, PHP. The programming Waterfall model;
language is chosen according to the software V model;
being developed. Incremental model;
Stage 5: Product testing RAD model (Rapid Application
This stage is usually a subset of all the stages Development);
in modern SDLC models, because testing is Agile model;
involved in all SDLC stages. Still, this stage Iterative model;
only involves the situation where product
Spiral model.
faults are reported, tracked, fixed and re-
Each model has advantages and drawbacks
analyzed until it complies with the SRS
and must be selected according to
quality requirements.
organization needs. For space reasons, the
Stage 6: Market operation and maintenance following sections will present a brief
Once the product has been tested, it is ready
description of stages, advantages and
to launch on the market. It can be launched
drawbacks and usage [3], [4], [5] for only
on a limited segment and tested in a real
two of these models: waterfall model and
business environment, then, based on feed-
incremental model (this one being the base
back received, it can be launched to the
for all agile software development models).
whole market unchanged or with
improvements suggested by clients involved
3.1 Waterfall Model
in tests. After the launch, the maintenance is
The waterfall model was defined by Winston
performed for the existing client pool.
W. Royce in 1970. It is also known as linear-
sequential life cycle model. This model is
3 Software Development Models easy to understand and use. Each stage must
There are many software development
be completed before next one can start. At
models and many organizations create and the end of each stage the project is reviewed
use their own model. Choosing the model has to ensure compliance with requirements.
a high impact on testing. The independent
phases, applied on all levels are: testing and
DOI: 10.12948/issn14531305/17.4.2013.06
Informatica Economică vol. 17, no. 4/2013 67
DOI: 10.12948/issn14531305/17.4.2013.06
68 Informatica Economică vol. 17, no. 4/2013
The incremental model is recommended for To become agile, the organization must
the following cases: permanently control the dynamic of its own
system requirements are clearly defined business processes, human resources and
and understood; informational system. Business agility can be
major requirements are final. Some achieved through: human resources agility,
details may change in time; business processes agility and information
early launch is required; technology agility. Service orientation may
a new technology is used; be applied to organization level with
there are high risk characteristics and beneficial effects on human resources,
objectives. business management and information
technology (Figure 4).
4 Gaining Business Agility Human resource agility can be achieved
The key element of business agility is the through an organizational culture that
Service-Oriented Integration (SOI) and the provides intensive business and technology
guaranteed path to SOI is SOA. [6] SOA is knowledge based work force in all the areas
used by organizations to increase their agility of the business. Organizational culture must
and flexibility for dynamic adaptation to the allow a quick adaptation of the work force
business environment. BPM has proved its and autonomy of work groups. These allow
efficiency in reconfiguring processes to gain global adaptation to micro changes in
agility. DM helps automate decisions and business environment.
allows business policies to be moved to a Business process agility can be achieved
central repository. This leads to better through business process management, based
substantiated decisions and furthermore to on organization informational systems. The
increased organization ability to answer to principle that lays at eh foundation of agile
market changes and opportunities. Achieving organization regarding business processes is
agility requires knowledge of how SOA, providing the best solution to achieve the
BPM and DM can lead to increased organization purpose. This involves
organization agility and innovation. continuous modeling, simplification and
reconfiguration of processes. Also, it
DOI: 10.12948/issn14531305/17.4.2013.06
Informatica Economică vol. 17, no. 4/2013 69
involves the ability to efficiently answer to SOA facilitates a new stage of flexible
changes in the business environment by business process development, known as
using the advantages of IT services and SOA. service oriented business processes.
Furthermore, combined use of BPM and
BPM helps increase the agility of the especially the operational ones. DM helps
business by providing process models easily raise the quality, consistency and agility of
adapted to the internal and external business decisions, in the same time lowering the time
environment requirements. Some of the and costs associated with the decision
instruments that may be used to achieve making process. Also, decision management,
agility of business processes are: Business as well as process management, leads to
Process Model and Notation Designer, simpler, more agile and effective client
Business Process Execution Language oriented processes. According to [7], the DM
Server, AJAX Integrated Development solution may be defined in four areas:
Environment, Enterprise Content analysis and collaborative planning,
Management. knowledge acquisition and learning, unified
From the business management point of access and analysis of structural data and
view, in a complex decision making process unstructured content and automation of
the managers are faced with difficulties in intelligent processes.
making fast decisions with low costs. DM SOA allows DM technologies to implement
can be used to help automating decisions, business policies as decisional services that
DOI: 10.12948/issn14531305/17.4.2013.06
70 Informatica Economică vol. 17, no. 4/2013
deliver functionality. Decision services work with a detailed plan and have a full list
contain all the conditions and actions of characteristics and tasks that must be
required to make an operational decision. completed in the next few months or the
Each decision service responds to a business entire life cycle of the product. Predictive
questions for the other services. Combining methods completely depend on the
DM capabilities with BPM helps fast requirement analysis and careful planning at
implementation of changes in answer to the beginning of the cycle. Any change that
market pressure, reusing the decision logic in is to be included will go through a strict
processes and systems, making the best change control management and
decision based on a list of decisions, prioritization. The agile model uses an
optimization of business processes, adaptive approach where there is no detailed
integration of intelligence in business process planning and only clear future tasks are those
and gaining competitive advantages. Also, related to the characteristics that must be
using DM helps adaptation to changes and developed. The team adapts to dynamic
aligning IT systems with business changes in the product requirements. The
requirements. product is frequently tested, minimizing the
Information technology agility addresses risk of major faults in the future. Interaction
mainly the technological architecture and with the clients is the strong point of agile
infrastructure through SOA. Technological methodology and open communication and
agility currently represents a wide field of minimal documentation are typical
research, because IT creates most problems characteristics of the agile development
in achieving agility. Moreover, integration environment. Teams collaborate closely and
into organization represents the least mature often are located in the same geographical
category of capabilities, for many space.
organizations being a goal and not a reality. While agile SDLC is better suited for small
SOA may be a paradigm that can solve and medium projects, on large scale
integration problems on application level. traditional SDLC is still the better choice.
SOA provides agility through embedding Therefore it is important that the
application logic into services. Services can development team selects a SDLC that is best
be fast and easy combined with business suited for project at hand. There are criteria
rules and analytical services in order to that can be used by the development team to
provide new functionalities and business identify the dimension of the desired SDLC.
agility. The principle that lays at the base of They include team size, geographical
the organization regarding information location, size and complexity of the software,
technology is systematic anticipation of project type, business strategy, engineering
rational use of emerging technologies. capabilities etc. Also, it is very important for
Achieving agility begins with removal of the team to study the differences, advantages
barriers and, usually, the informatics system and drawback of each SDLC before making a
has most of them. In order to respond to decision. Furthermore, the team must study
continuous change requirements, businesses the context of the business, industry
must integrate and connect various systems requirements and business strategy before
and data sources, many locked into isolation evaluating the candidate SDLCs. It is
or into proprietary systems. important to have a SDLC evaluation and
selection process because it maximizes the
5 Agile vs. Traditional chances to create successful software.
Agile methods are based on adaptive Therefore, selection and adoption of an
software development methods, while appropriate SDLC is a management decision
traditional SDLC models (waterfall model, with long term implications.
for example) are based on a predictive Although agile methodologies triumph over
approach. In traditional SDLC models, teams traditional ones in several aspects, there are
DOI: 10.12948/issn14531305/17.4.2013.06
Informatica Economică vol. 17, no. 4/2013 71
many difficulties in making them work. One The time frame for each iteration is short
of them is the significant reduction of (usually weeks). Developers will find the
documentation and the claim that the source schedule too tight for each module, even
code itself should be the documentation. [8] more so for modules that require complex
Thus, developers used to agile methods tend processing algorithms. This leads to delays in
to insert more comments in source code in each iteration and hardships in establishing
order to clarify and explain. It is difficult for an efficient communication between team
beginner developers or new members of the members and the clients.
team to complete their tasks when they On the other hand, traditional methodologies
cannot fully understand the project. They ask have a well-defined requirements model
lots of questions to the experienced before the implementation and coding
developers and this may delay completion of process starts and this acts as a reference for
the iteration, which can lead to increased the development team during the coding
development costs. process. Clients do not participate in this
On the other hand, traditional methods stage of the development life cycle. The
emphasize documentation in orientation and development team will perform the coding
clarification of the project for the according to the documentation provided by
development team, so there is no concern the business analysts until the system is
about not knowing the project details or not complete and only then it will be presented to
having a knowledgeable developer. the clients as final product. Developers are
Agile methodologies are well known for the not concerned about frequent meetings and
importance given to communication and have more time to finish the system. This
client implication. [9] allows them to provide a better product.
For each version delivered, the development The fact that agile development allows
team and the clients will organize a meeting changes in requirements in an incremental
where the team will present the work done in way lead to two dependency problems in
current iteration and the clients will provide design: rigidity and mobility. Rigidity means
feed-back on the delivered software a change in the system leads to a cascade of
(improvements on current features or changes in other modules, while mobility
addition of new ones). means the inability of the system to include
Most times, developers will find the periodic reusable components because they involve
meeting (usually weekly) boring and tiring too much effort or risk. When such problems
because they have to present the modules are present throughout the system, there must
repeatedly, to new members and clients and, be a high level restructuring in order to
on each iteration, changes may happen as eliminate unwanted dependencies. [10] Table
requested by clients. 1 sum up the differences between agile and
traditional approaches.
Table 1. Differences between traditional and agile development [11] [12] [13]
Traditional development Agile development
High quality adaptive software is
Systems are fully specifiable, developed by small teams that
Fundamental predictable and are developed use the principle of continuous
hypothesis through extended and detailed improvement of design and
planning testing based on fast feed-back
and change
Management style Command and control Leadership and collaboration
Knowledge
Explicit Tacit
management
DOI: 10.12948/issn14531305/17.4.2013.06
72 Informatica Economică vol. 17, no. 4/2013
DOI: 10.12948/issn14531305/17.4.2013.06
Informatica Economică vol. 17, no. 4/2013 73
DOI: 10.12948/issn14531305/17.4.2013.06
74 Informatica Economică vol. 17, no. 4/2013
DOI: 10.12948/issn14531305/17.4.2013.06
Informatica Economică vol. 17, no. 4/2013 75
1392777 [12]http://www.producao.ufrgs.br/arquivos/disci
[5]http://www.tutorialspoint.com/sdlc/sdlc_overv plinas/507_artigo_3_empirical_systematic_re
iew.htm vi ew.pdf
[6] J. Bloomberg, Why service-oriented [13] Get Ready for Agile Methods, with
management? 2002, SearchSOA.com. Care,Barry Bohem, IEEE Ianuarie 2002,
Retrieved September 15, 2011, from tabel 1, pg. 68
http://searchsoa.techtarget.com/tip/Why- [14]http://www.slideshare.net/J.T.A.JONES/
service-oriented-management software-development-life-cycle-model-
[7] D. Vesset, M. Fleming, H. Morris, S. 1392777
Hendrick, B. McDonough, S. Feldman, [15] A. Cockburn, Crystal Clear: A Human-
E. Traudt, C. Olofson and M. Webster, Powered Methodology for Small Teams,
Worldwide Decision Management Addison-Wesley, 2004, ISBN 0-201-
Software 2010–2014 Forecast: A Fast- 69947-8
Growing Opportunity to Drive the [16] J. Stapleton, DSDM: Business Focused
Intelligent Economy. IDC. Retrieved Development, second ed., Pearson
September 15, 2011, from Education, 2003, ISBN 978-0321112248
http://www.idc.com/research/viewdocsyn [17] S.R. Palmer, J.M. Felsing, A Practical
opsis.jsp?container Id=226244 Guide to Feature-driven Development,
[8] L.R. Vijayasarathy, Agile Software Prentice Hall, Upper Saddle River, NJ,
Development: A survey of early adopters. 2002, ISBN 0-13-067615-2
Journal of Information Technology [18] K. Schwaber, M. Beedle, Agile
Management Volume XIX, Number 2. Software Development with Scrum,
2008 Prentice Hall, Upper Saddle River, 2001
[9] K. Peterson, A Comparison of Issues and [19] K. Beck, Extreme Programming
Advantages in Agile and Incremental Explained: Embrace Change, Addison-
Development between State of the Art Wesley, 2000, ISBN 0-201-61641-6
and an Industrial Case. Journal of System [20] K. Beck, Extreme Programming
and Software. 2009 Explained: Embrace Chage, second, ed.,
[10] G.K. Henssen, Maintenance and Agile Addison-Wesley, 2004, ISBN 978-
Development: Challenges, Opportunities 0321278654
and Future Directions. 2009 [21]http://share.pdfonline.com/af77ce72a559402
[11] S. Nerur, R. Mahapatra, G. Mangalaraj, 6b7be919e08f6e6b8/agile.htm
Challenges of migrating to agile [22] Kent Beck 2000. Extreme Programming
methodologies, Communications of the Explained Addison-Wesley Publishing
ACM (May) (2005) 72– 78 Co
DOI: 10.12948/issn14531305/17.4.2013.06
76 Informatica Economică vol. 17, no. 4/2013
DOI: 10.12948/issn14531305/17.4.2013.06