The use of Trade-offs in the development of Web Applications
|
|
|
- Rosamund Jones
- 9 years ago
- Views:
Transcription
1 The use of Trade-offs in the development of Web Applications Sven Ziemer and Tor Stålhane Department of Computer and Information Science Norwegian University of Technology and Science {svenz, Abstract. The development of Web Applications has some special characteristics, such as very short Time-to-Market, parallel development and requirements that are not prioritized. This makes it hard to address quality attributes in a systematic way, to prioritize requirements and to resolve conflicts between them. The use of trade-off methods such as QFD will help to prioritize the right requirements and to resolve conflicts between them. 1 Introduction In recent years, the World Wide Web has become a popular platform for software application development. One of the reasons for this is the ease of software deployment. When the software has been installed or updated on a web server, it is available for all users within seconds. Today, we are using Web Applications in many domains, and are depending on the proper function of these applications. The same is true for many companies who are using their Web Application in an important part of their business. It is therefore a growing interest in how Web Applications are developed, and in the development practices used. Especially, there is an interest in how quality attributes are addressed during the development of Web Applications ([11], [12]). WebSys 1 is a research project whose main goal it is to develop high-quality research competence and concrete guidelines for industrial development of timely and reliable Web-based systems. The most important factors for the WebSys project are Time-to-Market, reliability and robustness. These factors can have a contradicting influence on each other. E.g., spending time to build a more reliable and robust system will increase the Time-to-Market. Therefore, these factors have to be balanced in a controlled way, making it possible to assess both the delivery time and how reliable and robust the system will be. This paper presents how Trade-off can be used to resolve conflicts that stem from contradicting requirements, conflicting expectations from the stakeholders, 1 The WebSys project is founded by the Norwegian Research Council (NFR)
2 and from the time-to-market requirements. We also show how the Quality Function Deployment (QFD) method is a suitable method for performing trade-offs. The rest of this paper is organized as follows: Section 2 describes Web Engineering Practices. Section 3 introduces how trade-offs can be used in Web Development, and section 4 shows how Quality Function Deployment can be used in this context. Conclusions are given in section 6. 2 Web Engineering Practice Web Applications are applications that offer contents and services that can be used by a Web browser. This opens for a wide range of Web Applications. There exists several categories of Web Applications ([13], [4], [7] and [3]), organizations can have different perceptions on Web Application Development [4], and they use Web Applications for different purposes. This makes it difficult to give a description of Web Application Development that matches every Web Development project. Based on some surveys for Web Application Development ([2], [8], [9] and [14]), and on a number of interviews conducted in the WebSys project with Norwegian companies, we will describe some development practices which are special for Web Development. This does not mean that these practices are not found in other software development projects, but practices are found in a more extreme version in Web Application Development. 2.1 Rush to market Web Development projects often have a short Time-to-Market (TTM) requirement. In some cases the development cycle for Web Applications is only some weeks. The short Time-to-Market is maybe the most important characteristic of web application development. All the development practices mentioned later are related to this one. In order to meet tight TTM requirements, development teams uses both evolutionary and parallel development. There may be other reasons for the use of ad hoc development processes (e.g. differences in development culture), but the force of the rush to market is a prominent reason. An interesting question is, what makes this TTM requirement so important. In our opinion, this lies outside the World Wide Web as such. It is rather a factor stemming from economics and marketing. It is about opportunities that can not be missed, and it is about presence in a competitive marked environment. This is happening when a company is focusing on the short term benefit only, such as accepting to deploy software with poor quality just to keep a market opportunity or to avoid that a competitor gets an advantage. It is also about reducing the economical risks. A small investment is made to implement a new function. This function will be evaluated by the internet users. If the investment pays off meaning that this functionality gets repeated visits from Internet user a new, and may be larger, investment can be made to improve the quality of this function.
3 In order to meet the TTM requirement, development teams are using some of the following practices. Evolutionary development The Web Application can be delivered in successive releases. For each release, new functionality will be added, and existing functionality can be improved. This is sometimes called Web Gardening [10]. New releases of the Web Application are deployed at a fixed time interval (e.g. every second week). As a consequence of this, to keep the deadline for each release is more important than the content of a new release. Functionality that was expected to be part of one release can easily be assigned to a later release. It is accepted that software is developed without addressing quality issues in the way they should and that this software is released. When problems with quality issues are discovered, the software can be improved in one of the future releases. In this way, the current quality of software becomes less important. Parallel development To meet the tight TTM requirements, development teams have to reduce the time for each development cycle. This is done by parallel development. In one iteration a developer can work on several releases. He can work on the implementation for the next release and on the planning for a future release. Ad hoc development process Web projects often uses an ad hoc development process. The development teams depend on the skills of the most experienced developers in the team. The development of Web Applications lacks the rigour and systematic approach, quality control and assurance. This contributes to what some authors have called a Web Crisis [10]. Requirements elicitation The requirements for Web Applications are evolving all the time. Prototypes are used to communicate with the customer, and they are also used to validate and refine the requirements. The prototypes can also be released. The development practices described above cause a number of problems and makes it difficult to use traditional methods for quality control and assurance. The competitive environment of the Web and the rush-to-market makes it difficult to keep a long-time focus. Hence, quality issues will be addressed later in the lifecycle than is the case for traditional software development. The way requirements are dealt with makes it hard to prioritize among the requirements, and using ad hoc processes results in lack of a systematic approach for Web Application engineering and a dependence on the skills and experience of individual developers. Using traditional methods for quality control takes too much time [14], they assume that a proper requirement specification has been produced, and that there will be both analysis and design activities. This is not the case, as web applications are developed without a proper specification of requirements, coding starts in some cases even before the requirements are stable, and there are no analysis and design activities. What is needed are not only methods for quality control and assurance that will work with these development practices. There is also a need for a method
4 that will help developers to prioritize the right requirements and to balance between conflicting requirements. This method must fit into the Web Development practices described here and be feasible for small project teams, since many Web Applications are developed by small project teams. 3 Trade-offs and Web Engineering In the WebSys project we are studying trade-off situations that can occur in a Web Development project. A trade-off situation consists of several elements. First, there are a number of requirements, which possibly are in conflict with each other. Second, we need an analysis of the advantages and disadvantages of the proposed requirements and the costs needed to meet them. Finally, a decision based on the identified advantages and disadvantages has to be made, balancing them to yield the best result possible. One trade-off situation for Web Engineering projects is the conflict between Time-to-Market and high quality. Both requirements are important, and we have to make a trade-off between sooner but worse and later but better. A web application can loose users if new functionality is first introduced on a competitors Web application. On the other hand, the only mechanism that brings users back to Web sites is high quality [11]. By using trade-offs we want to give small software projects a simple way to have an efficient decision making process. This is an important criteria for us, since we want to use methods that are well known, and easy and intuitive to understand and use. 3.1 The nature of Trade-offs The use of trade-offs will be helpful for Web Development projects with respect to the aforementioned problems. Trade-offs help to create awareness of the conflicts between contradicting requirements, success factors and goals for a project. A trade-off shows the conflicts and the possible solutions that can be used to resolve them. The consequences of the solutions are also shown. Thus, using a trade-off method helps the project to find the best available solution. This also makes a trade-off a tool for negotiation between stakeholders. The solution to the problem of conflicting requirements and interests from different stakeholders is usually one that make the most stakeholders satisfied. Using a trade-off is helpful in this kind of negotiation because all parties can see the consequences of their choices, and use this to find the proper balance. Trade-offs can help to find a balance between the short and long term benefits in a development project. In the end the preferred balance depends on the decision-makers. The trade-off method should show were the conflict between short and long term benefits is, and how these two views can be balanced in a compromise. Trade-offs help a project team to focus on a common goal, since the trade-off analysis described above is a group activity. The pros and cons of conflicting
5 requirement and solutions are discussed in the trade-off situation. Thus, all the available information is shared among the project team members, improving the communication in the development team and between all the stakeholders. All trade-offs imply changing one or more goals in the project. In order to do this, we need to make the goal measurable either directly or indirectly and relate it to our experience and state of the practice. There are several ways to make the goal measurable. In our opinion, the GQM process [16] is the most efficient way to achieve this. To relate the goal to experience and state of the practice we need three pieces of information: What is our standard, average performance related to the goal. What is the best we have ever done? What is to our knowledge the best that is done worldwide? The purpose of this exercise is to highlight the relationship between the goals and the resources and time necessary to achieve it. The message should be clear: if the trade-off process requires us to go beyond the best we have ever done, the probability of achieving this goal is small. By knowing our own limits, based on experience, we can assure that we keep our project goals realistic. An important parameter to consider during trade-off is the degrees of freedom available at the current stage of the project. The opportunities for making tradeoffs will decrease over time as we make more decisions. At the same time, our understanding of the product, the customer s need and so on increases over time. The paradox is that when we deliver the product, we have full understanding but can not change anything. There is a way out of this we need to increase our understanding from the start so that we have some information to base the early trade-offs on. This can be general knowledge or company-specific knowledge. 3.2 Five questions about trade-offs The discussion related to the five questions following below will give us a better understanding of how we want to use trade-offs in a development process. When to start a trade-off? Trade-offs can be started in two settings. Either the trade-off is scheduled or there are situational circumstances that triggers the need for a trade-off. Trade-offs can be planed for situations we know from our experience are critical for the development project. They can also be triggered when the project team runs into problems and conflicts that can not be easily resolved. This is the case when the consequences of some decision is unclear. What are the prerequisites for using trade-offs successful? A clear understanding of the conflict or problem is needed, in addition to a list of alternatives or solutions, and the consequences attached to them. This helps us to assess the conflict at hand, to assess the consequences of possible solutions and to choose among the solutions with respect to the desired outcome. It is important to look at solutions that can create a consensus.
6 How to perform a trade-off? For scheduled trade-offs this is straight forward. A member of the project team is assigned as responsible for this trade-off and have to prepare for it (see question on prerequisites for tradeoffs). In case of non-scheduled trade-offs this is more difficult. As soon as somebody involved in the project discovers a conflict that he can not resolve himself, he should prepare for a trade-off meeting and be responsible for that trade-off. The trade-off should be performed as a group activity, with the responsible team member acting as a moderator. We want the trade-off meeting to be as informal as possible, so that it can fit into the development practices. What are the results of a trade-off? A trade-off should result in a decision on what actions to take, and how to resolve the conflict at hand. An important thing about a trade-off is that the project team should have the same focus and at least a common understanding of the rational for the decision made or proposed. In some cases it may not be possible to find a decision, but rather a list of alternative decisions, with the final decision to be taken at some later time. The decision can be made by the same group when the project has gathered more knowledge about the unresolved conflict. How many persons can participate in a trade-off? There is a limit on the number of persons that can participate in trade-offs as they are described here. We believe that the upper limit is 10 persons, and that the optimal number of persons is four. The reason for keeping the number low is to avoid making trade-offs a formal event. By keeping trade-offs informal they can be used as a way to help speed up the decision process. The objective for trade-offs in the WebSys project is to find a simple way for the projects to clarify their goal and problems, to support a constructive communication about them, to help to gather all available information about them and to reach a decision based on consensus. 4 The use of Quality Function Deployment (QFD) The WebSys project has no intention of solving the trade-off problems once and for all. The problems and the spread of stakeholders competence are too diverse for that. Instead, we have put together a tool box that developers and project managers can use when they need to perform a trade-off [15]. When selecting trade-off tools for our tool box, we decided that our tools must fulfill the following requirements: Be easy to understand for all parties involved. Include both qualitative and quantitative information. Be applicable in all activities in a web project. Be applicable with all development methods and process models. Quality Function Deployment QFD for short is one of the methods in our toolbox. We find it easy to learn and use, and is well suited for the trade-off
7 situations described above, because of its flexibility. This method is described in [1], see also [5]. The following is a description and discussion of the Quality Function Deployment method, and a discussion of how it can be used in Web Development projects. 4.1 Quality Function Deployment QFD is a method for answering important questions during the requirement analysis, architectural design, technological assessment and implementation planning. We will here only consider the requirements phase, where QFD looks at the three important questions: what, how and how much. What what shall we implement? This is pertaining to the customer s requirements How what method, technique etc. shall we use to realize each requirement? How much how much resources shall we put into meeting the requirements? This will depend on the priority of each requirement and on how good these requirements are met by our competitors. Traditionally, the QFD matrix uses three symbols to indicate the relationships between the whats and the hows (strong correlation, weak correlation and conflicting relation). In order to use QFD in trade-off situations, we are using numerical values directly into the matrix for the following situations: 9 points, strong positive relation 3 points, weak positive relation 0 points, no relation Correspoinding for negative relations. Each tool, method and function the hows get a score that is the sum of the products of its relationship to each requirement. All the information can be shown in a matrix (see figure 1). This method has much in common with the Multiple Attribute Evaluation method [6] used in economy. 4.2 QFD for Web Development There are several factors that make the QFD well suited for trade-offs: The data needed requirement priorities and our current level for these requirements compared to our most important competitor(s). By requiring that these data must be available, we have taken a major step towards a sound basis for trade-offs. The importance and difficulty scores, which gives us a good idea of the work needed when using each tool or method and for implementing each function. How we relate to our main competitors both with current and new versions of our products.
8 QFD matrix for method 1: Tools, methods Requirements Weights Stakeholders: A = Marketing, C = Maintainance A C 1 Dynamic effects High Performance Short TTM Run on all browsers Tolerate bad data everywhere Total Stakeholder A Total Stakeholder B Method 1 Robust Pattern LoadTest Tool 1 Browser Test Total A Total B Us now Goal Product 1 Product 2 QFD matrix for method 2: Tools, methods Requirements Stakeholders: A = Marketing, C = Maintainance A C 1 Dynamic effects High Performance Short TTM Run on all browsers Tolerate bad data everywhere Total Stakeholder A Total Stakeholder B Weights Method 2 Robust Pattern LoadTest Tool 1 Browser Test Total A Total B Us now Goal Product 1 Product 2 Fig. 1. QFD Matrix for method 1 (top) and QFD Matrix for method 2 The description of how each tool, method and implemented function contributes to the delivered product. There are two important pieces of information here; we have to make sure that each line in the table have at least one marked column and the strength of the relationships the hows. The main importance of the information shown in the QFD matrix is that it improves the decision process by showing the stakeholders what they can manipulate and the consequences of their manipulations. Trade-off problems in web development can often be solved by using QFD. Also, the use of QFD can support the requirement elicitation of web projects. When using QFD the way we suggest, every stakeholder can rate the importance of each requirement, which will reveal potential conflicts among the stakeholders. The tool and methods available to fulfill the requirements can be rated according to how they influence the intended requirements and how they influence other requirements. The requirements can be compared to the requirements from a competitor. The whole process will help us to exclude unrealistic requirements, assign a low priority to nice-to-have requirements and to identify the most important requirements. When conflicts are discovered, the development team can identify advantages and disadvantages, and attach weights to each requirement. This will improve the communication inside the team, and with the stakeholders. All of this can be done without the use of formalized methods, by using ranking and weights in the QFD matrix (also called the House of Quality). In order to show how this will work, we look at a small scenario taken from a company we conducted an interview with: The marketing director of a company wants to include some dynamic effects into a Web Application to make it more
9 attractive to the main user group. The maintenance group on the other hand wants to achieve a high performance and to test this in advance. Also, short TTM, and the requirement run on all available web browsers are important requirements for the next version of the Web Application. In this situation a couple of conflicts have to be resolved: There is a value conflict between a marketing issue (dynamic effects) and maintenance (high performance), which can be seen from the different ratings these stakeholders (marketing = stakeholder A and maintenance = stakeholder C in fig 1) associate with these requirements. By comparing the weights of these requirements with two competitors (Product 1 and Product 2), a compromise can be reached, which makes this the best product when comparing it with the competitors. Two different methods are available to implement the dynamic effects and there is a possible conflict on which one to use. Method 1 will result in the best dynamic effect (indicated by a 9 in the first QFD matrix), whereas Method 2 will give a not so good, but still acceptable effect (indicated with a 3 in the second QFD matrix). When analyzing the consequences of both methods with respect to the other requirements, it becomes clear that Method 1 will have a negative influence on all other requirements. In this case the development team decides to use Method 2. In order to save time, the development team considered removing the requirement run on all available web browsers. This will remove the need to comply with the browser checklist, and to perform the Browser Test. However, the QFD matrix also shows us that we at the present are trailing way behind our most important competitors Product 1 and Product 2 in this matter. The new version was intended to bring us closer to our most important competitor Product 1. Since the competitors are considered to be better on the run on all browsers requirement, but about the same level for TTM, the team decides to keep the requirement. 5 Future Work So far, we have performed interviews with a number of companies to identify trade-off situations that these companies encounter during the development of Web Applications and to study how they are resolved. The next step in our work is to perform case studies with companies using QFD to perform tradeoffs. In addition, we will perform student experiments in a software engineering course. The goal of the experiments will be to see if student groups using QFD to perform trade-offs can make more informed decision given the short amount of time available. 6 Conclusions The development of web application is different from traditional software development. Among the most important differences is the strong Time-to-Marked
10 requirement, which makes it difficult to address quality attributes in a proper and systematic way. The development practices identified for Web development result in problems such as the lack of requirement prioritization, no long-time focus and no systematic development approach with respect to quality attributes. In the WebSys project we have looked at the decision making process with regard to functional and non-functional requirements, and how conflicts between them can be resolved by using trade-off methods. The method we are proposing is Quality Function Deployment. We find the use of trade-offs helpful for several reasons: trade-offs can create awareness about conflicting requirements, they can help to negotiate how to resolve conflicts, and they can help us to reach a consensus on the projects goal. References 1. Y. Akao. Quality Function Deployment. Productivity Press, Cambridge, MA, L. Baresi, S. Morasca, and P. Paolini. An empirical study on the design effort of web applications. In Proceedings of the 3rd International conference on Web Information Systems Engineering (WISE 2002), J. Conallen. Building Web Applications with UML, Second Edition. Addison- Wesley, Y. Deshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, and B. White. Web engineering. Journal of Web Engineering, 1(1):3 17, October R. B. Grady. Practial Software Metrics for Project Management and Process Improvement. Prentice Hall PTR, C.-L. Hwang and K. Yoon. Multiple Attribute Decision Making Methods and Applications. Springer Verlag, Berlin, Heidelberg, G. Kappel, B. Pröll, S. Reich, and W. Retschitzegger, editors. Web Engineering, chapter Web Engineering - Die Disciplin zur systematischen Entwicklung von Web- Anwendungen. dpunkt.verlag, A. McDonald and R. Welland. A survey of web engineering in practice. Technical Report TR , Departmend of Computing Science, University of Glasgow, A. McDonlad and R. Welland. Web engineering in practice. In Proccedings of the fourth WWW10 Workshop on WebEngineering, pages 21 30, S. Murugesan, Y. Deshpande, S. Hansen, and A. Ginige. A new discipline for webbased system development. In Proceedings of the Workshop on Web Engineering, ICSE99, J. Offutt. Quality attributes of web software applications. IEEE Software, 19(2):25 32, L. Olsina, G. Lafuente, and O. Pastor. Toward a reusable repository for web metrics. Journal of Web Engineering, 1(1):61 73, R. Pressman. Software Engineering A Practitioner s Approach, chapter 29. Mc- GrawHill, B. Ramesh, J. Pries-Heje, and R. Baskerville. Internet software engineering: A different class of processes. Annals of Software Engineering, 14(1-4): , T. Stålhane and S. Ziemer. A trade-off toolbox. Technical report, Department of Computer and Information Science, R. van Solingen and E. Berghout. The Goal/Question/Metric Method. McGraw- Hill, 1999.
Web Application Development Processes: Requirements, Demands and Challenges
Web Application Development Processes: Requirements, Demands and Challenges THAMER AL-ROUSAN 1, BASEM HADIDI 2, SHADI ALJAWARNEH 3 1, 3 Faculty of Science and Information Technology, Isra University, Amman,
Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations
Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Mennatallah H. Ibrahim Department of Computers and Information Sciences Institute
Partnering for Project Success: Project Manager and Business Analyst Collaboration
Partnering for Project Success: Project Manager and Business Analyst Collaboration By Barbara Carkenord, CBAP, Chris Cartwright, PMP, Robin Grace, CBAP, Larry Goldsmith, PMP, Elizabeth Larson, PMP, CBAP,
A Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
CDC UNIFIED PROCESS PRACTICES GUIDE
Document Purpose The purpose of this document is to provide guidance on the practice of Requirements Definition and to describe the practice overview, requirements, best practices, activities, and key
EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM
EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM Dr.Walid Qassim Qwaider Majmaah University College of Science and Humanities in Ghat Management Information Systems
270015 - IES - Introduction to Software Engineering
Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 747 - ESSI - Department of Service and Information System Engineering Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS
Requirements Engineering for Web Applications
Web Engineering Requirements Engineering for Web Applications Copyright 2013 Ioan Toma & Srdjan Komazec 1 What is the course structure? # Date Title 1 5 th March Web Engineering Introduction and Overview
Applying Agile Methods in Rapidly Changing Environments
Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
Requirements Engineering Process
Software Engineering Requirements Engineering Process Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To describe the principal requirements engineering activities and d their
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
http://www.io4pm.org IO4PM - International Organization for Project Management
THE ONLY BOOK CAN SIMPLY LEARN PROJECT MANAGEMENT! Page 1 Contents ABOUT THE AUTHOR... 3 WHAT IS PROJECT MANAGEMENT?... 5 ORGANIZATIONAL INFLUENCES AND PROJECT LIFECYCLE... 11 PROJECT MANAGEMENT PROCESSES...
Risk Analysis and Web Project Management
614 JOURNAL OF SOFTWARE, VOL. 4, NO. 6, AUGUST 2009 Risk Analysis and Web Project Management Thamer Al-Rousan, Shahida Sulaiman and Rosalina Abdul Salam School of Computer Sciences, Universiti Sains Malaysia,
Agile Techniques for Object Databases
db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and
GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
13_BOLCHINI.qxd 3/26/2003 10:25 Pagina 187 SComS: New Media in Education (2003) 187-191 DAVIDE BOLCHINI* GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
Software Requirements, Third Edition
j Microsoft Software Requirements, Third Edition Karl Wiegers and Joy Beatty Contents Introduction Acknowledgments xxv xxxi PART I SOFTWARE REQUIREMENTS: WHAT, WHY, AND WHO Chapter 1 The essential software
Practical Experiences of Agility in the Telecom Industry
Practical Experiences of Agility in the Telecom Industry Jari Vanhanen 1, Jouni Jartti 2, and Tuomo Kähkönen 2 1 Helsinki University of Technology, Software Business and Engineering Institute, P.O. Box
CS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao
Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
Using Analytic Hierarchy Process (AHP) Method to Prioritise Human Resources in Substitution Problem
Using Analytic Hierarchy Process (AHP) Method to Raymond Ho-Leung TSOI Software Quality Institute Griffith University *Email:[email protected] Abstract In general, software project development is often
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
An Analysis of Textbooks for Web Engineering
An Analysis of Textbooks for Web Engineering Birgit Pröll 1, Siegfried Reich 2, 1 Johannes Kepler University Linz, Altenbergerstr. 69, 4040 Linz, Austria [email protected] 2 Salzburg Research, Jakob Haringer
Development of Virtual Lab System through Application of Fuzzy Analytic Hierarchy Process
Development of Virtual Lab System through Application of Fuzzy Analytic Hierarchy Process Chun Yong Chong, Sai Peck Lee, Teck Chaw Ling Faculty of Computer Science and Information Technology, University
Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504
Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504 Dipak Surie, Email : [email protected] Computing Science Department Umea University, Umea, Sweden Abstract. During software development,
Benefits of Test Automation for Agile Testing
Benefits of Test Automation for Agile Testing Manu GV 1, Namratha M 2, Pradeep 3 1 Technical Lead-Testing Calsoft Labs, Bangalore, India 2 Assistant Professor, BMSCE, Bangalore, India 3 Software Engineer,
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
The W-MODEL Strengthening the Bond Between Development and Test
Andreas Spillner Dr. Spillner is working as Professor at the Hochschule Bremen (University of Applied Sciences) where he is responsible for software engineering and real time systems. Dr. Spillner has
How To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
Bidirectional Tracing of Requirements in Embedded Software Development
Bidirectional Tracing of Requirements in Embedded Software Development Barbara Draxler Fachbereich Informatik Universität Salzburg Abstract Nowadays, the increased complexity of embedded systems applications
The Specifics of WEB Project Management
Mirjana Marić, Zoran Ćirić The Specifics of WEB Project Management Article Info:, Vol. 8 (2013), No. 2, pp. 008-012 Received 25 February 2013 Accepted 20 April 2013 UDC 005:004.738.5 Summary According
Web Application Development Process
Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements
Towards Collaborative Requirements Engineering Tool for ERP product customization
Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,
IT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
Requirements Engineering: Elicitation Techniques
2008:PR003 Requirements Engineering: Elicitation Techniques Sai Ganesh. Gunda Source:http://www.marcocioffi.com/archives/2005/04/requirements-engineering/ MASTER S THESIS Software Engineering, 2008 Department
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
The most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
Agile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
How To Choose A System Development Life Cycle
EVALUATING THE SYSTEMS DEVLOPMENT LIFE CYCLE Dr. Roy A. Boggs, Florida Gulf Coast University, [email protected] David DeMoya, Florida Gulf Coast University, [email protected] ABSTRACT The Systems Development
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
On Efficient Collaboration between Lawyers and Software Engineers when Transforming Legal Regulations to Law-related Requirements
Proceedings of the 2n d International Conference on Information Technology, ICIT 2010 28-30 June 2010, Gdansk, Poland. On Efficient Collaboration between Lawyers and Software Engineers when Transforming
Efficiency Criteria in Software Project Management
124 Economy Informatics vol. 13, no. 1/2013 Efficiency Criteria in Software Project Management Cecilia CIOLOCA, Mihai GEORGESCU, Mihai CURTEANU Academy of Economics Studies, Bucharest, Romania [email protected],
Web Applications Development and Software Process Improvement in Small Software Firms: a Review
Web Applications Development and Software Process Improvement in Small Software Firms: a Review Haroon Tarawneh Al-balqa Applied University [email protected] Sattam Allahawiah Al-balqa Applied University
The profile of your work on an Agile project will be very different. Agile projects have several things in common:
The Agile Business Analyst IT s all about being Agile? You re working as a Business Analyst in a traditional project environment, specifying the requirements for IT Developers to build. Suddenly everyone
Evolving a Ultra-Flow Software Development Life Cycle Model
RESEARCH ARTICLE International Journal of Computer Techniques - Volume 2 Issue 4, July - Aug Year Evolving a Ultra-Flow Software Development Life Cycle Model Divya G.R.*, Kavitha S.** *(Computer Science,
Journal of Internet Banking and Commerce
Journal of Internet Banking and Commerce An open access Internet journal (http://www.arraydev.com/commerce/jibc/) Journal of Internet Banking and Commerce, August 2011, vol. 16, no.2 (http://www.arraydev.com/commerce/jibc/)
The Spiral development model is a risk-driven process model generator. It
1.1 Methodology Research 1.1.1 Spiral Model The Spiral development model is a risk-driven process model generator. It is used to guide multi-stakeholder concurrent engineering of software-intensive systems.
The Role of the Software Architect
IBM Software Group The Role of the Software Architect Peter Eeles [email protected] 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation
Towards a New Methodology for Developing Web-Based Systems
Towards a New Methodology for Developing Web-Based Systems Omer Ishag Eldai, Ahmed Hassan M. H. Ali, and S. Raviraja Abstract Web-based systems have become increasingly important due to the fact that the
SOFTWARE ESTIMATING RULES OF THUMB. Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007
SOFTWARE ESTIMATING RULES OF THUMB Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007 Abstract Accurate software estimating is too difficult for simple rules of thumb. Yet in spite
Big Data Services From Hitachi Data Systems
SOLUTION PROFILE Big Data Services From Hitachi Data Systems Create Strategy, Implement and Manage a Solution for Big Data for Your Organization Big Data Consulting Services and Big Data Transition Services
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
Introduction to Software Engineering
CS1Ah Lecture Note 7 Introduction to Software Engineering In this note we provide an overview of Software Engineering. The presentation in this lecture is intended to map out much of what we will study
METRICS DRIVEN CONTINUAL SERVICE IMPROVEMENT USING AGILE CONCEPTS
METRICS DRIVEN CONTINUAL SERVICE IMPROVEMENT USING AGILE CONCEPTS John Osteen B Cognizant Business Consulting Process Quality Consulting Cognizant Technology Solutions, Chennai, India [email protected]
A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering
A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering Elizabeth Bjarnason, Krzysztof Wnuk, Björn Regnell Department of Computer Science, Lund University,
Business Process Configuration with NFRs and Context-Awareness
Business Process Configuration with NFRs and Context-Awareness Emanuel Santos 1, João Pimentel 1, Tarcisio Pereira 1, Karolyne Oliveira 1, and Jaelson Castro 1 Universidade Federal de Pernambuco, Centro
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison
Requirements engineering and quality attributes
Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
Realizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
Successfully managing geographically distributed development
IBM Rational SCM solutions for distributed development August 2004 Successfully managing geographically distributed development Karen Wade SCM Product Marketing Manager IBM Software Group Page 2 Contents
STUDY OF SPI FRAMEWORK FOR CMMI CONTINUOUS MODEL BASED ON QFD
STUDY OF SPI FRAMEWORK FOR CMMI CONTINUOUS MODEL BASED ON QFD 1,2 YONGHUI CAO 1 School of Economics & Management, Henan Institute of Science and Technology 2 School of Management, Zhejiang University,
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
Dynamic Change Management for Fast-tracking Construction Projects
Dynamic Change Management for Fast-tracking Construction Projects by Moonseo Park 1 ABSTRACT: Uncertainties make construction dynamic and unstable, mostly by creating non value-adding change iterations
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
Requirements Engineering and Agile Software Development
1 Requirements Engineering and Agile Software Development Frauke Paetsch Fachhochschule Mannheim [email protected] Dr. Armin Eberlein University of Calgary [email protected] Dr. Frank Maurer
Web Engineering - Old wine in new bottles? *
Web Engineering - Old wine in new bottles? * Gerti Kappel 1, Elke Michlmayr 2, Birgit Pröll 3, Siegfried Reich 4, Werner Retschitzegger 5 1 Business Informatics Group (BIG), Vienna University of Technology
SOA for Healthcare: Promises and Pitfalls
SOA for Healthcare: Promises and Pitfalls Dennis B. Smith [email protected] SOA in Health Care Conference: Value in a Time of Change Chicago, IL USA June 3, 2009 Agenda Healthcare IT Challenges SOA: The
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 3 Basics of Software Life Cycle and Waterfall Model Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a
Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.
Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"
COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS
COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS *1 Mrs. Kalaivani S., * 2 Mrs. Kavitha S., *1 M.Phil Research Scholar, Department of Computer Science Auxilium College (Autonomous), Vellore, TamilNadu,
Foundations for Systems Development
Foundations for Systems Development ASSIGNMENT 1 Read this assignment introduction. Then, read Chapter 1, The Systems Development Environment, on pages 2 25 in your textbook. What Is Systems Analysis and
ISO, CMMI and PMBOK Risk Management: a Comparative Analysis
ISO, CMMI and PMBOK Risk Management: a Comparative Analysis Cristine Martins Gomes de Gusmão Federal University of Pernambuco / Informatics Center Hermano Perrelli de Moura Federal University of Pernambuco
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, [email protected] 2 Faculty
SLA Business Management Based on Key Performance Indicators
, July 4-6, 2012, London, U.K. SLA Business Management Based on Key Performance Indicators S. Al Aloussi Abstract-It is increasingly important that Service Level Agreements (SLAs) are taken into account
Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>
DEPARTMENT OF HEALTH AND HUMAN SERVICES ENTERPRISE PERFORMANCE LIFE CYCLE FRAMEWORK PRACTIICES GUIIDE REQUIREMENTS DEFINITION Issue Date: Revision Date: Document
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
