Suitability of Extreme Programming and RUP Software Development Methodologies for SOA Applications

Size: px
Start display at page:

Download "Suitability of Extreme Programming and RUP Software Development Methodologies for SOA Applications"

Transcription

1 Suitability of Extreme Programming and RUP Software Development Methodologies for SOA Applications Guillermo A. Callahan 1 1 Seminar on Enterprise Information Systems : Service Oriented Architecture and Software Engineering, Helsinki University of Technology SoberIT, Innopoli 2, Tekniikantie 14, Espoo, Finland Abstract. Because of the recent importance given to Service Oriented Architecture (SOA), a document review investigation has taken place with the objective to compare SOA development with two highly used agile software development methods: Extreme Programming (XP) and Relational Unified Process (RUP). The motor behind this investigation is to see if this agile development methods are capable enough to design effectively and efficiently SOA type applications. The investigation concluded that both methodologies are not exactly suited to create SOA applications, but RUP has a greater chance to provide SOA type applications if the proper adjustments are made, specially on the design side of the methodology. Keywords: Service Oriented Architecture, Software Development Methods, Extreme Programming, Relational Unified Process (RUP). 1 Introduction Service Oriented Architecture has been a topic that has been discussed about a lot recently, specially because of the supposed benefits it can provide companies: empowering a business environment with a flexible infrastructure and processing environment by provisioning independent, reusable, automated business processes and providing a robust information foundation for leveraging these services. In other words: a software application that has the power to incorporate business services to business practices all together, while being distributed along a network, no mater what is the underlying technology [1]. Also these services are reusable, independent and can compose aggregate services by combining it with other ones, therefore reducing the cost of new technology for every change made to the system, creation of new services, maintenance, etc. For this, SOA can be defined as the logical way to design a software concept that provides services to either end user applications or to other services distributed over network, via published and discoverable interfaces [2].

2 As new computing paradigm, SOA is in it's baby steps, as most of the structure, design and technology are still under research. But as an idea, it is not as new, this is because the vision of having reusable, composite and dependable code components, as well as the benefits, have long been envisioned [2]. One of the research priorities regarding SOA is the search of a proper design and development methodology that can take into account all of the SOA principles and that, while being closely followed, can conclude on the creation of working and efficient SOA type applications. Since SOA is of high importance for businesses (specially because the increasing importance of services in the economy of developed countries [3][4]), and fact that there is no proper development methodology yet, a document review investigation was carried out. The objective of this investigation is to find if any current software development methodology can more or less replicate, at least to some extension, SOA principles at the moment of design or development. The methodologies chosen to take part in this investigation are two popular agile software developing methodologies: Extreme Programming (XP) and the Rational Unified Process (RUP) [6]. These methodologies have their very own differences, strengths, drawbacks, etc. Even though, RUP is sometimes not considered an agile development method, because of the large quantity of requirements and processes between iterations, but still, the methodology can be tuned to be agile by eliminating some processes between iterations. even though, it is also because of the large differences between XP and this methodology that it was chosen for this investigation; after all they still carry out the same objective: that at the end of the development process, the software product should be finished, or at least the reasons for why the development couldn't continue are explicitly given. The rest of the document is written in the following way: each of the previously stated methodologies will be explained separately, mentioning their characteristics, it's life cycle and it's principles, then it's benefits when developing SOA type applications, it's drawbacks after that, and possible point's of improving when using that methodology when developing SOA type applications. 2 Extreme Programming (XP): Extreme Programming (XP) is a relatively new agile software development method, that, evolving from the problems cause by the long development cycles of traditional development practices [7], the methodology concluded as a combination of practices that have been found effective in software development processes over time. These principles, even though not new, were incorporated in such a way that they are lined up to function with each other, eventually forming this methodology. The term Extreme comes from taking these principles to extreme levels [8]. The methodology is considered as an agile software development method because: it is an incremental development methodology (that takes out small software releases, versions or parts of a software product in rapid cycles), it's cooperative nature with

3 costumers (costumers and developers in close communication), straightforward (as in the method itself is easy to learn, modify, etc) and that it's adaptive (it is able to make last minute changes to the software product) [8]. The life cycle of the XP software development methodology consists of 6 steps or phases, which are [6]: Exploration: This is the first phase, consists that the costumer writes story cards (description of features to be added into the program), which are delivered to the developers, where afterwards, these familiarize themselves with the requirements, the technology, the practices they are going to be used, etc. After that, the team of developers test the technology and also the development of a prototype to explore the architecture possibilities. Planning: Here the development team sets priority to the story cards and agrees with the costumer about the contents of the first release, and also the schedule for each of the features. Iterations to release: The schedule set in the planning phase is broken down to a number of iterations, these iterations create one or more functions of the system in each one of them. Functional tests are made after every iteration and at the final iteration, the system is ready for production. Productionizing: This phase consists of extra testing and performance checks, while also revising if new changes are found and need to be included in the current release, this of course to provide a much better version for the costumer. Maintenance: The development is in this phase after the first version is productionalized and the XP project is kept in the production running while making new iterations. Death: It is the final phase, when the costumer doesn't have any more story cards to provide and it satisfies the costumers needs in every aspect. Also this is the phase where the documentation is written since there are no more changes to the architecture. This is also when either the system becomes too expensive for further development, or it's canceled when it doesn't get to meet the needed requirements. The methodology claims to be able to provide successful software development despite having a vague idea of the environment (filled with uncertainty), or being in an environment that has constant changes. The methodology aims to provide a successful developing if the following practices are being followed [8]: Planning Game: The programmers estimate the effort needed for the implementation of the customer's stories, while the customer decides the scope and timing. Small/Short Releases: A simple system is productionized rapidly at least once every 2 or 3 months.

