<<

View , citation and similar papers at core.ac.uk brought to you by CORE

provided by Directory of Open Access Journals

64 Informatica Economică vol. 17, no. 4/2013

Software Development: Agile vs. Traditional

Marian STOICA, Marinela MIRCEA, Bogdan GHILIC-MICU Bucharest University of Economic Studies, Romania [email protected], [email protected], [email protected]

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 . This paper proposes an incursion in the development, from traditional to agile. Keywords: , Traditional Models, Agile Models, Agile Architectures, Agile Techniques, Agile Instruments

Introduction (SOA) for designing and developing such 1 Increased agility is a magnet to all functionalities and Decision Management organizations, especially for those in private (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 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

Impementation, development

Fig. 1. Software development life cycle [2]

Stage 1: Requirements 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 is (Software 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 ,

DOI: 10.12948/issn14531305/17.4.2013.06 66 Informatica Economică vol. 17, no. 4/2013 interpreters, 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  ; 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  . 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

Fig. 2. Waterfall model diagram

DOI: 10.12948/issn14531305/17.4.2013.06 Informatica Economică vol. 17, no. 4/2013 67

Some of the advantages of this model are: 3.2 Incremental Model  the documentation and structure design In the incremental model the requirements are an advantage when new members are divided into subsets. The model involves join the team; multiple development cycles, which makes  it is easy to understand and use; the life cycle look like a “multiple waterfall”  it is easy to coordinate due to the model model. The cycles are again divided into rigidity – each stage has an expected smaller cycles, modules easier to manage. result and an evaluation process; Each module goes through requirement  stages are implemented one at a time, in analysis, design, implementation and testing. sequence; During the first module, a working version of  it is recommended for small projects, the software is created. Each following with requirements clearly understood. version adds new features and functionalities Some of the drawbacks of this model are: to the previous one. The process continues  some requirements may arise after the until the system is completed (Figure 3). initial requirement gathering was Some of the advantages of this model are: completed, which influences negatively  each stage delivers a working product, the product development; that meets some of the client  not all problems detected during a stage requirements; are completely solved during the same  prototypes are delivered to the client; stage;  client feed-back is distributed throughout  there is no flexibility in partitioning the the entire development process; project into stages;  it is more flexible – involves lower costs  new requirements added by the client when purpose and requirements change; lead to additional costs, because they  it is easy to test and debug during a small cannot be solved in the current edition of iteration; the product;  cuts down on initial delivery costs;  it is difficult to estimate the time and  the risk is easier to manage because all budget for each stage; risks are identified and managed during  there are no prototypes until the life the iteration; cycle is finished;  when there are new requirements, they  if testing detects some problems, it is can be introduces in the next prototype. very difficult to return to design stage; The model carries some drawbacks too:  there is a high risk and uncertainty;  it requires a good planning and design;  it is not recommended for complex and  requires a clear and complete definition object oriented projects. of the entire system before it can be The waterfall model is recommended for the divided and incrementally built; following cases:  total cost is higher than the waterfall  requirements are well understood, clear model; and final;  design errors are harder to fix and  product definition is stable; remove;  technology is understood;  incremental approach may easily turn  there are no ambiguous requirements; into “code and repair”.  resources that involve expertise are  the client can see what can be done and freely available; can ask for more;  it is a short project.  object oriented approach provides a comfortable framework for evolution development, in an iterative manner.

DOI: 10.12948/issn14531305/17.4.2013.06 68 Informatica Economică vol. 17, no. 4/2013

Fig. 3. Incremental model diagram

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

Fig. 4. Service orientation influence

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

Traditional development Agile development Communication Formal Informal Life cycle model Development model (waterfall, spiral or modified Evolutionary-delivery model models) Organic (flexible and Mechanic (bureaucratic, high Organizational participative, encourages social formalization), targeting large structure cooperation), targeting small and organization medium organizations Permanent control or Difficult planning and strict Quality control requirements, design and control. Difficult and late testing solutions. Permanent testing Detailed and defined before User requirements Interactive input coding/implementation Cost of restart High Low Development Fixed Easily changeable direction Testing After coding is completed Every iteration Client involvement Low High Additional abilities Interpersonal abilities and basic required from Nothing in particular knowledge of the business developers Appropriate scale of Large scale Low and medium scale the project Oriented on plan, with adequate Agile, with advanced Developers abilities, access to external knowledge, co-located and knowledge cooperative With access to knowledge, Dedicated, knowledgeable, Clients cooperative, representative and cooperative, representative and empowered empowered Requirements Very stable, known in advance Emergent, with rapid changes Design for current and Architecture Design for current requirements predictable requirements Remodeling Expensive Not expensive Size Large teams and projects Small teams and projects Primary objectives High safety Quick value

6 Agile Software Development Methods Development (ASD), Feature Driven There are several agile software development Development (FDD), Crystal Clear, Dynamic methods available. [14] Although each of Software Development Method (DSDM), them has a unique approach, they share the Rapid Application Development (RAD), values and visions described by the agile SCRUM, (XP) and manifesto. They all involve permanent Rational Unify Process (RUP). Some of them communication, planning, testing and are described in Table 2. In time several integration. They help develop good methods based on some of these values and software, but what defines agile methods is principles have emerged. They have been that they encourage collaboration and makes designated as agile, and some of them are: common decisions good and fast.  Extreme programming (XP); Some of the agile software development  Scrum; methodologies are: Adaptive Software

DOI: 10.12948/issn14531305/17.4.2013.06 Informatica Economică vol. 17, no. 4/2013 73

 Agile (AUP);  Dynamic system development method  Agile modeling; (DSDM);  Essential unified process (EssUP);  Feature driven development (FDD);  Open unified process (OpenUP);  Crystal.

Table 2. Main agile development methods with key references [14] Agile method Description Reference A family of methods for teams of various sizes: Clear, Yellow, Orange, Red, Blue. The most agile methods, Crystal Clear, concentrate on communication between small teams that develop Crystal [15] non-critical software. Development has seven characteristics: methodologies frequent delivery, reflexive improvement, osmotic communication, personal safety, concentration, easy access to expert users and requirements for technical environment. Divides projects into 3 stages: pre-project, project life cycle and Dynamic post-project. DSDM is based on nine principles: users software involvement, empowering the project team, frequent delivery, [16] development approaching current needs of the business, iterative and

method incremental development, allows reversing the changes, high end (DSDM) goal is established before project starts, testing during the life cycle, efficient communication. Combines model driven development with agile development, emphasizing the initial , work division into features Feature-driven and iterative design of each feature. Claims to be best suited for [17] development critical system development. An iteration of a feature has two stages: design and development. Concentrates on , for situations where initial planning is difficult, with mechanisms for “empiric process control”, where feed-back loops are the main element. The software is developed by a team (that self organizes) in stages (called “sprints”), starting with planning and ending with Scrum assessment. The features that must be implemented are recorded [18] in a list of unsolved orders. The client decides which orders are to be implemented in the next sprint. Team members coordinate their activity in daily briefings (at the beginning of the day). One member (chief/master scrum) is responsible with solving issues that prevent the team from working efficiently. Concentrates on the best development practices and consists of 12 stages/activities: planning game, small launches, metaphor, simple planning, testing, refactoring, peer programming, collective ownership, , 40 hour week, on- Extreme site clients and coding standards. [19, 20] programming The revised version, XP2, consists of the following primary (XP; XP2) practices: whole team, informative work space, work under pressure, peer programming, stories, weekly cycle, trimester cycle, 10 minute development, continuous integration, incremental design etc. There are also 11 additional practices.

The agile group of methods is based on methods are based on 12 principle, iterative and incremental development, where synthesized in the so called Agile Manifesto specifications and solutions come from published in 2001 [21]: collaboration between teams individually  client satisfaction, through rapid delivery organized, but with a common goal. These of usable software;

DOI: 10.12948/issn14531305/17.4.2013.06 74 Informatica Economică vol. 17, no. 4/2013

 meeting the specifications, even if it requirements” is the definition given by Kent happens late in the development; Beck, the creator of extreme programming  frequent delivery of usable software [22]. Extreme programming (XP) is a (weekly); modern development model, inspired from  usable software is the main measure of RUP. Program development does not mean progress; hierarchies but collaboration within the team.  sustained development, able to keep a Team members are encouraged to assert their steady rhythm; personality and offer and receive knowledge  cooperation between developers and and become great programmers. XP clients; considers that program development means  face-to-face cooperation is the best way first of all writing programs. It is suited for to communicate; projects with dynamic requirements or those that are not well defined from the start. There  projects are built by motivated and must be a partnership between client and credible persons; programmers. It does not generate too much  simplicity; documentation. XP describes four main  individually organized teams; activities: coding – main activity; testing –  adaptation to changing circumstances; every module must be tested; listening – the  permanent attention to excellent programmer must communicate with the technique and good design. client in order to understand his needs; SCRUM is an iterative and incremental design – building a correct architecture of the method whose purpose is to help system will lead to an efficient system and development teams to concentrate on reduce unnecessary dependencies between established goals and minimize the work modules. done on less important tasks. SCRUM aims to keep the simplicity in a complicated 7 Conclusions business environment. The term comes from No matter what model is chosen for rugby, where it is a strategy to return a lost developing software applications, this ball into the game by team work. SCRUM activity involves complex processes that are does not provide implementation level often predisposed to errors. That is why, techniques; it focuses on the way the beyond agility or traditionalism, an important members a development team should interact role goes to testing and validation. Any high to create a flexible, adaptive and productive quality software system, with professional system in a constantly changing development and implementation must be environment. The method was presented in tested and validated before going into details by Schwaber and Beedle. SCRUM is production. The client must know that the based on two elements: team autonomy and system was developed and implemented adaptability. Team autonomy means that according to the project specifications. Also, project leaders establish the tasks the team the client must be sure the project must perform, but in each iteration the team functionality is correct (to be continued). is free to decide how to work, with the goal of increasing team productivity. SCRUM References does not propose specific software [1]http://www.techopedia.com/definition/221 development techniques, but method sand 93/software-development-life-cycle-sdlc instruments regarding the management for [2]http://www.tutorialspoint.com/sdlc/sdlc_o various phases, in order to avoid the verview.htm confusion created by project complexity and [3] http://istqbexamcertification.com/what- unpredictability. are-the-software-development-models/ “XP is an easy methodology for small to [4]http://www.slideshare.net/J.T.A.JONES/s medium teams that develop software oftware-development-life-cycle-model- products with vague or changing

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] 2000. Extreme Programming methodologies, Communications of the Explained Addison-Wesley Publishing ACM (May) (2005) 72– 78 Co

Marian STOICA received his degree on Informatics in Economy from the Bucharest University of Economic Studies in 1997 and his doctoral degree in economics in 2002. Since 1998 he is teaching in Academy of Economic Studies from Bucharest, at Economic Informatics and Cybernetics Department. His research activity, started in 1996 and includes many themes, focused on management information systems, and information society. The main domains of research activity are Information Society, E-Activities, E-Working, and . The finality of research activity still today is represented by over 50 articles published, 9 books and over 20 scientific papers presented at national and international conferences. Since 1998, he is member of the research teams in over 15 research contracts with Romanian National Education Ministry and in 5 national research projects.

DOI: 10.12948/issn14531305/17.4.2013.06 76 Informatica Economică vol. 17, no. 4/2013

Marinela MIRCEA, associate professor, PhD, currently working with Bucharest University of Economic Studies, Faculty of Cybernetics, Statistics and Informatics, Department of Economic Informatics and Cybernetics. Competence areas: information system, Business Intelligence. Research in the fields of in-formation system, Business Intelligence, classification techniques. Author of 6 books and more than 50 papers published in national and international journals.

Bogdan GHILIC-MICU received his degree on Informatics in Economy from the Bucharest University of Economic Studies in 1984 and his doctoral degree in economics in 1996. Between 1984 and 1990 he worked in Computer Technology Institute from Bucharest as a researcher. Since 1990 he teaches at Bucharest University of Economic Studies from Bucharest, at Economic Informatics and Cybernetics Department. His research activity, started in 1984 includes many themes, like computers programming, software integration and hardware testing. The main domain of his last research activity is the new economy – digital economy in information and knowledge society. Since 1998 he managed over 25 research projects like System methodology of distance learning and permanent education, The change and modernize of the economy and society in Romania, E-Romania – an information society for all, Social and environmental impact of new forms of work and activities in information society.

DOI: 10.12948/issn14531305/17.4.2013.06