4 Metaphor: This means that both the customer and the programmers share a story based on metaphors that guides all development by describing the functionality of the system. Simple Design: Emphasis on finding the simplest possible solution that is implementable at the moment. Testing: The software development is test driven. Refactoring: It means restructuring the system by removing duplication, improving communication, simplifying and adding flexibility. Pair Programming: Two people write code in the same computer. Collective Ownership: Anyone can change code at any given time. Continuous Integration: A new piece of code is integrated into the code base as soon. 40 Hour Week: Maximum of a 40 hour working week, with no more than two overtime weeks in a row are allowed. On Site Costumer: The customer has to be present and available full time for the team. Coding Standards: Coding rules exist and are followed by the programmers. Open Workspace: A large room with small cubicles where pair programming can be performed. Just Rules: The team has it's own rules that are followed, but they can be changed at anytime. In simpler words, the methodology consists on keeping the agile methodology requirements by having small groups of tightly communicated developing teams, which develop small parts of the project in quick intervals, where the costumer interacts directly to the team to see the small, but (supposedly) increasing improvements in the development. It is based on high communication within the development team and the costumer, simple solutions by small iterations and quick feedback to stop any chance of creating complicated code that won't be used or that has flaws in it, and finally the courage to try, day by day, small changes to the code to get to the best solution, providing an evolving design at the moment of coding. 2.1 Comparison of XP with SOA Benefits: SOA indeed requires an evolving software development method, since SOA consists of a highly uncertain environment where constant business, protocol, code, process among other changes are already considered and foreseen. Since XP considers changes after every small and rapid iteration, it allows for quick changes inside the code, providing a flexible coding environment. The instant communication with the costumer is also a great strength for the SOA environment, since business rules and processes are constantly changing and adding up to the original project. Direct communication with the costumer can provide a

5 more accurate description of the business needs and requirements the costumer desires in the project. Another strength of XP inside the developing of a SOA is that the high communication between developers; small teams constantly communicating, well defined roles and pair programming seem to provide large improvements in productivity and in obtaining a successful final project. 2.2 Comparison of XP with SOA Drawbacks: There are many publications that argue that XP is not really a good software development methodology, as they argue that the lack of documentation (either on requirements or design), constant code tweaking and unlikeliness of having either a capable on site costumer, or one that is available anytime, provides difficulties for the development of a software project. Even though a software project can be finalized using XP, same publications argue that other development methods can do the same more effectively, cheaply and easily [9][10]. On the side of developing SOA applications with XP, the most important drawback is the lack of any up front design of the system or of its requirements. The immense requirements of a true SOA inside a business structure can cause loss of focus; producing bugs and an architecture that can be completely wrong design wise. The development of an architecture that uses services as building blocks, that incorporates these services themselves to use them to create composite services, that has to support constant changes in the business environment with an increasing amount of possible variables inside it and, most importantly, the need for these services to work correctly in any situation requires a well thought design beforehand, one that incorporates all the possible variables inside the development. Secondly, as SOA tries to incorporate services from previously designed applications and systems, keeping track of the state of the current applications and keeping a tangible reference or model of development could be very useful for the effective development of a SOA driven architecture. All of this without mentioning the possibility of creating composite services out of single services, and that these compositions can act as a service themselves, or not mentioning the management required behind these services so they can operate seamlessly and effectively [1][9][10]. The lack of documentation, or any design model, is supposedly replaced by constant testing, pair programming and the availability of an an on site costumer. Constant testing might be able to detect bugs, but sometimes failure in design is detected very long afterward. Pair programming can be useful for any development process, but the need for an specification is still required, even though the on site costumer can be able to provide the necessary insight, the fact that the possibility of a completely aware costumer of the business situation inside the company, and the (assuming) slight chances of being available all the time, requires the need of an upfront documentation to guide the developers through the process [9]. Another possible drawbacks when applying XP is that if either the size of the developing team (as it is best suited for small medium teams), the geographical circumstances (as it is stated that geographically separated teams are intolerable for

6 XP), the business culture behind the costumer (as, for example, rigid schedules from the on site costumer stops the feedback from being delivered, slowing the development process) and finally, the type of technology (if it requires long feedback times and a strong resistance to change, which is a possibility behind SOA) are not equivalent to the XP principles, it makes XP unsuitable for the software project, which can include SOA related projects [1][9]. 2.3 Discussion of Areas of Improvement for the Development of SOA Type Software (XP): Since XP is one of the most documented agile software development methodologies, there's been reports on the possibilities and restrictions of XP, as for example, there are statements of productivity gains by using XP inside a e business company. The company in question, did server side Java development and the company used principles similar to the one XP advocates, and it showed increases in productivity. But still, even though that positive review, it is still hard to conceive the implementation of XP in a SOA related development [11] The lack of a real up front documentation can be seen as a big flaw for SOA development. As stated before, the huge requirements and variables inside SOA applications should require a starting point, (which stops ad hoc development, mainly because of the use of previously developed applications). The use of at least some documentation should be of very big use for SOA development. It is stated that XP is just a group of principles, and also, it has been noted that not all of the investigations regarding developing experience with XP have used all of the principles. This indicates that using XP for SOA can be tailored a bit to choose the principles that can work best in the developing of this architecture [8]. Definitely, as stated before, documentation is needed. But the adaptation of this principles to include bigger and geographically separated groups could also be of great use, as there are statements that SOA is a multi disciplinary task, which will require large amounts of people in planning and possibly, also in development. Another point of improvement could be the fact of having roles that involve costumer relationships, designing responsibilities, managerial responsibilities, and also, a role that involves knowledge or research of the possible costumers that would use this SOA based application, as these would be most likely required for the development of an effective SOA project. In a personal opinion, I believe XP is more concentrated on small projects filled with high uncertainty. Even though SOA is in a highly uncertain environment, it is by no means small, which requires adapting this methodology to support the development of this type of applications. Even though it also seems that XP is concentrated more on the programmers than on the clients, this should also be adapted to SOA, as SOA is firmly concentrated on providing better services easily to an end user that most likely, won't be the developer's costumer. In conclusion, although XP seems to provide results productivity wise, the adaptation to SOA development (in theory) would require changing many of it's main

7 principles so the development of this kind of applications can be effective (providing an operable SOA) and efficient (faster and with less problems while developing). 3 Relational Unified Process (RUP): The Relational Unified Process is an agile software development method created by Philippe Kruchten, Ivar Jacobsen and others at Rational Corporation to complement the Unified Modifying Language (UML an industry standard modeling method). Even though the methodology is mostly focused on the object oriented paradigm, it does not implicitly rule out the other methodologies for designing software [13] As stated previously, this software development methodology is considered agile as it is able to comply with all the requirements needed for an agile methodology (adaptive, straightforward, incremental and cooperative) many believe that this method is too robust to be called agile, as it has various design phases and it takes too long to provide a final version. But, as this is also a step of rules and best practices, developers can get to choose the parts they believe would benefit the development process [9]. The RUP development process consists of four phases, which are split into (usually many) iterations, where each one of them has the purpose of producing a demonstrable part of the software project. The phases are [12]: Inception: Here, the needs of every stakeholder are taken into account. This helps find all critical use cases, candidate architectures for the system are schemed and also estimations are provided. Elaboration: In this phase is where the foundation of the software architecture takes place. The architecture is elaborated with the output of the previous phase. The project plan is elaborated while the process, infrastructure and development environment are identified. At the end of this phase, most use cases and actors are identified and described, the complete architecture is described and a prototype of it has been created. Construction: In the construction phase, all the remaining components and applications are developed, integrated into the product and are tested. Transition: The process concludes with this phase, which is essentially the release of the product. And also, according to user response, modifications and the addition of extra features takes place as well as the writing of manuals and such. What it is to note, is that through all these phases, there are nine work flows that are parallel to the phase. In each iteration, usually in extensive manner, all this work flows are addressed. The work flows are: business modeling, requirements, analysis and design, implementation, test, configuration and change management, project management and environment [12]. The methodology consists essentially that in every phase of the development life cycle, each part of the development has to be consistent and done methodically, not

8 escaping any detail or potential error. This, even though takes probably a lot of time, it provides software that is likely to be consistent with the previously stated model that, after a lot of time in it, contains all the necessary information to provide the costumer with the software applications he desires. To also help in the development process, the methodology follows the next practices [12]: Develop Software Iteratively: Develop the software in small increments and short iterations to detect potential risks and problems early. Manage Requirements: Identify the most important requirements before coding; the ones that change over time and have the biggest impact. Among it's benefits are detection of inconsistencies and improved communication, as the requirements are clearly defined. Use Component Based Architectures: Improved flexibility in development and also reduction in future development efforts are among the benefits of isolating code that will most likely change over time or that many resources share. Visually Model Software: Using common visualizations, a clear and common language is established among the developing members. Improving communication and common understanding. It also helps developers to not lose track of the project in the development process. Verify Software Quality: By testing every iteration, defects and bugs can be detected even before the development cycle, reducing resources in maintenance. Control Changes to Software: All changes to requirements should be managed and their effect on software traced, as this improves the understanding of the current situation of the application. As a summary, RUP consists of a robust methodology, were small iterations, elaborate modeling sessions, constant testing and a common design language can be the better solution for creating software applications of great quality, error free and that meet all the costumer requirements. 3.1 Comparison of RUP with SOA Benefits: As it was compared previously when comparing SOA development necessities with XP, there is a need for proper documentation to keep track of all the requirements, changes, and possibilities when designing services, or SOA type applications, and this is what RUP provides: a methodology that is mainly focused on initial requirements, modeling and documentation, while also keeping the agile software development method's principles. Other than fact of providing an up front documentation, where states the requirements and the most important areas of development; which are useful to state the situation where the company is, it's best practices, and how to provide a visual connection of all the services. Another big benefit of this methodology is that one of it's practices is that it encourages component based architectures. This components are the building blocks for services, which means that this

9 methodology is at least concerned on some of the key elements of SOA: re usability, abstraction of business processes, flexibility, and code that is loosely coupled and finely grained [1]. 3.2 Comparison of RUP with SOA Drawbacks: The main drawbacks of using RUP to create SOA type applications is the fact that RUP is mostly object oriented (at least in design), which is not adequate for service modeling, as services include many other factors that object oriented design leaves out. A couple of examples are the aggregation of services to combine composite services that can, act as a service themselves, also the fact that it ignores underlying infrastructure (protocols, location and technologies), service management, etc. [1][3] Other visible drawback in applying RUP is the lack of agility (in comparison with other methodologies), as this methodology is far more robust and requires much more to do in every iteration than in other software developing methods. Even though, this may not be considered as significant drawback, sometimes a more agile model could be of use if the need for an SOA application is immediate. Related to the last drawback, the fact that RUP doesn't have any real mention of how to adapt the methodology to a software project while considering the circumstances of it and it's environment, leaving this task up for the developers. In the case of SOA, a rigid methodology would do more than fine, specially on the current situation of SOA applications, but in the near future, the rapid creation of such applications might be an increasing need that, unless having the proper combination of principles or an adequate adaptation to SOA, might stop developers from picking this methodology [6]. 3.3 Discussion of Areas of Improvement for the Development of SOA Type Software (RUP): The main area of improvement is the creation of a proper modeling technique that can be adequate for the creation SOA type applications. The combination of the RUP principles, with a proper business modeling approach would provide much better background for the development of these applications. It's also convenient to mention that this modeling technique should also consider the aspects mentioned previously, such as service composition, management, gap analysis, focus on service coupling, cohesion and granularity as design principles, service versioning and governance [1]. Also the creation of proper tools that can ease the development of SOA type applications, specially one that can automatically analyze business processes in detail, discovering and selecting suitable external services, interaction problem detection, alternative solution search, service monitoring, etc. In my opinion, this can help in the way UML tools help in RUP. 4 Discussion:

10 As it can be seen in the discussion paragraphs, both software development method have different advantages, disadvantages, and places for improvement in SOA software specific development. The main requirements needed, in both methodologies include a moderate balance between quick iterations and no documentation or design, and between long iterations and large quantities of documentation, and as well the use of a Service Oriented design method. Currently, there is no such thing as Service Oriented design method, but research is carried out [1]. It is also up to discussion the possibilities of also researching an specific software development method for SOA software. But the implementation of current software development methods seems to be more than adequate, considering it's large number of advantages, it's all about finding the proper best practices that can be well suited for SOA development, this of course takes research time, as well as practice from enterprises. There is no clear advantage, or any for that matter, that one of both Software development methodologies reviewed in this article are better for SOA software development, they seem, in this case, to provide different types of advantages according to the type of task (XP small software projects while large RUP object oriented projects, both in uncertain environments). This can indicate that the proper combination of these two methodologies, as well as adding a service oriented documentation/design methodology, can be enough for the development of SOA software. It is my opinion that states that the use of RUP, for the design (using service oriented methodologies), development and maintenance of the main architecture of SOA software, while using XP for the creation and composition of services, is sufficient to provide the advantages of both methodologies, and would be enough to maintain all possible requirements in software development. 5 Conclusions: As it can be seen, both software development methods are quite different, but still carry out the same objectives either way. Anyway, for SOA software development, some analysis must be done to choose the proper system for the development of such software type. A table comparing both methods, as well as SOA software requirements is shown in Table 1. Table 1. Comparison of SOA Software Development with XP and RUP software development processes. Characteristic SOA XP RUP Size of development team It is likely to require large multi disciplinary teams. Small tightly communicated teams Large teams Level of documentation Extremely high considering legacy systems and requirements None, all based on direct communication with a costumer. High, all possible descriptions of the system

11 Development time Type of software it's focused on. Type of orientation Long, at least while designing the Architecture, but will be small when the architecture is in place. Quick iterations for quick development development Long, but steady development Enterprise Small, Costumer based Any size Service Any, no real methodology behind it Object As a summary, neither XP or RUP, in their complete extension, are not software development methods completely adequate for SOA software development, as there are characteristics they miss and can take into account for SOA software specific development. Even though, currently, there is no SOA specific development method, in my opinion, the use of the best business practices from current methodologies seems like the best bet for current SOA development. Finally, Table 2, summarizes graphically all that was explained in the previous sections. Table 2. Comparison of XP and RUP software development processes, considering Advantages, Disadvantages, etc. Characteristic XP RUP Advantages Fast iterations and development. Direct communication with the costumer. Disadvantages Does not consider any documentation. Focused at small projects. Possible changes to fit SOA. Slight use of a methodology and design will be useful. Concentrate on the service creation side of SOA development. Considering bigger working groups Consistent methodology. Large amounts of design and preparation. Focused on large projects. Too robust and long development process and iterations. It mostly object oriented. Change the methodology and design features to a Service Oriented one Concentrate on the Architecture development of SOA.

12 References: 1. Papazoglou, Michael P., Traverso, P., et al.: Service Oriented Computing Roadmap. Dagstuhl Seminar Proceedings Service Oriented Computing (SOC). (2006). 2. Maceheiter, N., Ward Dutton N.: Real SOA: Critical Success Factors. Macehiter Ward Dutton. (2005). 3. Hurtwitz, J., Bloor R., Baroudi C.: Service Oriented Architecture for Dummies. Willey Publishing Inc. (2006). 4. Chesbrough, H., Spohner, J.: A Research Manifesto For Services Science. Communications of the ACM. Vol.49, No.7. July (2006). 5. Sheehan, J.: Understanding Service Sector Innovation. Communications of the ACM. Vol.49, No.7. July (2006). 6. Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.:Agile software development methods Review and analysis. VTT Publications 478. Espoo, Finland. (2002). 7. Beck, K.: Embracing Change With Extreme Programming. IEEE Computer 32(10): (1999). 8. Beck, K.: Extreme programming explained: Embrace change. Reading, Mass., Addison Wesley. (1999). 9. Stephens, M.: The Case Against Extreme Programming. August 26, (2001). Last updated: January 26, (2003). 10. Stephens, M., Rosenberg, D.:, Extreme Programming Re factored: The Case Against XP, Apress, (July, 2003). 11. Maurer, F. and Martel, S.: On the Productivity of Agile Software Practices: An Industrial Case Study. (2002). 12. Kruchten, P. : The Rational Unified Process: an Introduction. Addison Wesley. (2000). 13. Jacobsen, I., Christerson, M., Jonsson, P. and Overgaard, G.: Object Oriented Software Engineering: A Use Case Driven Approach. Reading, MA, Addison Wesley. (1994).

Success of Agile Environment in Complex Projects

Success of Agile Environment in Complex Projects Edith Cowan University Research Online Australian Information Warfare and Security Conference Conferences, Symposia and Campus Events 2010 Success of Agile Environment in Complex Projects Abbass Ghanbary

More information

RUP and XP Part II: Valuing Differences

RUP and XP Part II: Valuing Differences RUP and XP Part II: Valuing Differences by Gary Pollice Evangelist, The Rational Unified Process Rational Software In the last issue of The Rational Edge, we looked at the common ground between the Rational

More information

Chapter 3 Software Process Model

Chapter 3 Software Process Model Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models

More information

Agile Methods. Background

Agile Methods. Background Agile Methods Agile Alliance http://www.agilealliance.com/home Background In 2001, a group of lightweight methodologies practioners met to discuss similarities and experiences They wrote the Manifesto

More information

EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999.

EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999. XP XP extreme programming (slides partially from Andrew Black, Ras Bodik, and Dan Klawitter s letures) EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999. What is

More information

SOFTWARE DEVELOPMENT. Process, Models, Methods, Diagrams Software Development Life Cyles. Part - V

SOFTWARE DEVELOPMENT. Process, Models, Methods, Diagrams Software Development Life Cyles. Part - V SOFTWARE DEVELOPMENT Process, Models, Methods, Diagrams Software Development Life Cyles Part - V Extreme Programming (XP) was conceived and developed by Kent Beck to address the specific needs of software

More information

Software Life Cycle. Main Topics. Introduction

Software Life Cycle. Main Topics. Introduction Software Life Cycle Main Topics Study the different life cycle models Study the difference between software maintenance and evolution Study product line engineering as a design methodology 2 Introduction

More information

Usability/user interface design in agile processes

Usability/user interface design in agile processes University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2004 Usability/user interface design in agile processes A. Fuller Faculty

More information

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 Introduction to Agile Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 1 Goals Introduction to Agile Life Cycles The Agile Manifesto and Agile Principles Agile Life Cycles

More information

Tuesday, October 25. Announcements

Tuesday, October 25. Announcements Tuesday, October 25 Announcements Crowdsourcing the Midterm http://www.drsusansim.org/teaching/inf111/pligg Homework 5 Skip lab portion Use anything you want to draw the diagrams for the take home portion

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 Friday 30 th September 2016 - Morning Answer any THREE questions

More information

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 Introduction to Software Life Cycles and Agile CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 1 Goals Present an introduction to the topic of software life cycles concepts and terminology

More information

Agile Plus Comprehensive model for Software Development

Agile Plus Comprehensive model for Software Development Agile Plus Comprehensive model for Software Development Amit Juyal Umesh Kumar Tiwari Lata Nautiyal Shashidhar G. Koolagudi Assistant Professor Assistant Professor Assistant Professor Professor Graphic

More information

Software Engineering Lecture 5 Agile Software Development

Software Engineering Lecture 5 Agile Software Development Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the

More information

A New Divide & Conquer Software Process Model

A New Divide & Conquer Software Process Model A New Divide & Conquer Software Process Model First A. Hina Gull, Second B. Farooque Azam Third C. Wasi Haider Butt, Fourth D. Sardar Zafar Iqbal Abstract The software system goes through a number of stages

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: USDP and EUP 1 Unified Software Development Process (USDP) Also known as Unified Process (UP)

More information

Agile Software Development

Agile Software Development Agile Software Development Chapter 3 Agile Software Development in the textbook 3.1 Agile methods 3.2 Plan-driven and agile development 3.3 Extreme programming (XP) - A well known agile method 3.4 Agile

More information

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development Agile Software Development T-110.6130 Systems Engineering in Data Communications Software P, Aalto University Agile software development Structured and disciplined, fast-paced Iterative and Incremental

More information

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models 1.Determine objectives Cumulative cost Progress

More information

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II Process, Models, Methods, Diagrams Software Development Life Cyles Part - II A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process maturity based

More information

Department of Software Engineering, Al Neelain University, Khartoum, Sudan 2

Department of Software Engineering, Al Neelain University, Khartoum, Sudan 2 Volume 6, Issue 5, May 2016 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Agile RACI Model

More information

Introduction of RUP - The Rational Unified Process

Introduction of RUP - The Rational Unified Process Introduction of RUP - The Rational Unified Process Jong-Hoon Lee Dependable Software Laboratory Konkuk University References Textbook: The Rational Unified Process Made Easy A Practitioner s Guide to the

More information

Aligning Architecture work with Agile Teams

Aligning Architecture work with Agile Teams Aligning Architecture work with Agile Teams Eoin Woods Endava 15 th July 2015. Agile software development is a very widely practiced software development approach and nowadays there is also broad recognition

More information

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes Objectives Rapid software development To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To

More information

AGILE SOLUTIONS. Agile Basics

AGILE SOLUTIONS. Agile Basics AGILE SOLUTIONS Agile Basics info@one80services.com one80services.com AGILE SOLUTIONS Agile Basics Table of Contents 2 Who We Are 3 What Is Agile? 4 Agile Values 5 Agile Principles 6 Agile Development

More information

Reducing Business Risk

Reducing Business Risk July 2005 Reducing Business Risk Through Agile Development Fred Tingey Head of Risk Systems BNP Paribas Introduction Context What is Agile Programming? Traditional vs Agile approach A New Way to do Things

More information

Chapter 3 Agile Software Development

Chapter 3 Agile Software Development Chapter 3 Agile Software Development Chapter 3 Agile Software Development Slide 1 Topics covered Rapid software development Agile methods Plan-driven vs. agile development Extreme programming (XP) Agile

More information

Iteration-Specific Requirements: More Control Where You Really Need It

Iteration-Specific Requirements: More Control Where You Really Need It Iteration-Specific Requirements: More Control Where You Really Need It by Mike Taylor Software Engineering Specialist Rational Software The Rational Unified Process (RUP ) is based on an iterative approach

More information

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system development projects Major attributes of the Lifecycle The project Moves systematically

More information

Choose an Agile Approach

Choose an Agile Approach 1 of 10 10.04.2013 21:35 Choose an Agile Approach Learning Objective After completing this topic, you should be able to recognize factors to consider when moving to an agile software development methodology

More information

The Product Creation Process

The Product Creation Process - 0. feasibility 1. definition 2. system 3. 4. integration & test 5. field monitoring needs verification core information Legend: in draft full under development most information 50% available in concept

More information

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Software Development Methodologies. CSC 440: Software Engineering Slide #1 Software Development Methodologies CSC 440: Software Engineering Slide #1 Topics 1. The Waterfall Model 2. Agile Software Development 3. The Unified Process 4. Object-Oriented Analysis and Design 5. The

More information

Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University

Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University What is Agile? In simple terms, Agile is a collection of ideas to guide both the

More information

Software development activities

Software development activities Software development activities l Note activities not steps l l Often happening simultaneously Not necessarily discrete 1. Planning: mostly study the requirements 2. Domain analysis: study the problem

More information

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Agile Practices in Regulated Railway Software Development

Agile Practices in Regulated Railway Software Development Agile Practices in Regulated Railway Software Development Henrik Jonsson System Development Department Etteplan Industry AB Västerås, Sweden henrik.jonsson@etteplan.com Stig Larsson and Sasikumar Punnekkat

More information

The software process

The software process Software Processes The software process A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. A software process model is an abstract representation

More information

Agile Quality Management

Agile Quality Management Agile Quality Management Panagiotis Sfetsos, PhD Assistant Professor, Department of Informatics, Alexander Technological Educational Institution E mail: sfetsos@it.teithe.gr Web Page: http://aetos.it.teithe.gr/~sfetsos/

More information

2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process?

2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process? 1 What is systems development? 2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process? 4 How do businesses use the rapid application

More information

THE PURPOSE OF TESTING

THE PURPOSE OF TESTING Chapter 6 THE PURPOSE OF TESTING Context-Driven Overview of Quadrants Tests That Support the Team Tests That Critique the Product Quadrant Intro Purpose of Testing Managing Technical Debt Knowing When

More information

Generalizing Agile Software Development Life Cycle

Generalizing Agile Software Development Life Cycle Generalizing Agile Software Development Life Cycle S. Bhalerao 1, D. Puntambekar 2 Master of Computer Applications Acropolis Institute of Technology and research Indore, India 1 Bhalerao.shilpa@gmail.com,

More information

Agile Development Methods: Philosophy and Practice. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

Agile Development Methods: Philosophy and Practice. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed Agile Development Methods: Philosophy and Practice CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight

More information

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY 2006 International Software Measurement & Analysis Conference David Garmus www.davidconsultinggroup.com Topics Characteristics of Agile Projects Performance

More information

Introduction to Agile/Extreme Programming

Introduction to Agile/Extreme Programming Introduction to Agile/Extreme Programming Matt Ganis, Senior Technical Staff Member (Certified Scrum Master) IBM Hawthorne, New York ganis@us.ibm.com August 2007 Session 8061 Current slides at: http://webpage.pace.edu/mganis

More information

03. Perspective Process Models

03. Perspective Process Models 03. Perspective Process Models Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Prescriptive Process Models advocates an orderly approach to software

More information

The Product Manager and the Product Development Process. Martin Cagan Silicon Valley Product Group

The Product Manager and the Product Development Process. Martin Cagan Silicon Valley Product Group The Product Manager and the Product Development Process Martin Cagan Silicon Valley Product Group THE PRODUCT MANAGER AND THE PRODUCT DEVELOPMENT PROCESS Martin Cagan, Silicon Valley Product Group OVERVIEW

More information

Agile Development Doesn t Have to Mean Fragile Enterprise Processes

Agile Development Doesn t Have to Mean Fragile Enterprise Processes Fragile Enterprise Processes An MKS White Paper By: Colin Doyle ALM Strategic Product Manager MKS Inc. The Move to Agile Agile software development methodologies are garnering a lot of interest these days.

More information

Agile Test Plan How to Construct an Agile Test Plan

Agile Test Plan How to Construct an Agile Test Plan Agile Test Plan How to Construct an Agile Test Plan XBOSoft White Paper How to Construct an Agile Test Plan www.xbosoft.com 2 Agile is changing not only the way we develop software but the way we work

More information

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Because of rapidly changing business environments, businesses have to respond

More information

Agile Software Development Methodology

Agile Software Development Methodology Agile Software Development Methodology Mandar A.Mulherkar North Carolina State University mamulher@ncsu.edu Abstract The rapid change and competition in the software market demands that the time required

More information

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes Objectives Software Processes To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 Learning Objectives Understand the roots of agile modeling in prototyping and the four main types of prototyping Be able

More information

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info A Study of Software Development Life Cycle Process Models

More information

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS International Journal on Information Technologies & Security, 4 (vol. 9), 2017 51 THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS Vangel Fustik Faculty of Electrical Engineering

More information

A Model of Agile Evolution and Maintenance Process

A Model of Agile Evolution and Maintenance Process A Model of Agile Evolution and Maintenance Process Mira Kajko-Mattsson and Jaana Nyfjord Department of Computer and Systems Sciences mira@dsv.su.se, jaana@dsv.su.se Abstract Most of the agile methods mainly

More information

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15 Non-object-oriented design methods Software Requirements and Design CITS 4401 Lecture 15 1 (reminder) Software Design is a creative process no cook book solutions goal driven we create a design for solving

More information

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By Sample Exam ISTQB Agile Foundation Questions Exam Prepared By November 2016 1 #1 Which of the following is the correct pairing according to the Agile Manifesto statement of values? a. Individuals and Interactions

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

Getting Started. Chapter 1

Getting Started. Chapter 1 schneider01.fm Page 1 Friday, February 16, 2001 5:14 PM Chapter 1 Getting Started Use cases are used to describe the outwardly visible requirements of a system. They are used in the requirements analysis

More information

Agile Taxonomy Maintenance

Agile Taxonomy Maintenance Global Knowledge & Information Management Services Agile Taxonomy Maintenance www. enterprise-knowledge.com Taxonomy management typically follows a Library and Information Science paradigm. The taxonomist

More information

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software? Software engineering Facts CSC 4181 Compiler Construction Software Engineering Lectures Part 1 Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software

More information

ignoring agile, size and frequency, sales, , 280

ignoring agile, size and frequency, sales, , 280 INDEX A Acceptance testing automated, 161 162 description, 160 162 FIT approach, 161 162 just-in-time elaboration, 234 principles, 156 Accountability paradigm shifts, 84 teams, 113 Agile. See also Software

More information

Model-based Architectural Framework for Rapid Business Transformation of Global Operations

Model-based Architectural Framework for Rapid Business Transformation of Global Operations Model-based Architectural Framework for Rapid Business Transformation of Global Operations December 2007 Copyright 2007 Semantion Personal use of this material is permitted. However, permission to reprint/republish

More information

Introduction to Software Engineering

Introduction to Software Engineering UNIT I SOFTWARE PROCESS Introduction S/W Engineering Paradigm life cycle models (water fall, incremental, spiral, WINWIN spiral, evolutionary, prototyping, objects oriented) -system engineering computer

More information

Note 10: Software Process

Note 10: Software Process Computer Science and Software Engineering University of Wisconsin - Platteville Note 10: Software Process Yan Shi Lecture Notes for SE 3330 UW-Platteville Based on Pressman Chapter 2 & 3 Software Process

More information

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Software Processes Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Slide 1 Objectives To introduce software

More information

Best Practices for Creating an Open Source Policy. Why Do You Need an Open Source Software Policy? The Process of Writing an Open Source Policy

Best Practices for Creating an Open Source Policy. Why Do You Need an Open Source Software Policy? The Process of Writing an Open Source Policy Current Articles RSS Feed 866-399-6736 Best Practices for Creating an Open Source Policy Posted by Stormy Peters on Wed, Feb 25, 2009 Most companies using open source software know they need an open source

More information

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) UNIT OBJECTIVE Understand the influences on a project Understand what a software process is Understand two common models WHAT EACH PARTY CONTROLS Client Side Every

More information

IEEE and Agile Process- Create Architecture Description through Agile Architecture Framework

IEEE and Agile Process- Create Architecture Description through Agile Architecture Framework Int'l Conf. Software Eng. Research and Practice SERP'17 149 IEEE 42010 and Agile Process- Create Architecture Description through Agile Architecture Framework Shun Chi Lo and Ning Chen Department of Computer

More information

Software Engineering Modern Approaches

Software Engineering Modern Approaches Software Engineering Modern Approaches Chapter : Software Process Eric Braude and Michael Bernstein Maintenance Testing The Software Development Lifecycle Implementation Design Phase most relevant to this

More information

SWE 211 Software Processes

SWE 211 Software Processes SWE 211 Software Processes These slides are designed and adapted from slides provided by Software Engineering 9 /e Addison Wesley 2011 by Ian Sommerville 1 Outlines Software process models Process activities

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

Lean Agile Methodologies Accentuate Benefits of Cloud Computing Yash Talreja, President, The Technology Gurus

Lean Agile Methodologies Accentuate Benefits of Cloud Computing Yash Talreja, President, The Technology Gurus Lean Agile Methodologies Accentuate Benefits of Cloud Computing Yash Talreja, President, The Technology Gurus Advances in technologies such as virtualization, storage and high-speed network access, as

More information

Agile & Lean / Kanban

Agile & Lean / Kanban Agile & Lean / Kanban 0 What is Lean? 1 Agile Development Methods (Dogma) extreme Programming (XP) Scrum Lean Software Development Behavior Driven Development (BDD) Feature Driven Development (FDD) Crystal

More information

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects Lifecycle of Software Projects ECE450 Software Engineering II Lifecycle models are useful to compare project management strategies in abstract terms Birds-eye view strategy Detect strengths and weaknesses...

More information

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016 Introduction to Software Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016 1 Goals Present an introduction to the topic of software life cycles concepts and terminology benefits

More information

Buses Don't Fly: Why the ESB is the Wrong Approach for Cloud Integration A SNAPLOGIC WHITEPAPER

Buses Don't Fly: Why the ESB is the Wrong Approach for Cloud Integration A SNAPLOGIC WHITEPAPER Buses Don't Fly: Why the ESB is the Wrong Approach for Cloud Integration A SNAPLOGIC WHITEPAPER 2 SOA was DOA Thanks to the ESB 3 Table of Contents Re-Inventing Integration in the 4 Enterprise SMAC Architecture

More information

Waterfall model is the earliest SDLC approach that was used for software development.

Waterfall model is the earliest SDLC approach that was used for software development. 1 Waterfall Model Guide These days there is a strong push for Agile Management, as opposed to Waterfall. Personally at Castellan Systems we believe that the agility should be applied to the project development

More information

WHITEPAPER. Art of Code-Free Blockchain Platform

WHITEPAPER. Art of Code-Free Blockchain Platform WHITEPAPER Art of Code-Free Blockchain Platform! Abstract A blockchain platform for experimentation can provide enterprises the much-needed capability to test and validate blockchain use cases rapidly.

More information

Enterprise PLM Solutions Advanced PLM Platform

Enterprise PLM Solutions Advanced PLM Platform Enterprise PLM Solutions Advanced PLM Platform The Aras Innovator Model-based SOA for Enterprise PLM Advantages of combining the Model-based Approach with a Service-Oriented Architecture Updated Edition

More information

CHAPTER 2 LITERATURE SURVEY

CHAPTER 2 LITERATURE SURVEY 10 CHAPTER 2 LITERATURE SURVEY This chapter provides the related work that has been done about the software performance requirements which includes the sub sections like requirements engineering, functional

More information

Using the Rational Unified Process for Small Projects: Expanding Upon extreme Programming

Using the Rational Unified Process for Small Projects: Expanding Upon extreme Programming Using the Rational Unified Process for Small Projects: Expanding Upon extreme Programming By: Gary Pollice Rational Software White Paper TP183, 3/01 Table of Contents Abstract... 1 Introduction... 1 A

More information

developer.* The Independent Magazine for Software Professionals Automating Software Development Processes by Tim Kitchens

developer.* The Independent Magazine for Software Professionals Automating Software Development Processes by Tim Kitchens developer.* The Independent Magazine for Software Professionals Automating Software Development Processes by Tim Kitchens Automating repetitive procedures can provide real value to software development

More information

ISEE Integrated System for Editing and Estimation

ISEE Integrated System for Editing and Estimation EFFICIENT STATISTICAL PRODUCTION SESSION F: CASE STUDIES PRICE STATISTICS AND A COMMON TOOL FOR EDITING ISEE Integrated System for Editing and Estimation Per Ola Haugen Statistics Norway ISEE Integrated

More information

SDLC Models- A Survey

SDLC Models- A Survey Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 1, January 2013,

More information

THE IMPORTANCE OF IMPLEMENTING SUSTAINABLE OPERATIONS MANAGEMENT SOFTWARE

THE IMPORTANCE OF IMPLEMENTING SUSTAINABLE OPERATIONS MANAGEMENT SOFTWARE THE IMPORTANCE OF IMPLEMENTING SUSTAINABLE OPERATIONS MANAGEMENT SOFTWARE WHITE PAPER (2016) Authors: Dr. Nicholas Hurley and Gordon Duthie MSc (j5 International) Contemporary businesses are looking for

More information

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions An Oracle White Paper February 2014 Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions Executive Overview... 1 Introduction... 1 Standards Based...

More information

Scrum - Introduction. Petri Heiramo. Agile Coach, CST

Scrum - Introduction. Petri Heiramo. Agile Coach, CST Scrum - Introduction Petri Heiramo Agile Coach, CST Scrum Started in the Harvard BR. The relay race approach to product development may conflict with the goals of maximum speed and flexibility. Instead

More information

Requirements for an MDM Solution

Requirements for an MDM Solution Requirements for an MDM Solution A proven approach for how to gather, document, and manage requirements for a Master Data Management solution from Inception through Implementation by Vicki McCracken Copyright

More information

Scrum. a description. V Scrum Alliance,Inc 1

Scrum. a description. V Scrum Alliance,Inc 1 Scrum a description V 2012.12.13 2012 Scrum Alliance,Inc 1 Scrum Principles Values from the Agile Manifesto Scrum is the best-known of the Agile frameworks. It is the source of much of the thinking behind

More information

Agile and Enterprise Architecture Synergy in Practice

Agile and Enterprise Architecture Synergy in Practice June 19, 2014 Agile and Enterprise Architecture Synergy in Practice 4100 E. Third Ave, Suite 205, Foster City, CA 94404 650-931-1651 www.cprime.com The leader in training and consulting for project management

More information

Organisational changes in migration to agile development strategies

Organisational changes in migration to agile development strategies Organisational changes in migration to agile development strategies A review of Challenges of migrating to agile methodologies Sridhar Nerur, Radha Kanta Mahapatra, George Mangalaraj in Communications

More information

THE ESSENCE OF AGILE. With Ryan Martens 1 WHAT ARE WE CHANGING WITH AGILE? Chapter 7. Conceptually, agile is simple. Most everything is different.

THE ESSENCE OF AGILE. With Ryan Martens 1 WHAT ARE WE CHANGING WITH AGILE? Chapter 7. Conceptually, agile is simple. Most everything is different. Chapter 7 THE ESSENCE OF AGILE With Ryan Martens 1 Conceptually, agile is simple. Most everything is different. WHAT ARE WE CHANGING WITH AGILE? We ve now reviewed a variety of agile methods and an iterative

More information

i-coin General non-technical platform definition

i-coin General non-technical platform definition General non-technical platform definition Propentus Oy, 2007 20.6.2007 HISTORY OF THIS DOCUMENT Version and date Author Description 1.0 / 22.3.2007 Sami Laaksonen First version was created. 1.1 / 27.3.2007

More information

Information Technology & Electrical Engineering

Information Technology & Electrical Engineering Software Development Lifecycle for Extreme Programming Aroosa Hameed Department of Computer Science, University Of Gujrat, Sub Campus Satellite Town, Rawalpindi E-mail:aroosahameed379@yahoo.com ABSTRACT

More information

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007 Unified Process and Testing with EasyAccept Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007 2 UP Unified Process, 1990 s Iterative, not agile Risk-driven development

More information

AHGILE A N D B O O K

AHGILE A N D B O O K AGILE HANDBOOK OVERVIEW 2 OVERVIEW This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people: Someone who is looking for a quick overview on what

More information

SOA Governance is For Life, Not Just a Strategy

SOA Governance is For Life, Not Just a Strategy SOA Governance is For Life, Not Just a Strategy Mark Simpson Consultancy Director, Griffiths Waite Your Speaker Mark Simpson Consultancy Director Griffiths Waite > 18 years Oracle development and architecture

More information