Goal-Driven Software Development
|
|
|
- Megan Skinner
- 9 years ago
- Views:
Transcription
1 Goal-Driven Software Development Ingo Schnabel itestra GmbH Ludwigstr. 35 Germany Kaufering Markus Pizka Institut für Informatik Technische Universität München Germany Garching Abstract Established software development processes focus on delivering software within time and budget according to a set of requirements. However, practical experiences show that neither business processes nor requirements can be fully understood in an early stage of a realistic software project. This is not primarily due to inadequate requirements elicitation but the fact that the technical implementation constitutes a formalization of a more or less fuzzy business domain revealing gaps and inconsistencies. Furthermore, the technology used adds constraints and enables new processes. Hence, trying to set the requirements in advance causes change requests, cost and time overruns, or even project cancellation. This paper continues the line of thought of iterative process models by regarding software development as a process iteratively converging business goals and technology from both sides. This goaldriven process is successfully applied in real-life commercial software projects and has repeatedly contributed to low cost but high quality software. 1 Convergence Vs. Refinement The role of information technology for business processes still seems to be underestimated. Software is no longer only a means to an end but has itself an enabling role and conversely changes business processes. Over the last 30 years, the rapidly increasing complexity of software systems along with the growing economic impact of large scale software projects gave rise to disciplined software development processes, such as the waterfall model [20], the spiral model or the Rational Unified Process [12], more lately. However, the recent emergence of agile [5] approaches promoting quite different development strategies demonstrates that software development processes are still far from having reached a stable or even finished state and significant improvements are still possible and needed. 1.1 Are Requirements Overrated? In this paper, we put one specific aspect of software development processes into question that is the prevalent strong concentration on requirements. As to our experience, the wide-spread misconception and overemphasis of requirements as an interface between business and software units repeatably causes excessive costs and reduced quality of the outcome. There are two main reasons for this: 1. Requirements are usually not identical with business objectives because the selection of requirements on the software part of the overall solution is usually already coined by the limited knowledge of the author of the requirements document about technical possibilities and their costs. E. g. for persons with non-technical backgrounds it is hard to understand that a certain behavior of a control on a graphical user interface might become excessively expensive whereas an extensive set of statistical analyzes might come almost for free on top of a relational database. Requirements documents written by these persons tend to include unnecessary expensive wishes while excluding technically simple features that would provide substantial benefit. 2. The development of a software system corresponds to a formalization of the supported business process. This formalization usually reveals inconsistencies and gaps within the current or target business process which in turn must be compensated with changes to the business process or the role of the software system. The result of these two effects is usually a large number of change requests during and after development entailing time an cost overruns. We argue that this is one of the main reasons, why user involvement stands in first place of project success factors. Vice versa, lack of user input as well as incomplete or changing requirements are top of the list in project challenge factors in the CHAOS reports [1].
2 1.2 Goal-Driven Development Instead of refining requirements down to an implementation we therefore recommend trying to find an optimal mapping between business objectives and capabilities of the technical platform in an iterative process. Figure 1 illustrates this subtle difference that has far reaching consequences on several roles and activities. While established software processes (on the left) refine requirements down to an implementation (hopefully iteratively to reduce risks), the Goal-driven Development Process (right) suggested in this paper equally considers and adjusts business goals and technical aspects to come to an optimal solution corresponding to the current situation. Outline The following section 2 explains the key principles of the goal-driven process proposed in this paper before we detail concrete activities of the goal-driven process in section 3. Section 4 discusses our practical experiences with the goal-driven process. This paper concludes with an overview on related work in section 5 and a brief summary in section 6. 2 Key Process Principles Identifying goals before setting the requirements influences several core process principles. The following paragraphs describe how goals can be identified and how this affects top-down versus bottom-up orientation, team organization, roles and project size. 2.1 Collaborative Goal Identification Our conception of business goals is closely related to the Goal-Question-Metric paradigm [3]. A top-level goal is defined as an informal description of what a stakeholder wants to change or improve in his business environment. Sample goals are: increasing our knowledge about items on stock or increasing the cost efficiency of marketing events. In contrast to this, invalid goals are the system should provide a listing of all items in stock in foo bar format.... As shown in figure 2 every goal may have one ore more subgoals. A set of questions is linked to every goal, which characterizes the way how software will be tested against defined goals after an iteration. A goal is attained, if every question of the goal is answered positively and all its subgoals are attained. Artifacts (such as requirement specifications, documents, source code etc.) can be assigned to leafs of the goal tree. Stakeholders and contractors have to collaborate closely to work out goals so that the stakeholders know what is feasible and contracts gain a deep understanding of the business processes respectively. While goal definition is topdown driven, deciding, if a goal is feasible is bottom-up oriented. In other words, the collaborative identification of goals brings knowledge of users and software developers together. 2.2 Top-Down and Bottom-Up Convergence Figure 1. Top-Down versus Convergence Most established processes refine requirements topdown to the implementation. The main advantage of topdown orientation is, that it allows a horizontal team organization. In contrast, bottom-up approaches try to provide generalized and therefore highly flexible and reusable compo-
3 Figure 2. Goals and subgoals
4 nents or services. In an environment of constant change and evolution, the bottom-up design approach produces systems that provide superior satisfaction to users compared to topdown developed ones [14, 18]. In the GDP the collaborative identification of goals allows to combine top-down with bottom-up aspects. We call this top-down thinking and bottom-up acting. As a result of a consequent top-down and bottom-up convergence a software developer is forced to maintain all artifacts appendant to a specific goal entailing a vertical team organization. 2.3 Vertical Team Organization In contrast to horizontally organized project teams, where programmers implement the solution specified by the modeling team, the vertical organization implied by the GDP requires skilled and qualified generalists. Every software developer has to be creative in order to find the best technical solutions corresponding to a high level business goal but is also responsible for delivering the implementation, because, again it is to expect that goals and subgoals need to be revised bottom-up according to knowledge gained during implementation. Obviously, a horizontal organization is often chosen in real life software projects, since many organizations try to decrease overall development time by increasing the number of people working on a software project though this clearly disregards software engineering literature [11]. However, providing specific positions that only require a narrow qualification, such as full-time modelers, greatly facilitates over staffing software projects. As to our experience a slim vertical project organization is by far more productive than a horizontally organized project with numerous specialists and communication interfaces between them. Table 1 summarizes some important differences between a vertical and horizontal team organization. The Unified Process is very clear about the fact that individual developers can and should take multiple roles on a project. Unfortunately, this advice still seems to fall on deaf ears within many organizations. In reality organizations tend to fill each role, such as requirements specifier, system analyst, user-interface designer, and database designer, with different people. The resulting communication overhead as well as emerging conflicts increase development time and costs dramatically. 2.4 Roles and People Because of its vertical organization the GDP requires skilled generalists with the ability to fulfill many roles of the process. The GDP distinguishes the following key roles. Programmers It is well known that the best programmers are up to a thousand times more productive than the worst, but the worst outnumber the best by a similar margin [6, 10]. Therefore, the programmers are the most important and therefore most expensive experts. They make the preliminary design and are responsible for top-down and bottom-up convergence. They have the main influence on delivering software in time and budget. Business Analyst Business analysts are important to understand the stakeholders business processes. The business analyst collaborates with the programmers during goal identification and later-on during testing. The business analyst should have a deep understanding of the stakeholders business domain. Software Architects The software architect s role [9] is closely connected to the programmers. In contrast to a programmer who focuses on one specific goal, the software architect keeps an eye on the whole project. Project Manager The primary task of a project manager is to organize the project by assigning resources, keeping track of time and effort, and creating a productive environment for the project team. Requirement Engineer To the extent of our experience, the role of requirement engineers and designers is often vastly overestimated. If once only job is to produce models, then there will be a strong tendency to over model things, as naturally everyone wants to do a good job. People Once again, without any doubt the three most important ingredients to achieve efficiency and productivity in software projects are skilled, qualified, and motivated people. Surely, this insight is not new for itself. Early work on the importance of people for successful software projects dates back to de Marcos Peopleware [8]. Agile processes such as XP and others [5, 4, 2] also focus on individual skills and communication. Practices such as pair programming aim at increasing the skills of individuals within the team, too. Collective code ownership and refactoring practices are further examples of how agile methods try to assign responsibility while requiring and increasing skills. As Grady Booch said, People are more important than processes [7]. The GDP follows this insight through vertical team organization and planning only a few different roles. 2.5 Minimizing Project Size Another commonly known key to success in large project is to minimize project size in all aspects. Minimizing
5 Vertical Team Organization Few but highly qualified staff needed Low communication overhead Everyone has to be familiar with (sub-)goals to which he is assigned Parallelization is simple to gain High motivation and strong identification with result Horizontal Team Organization Low qualified staff can be used Staff is exchangeable Many team members do not know any business objectives Parallelization limited due to sequential order of activities Lower motivation due to reduced responsibility for overall result Table 1. Vertical versus horizontal team organization project size does not only mean to limit the number of goals and software artifacts like documents, requirement specifications, models, etc. but also to limit the number of staff, to avoid mutual waiting (e.g requirements must be defined before implementation in established processes) and the size of the code. We know from experience that by consequently choosing a simple solution, the development time and the number of lines of code can both be reduced by about 50% compared to the application of flexible frameworks that might eventually become useful one time in the future. Minimizing size is the simple most effective measure to increase maintainability and changeability of the system to new and changing business processes in the future. Note, that business processes are the most likely factor to change over the time [17]. Changes of the database system or the technical environment a rather rare and unpredictable so that highly sophisticated complicated frameworks can hardly be justified. 3 Goal-Driven Activities Figure 3 depicts the core activities of the GDP and shows how their organization in iterations. Every iteration starts with the identification of business goals and their priorities and ends with a running version of the software system corresponding to the selected goals. While incremental development of the software system is also done in other processes, we extend the scope of iteration to include a discussion of business objectives after each iteration, because we frequently experience that the business objectives themselves mature with the availability of usable implementation. 3.1 Goal Identification The definition of goals is done in small groups of at most 5 people consisting of stakeholders and/or business analysts, and programmers. The stakeholders or business analyst have the responsibility to explain their goals to the programmers without taking any technical aspects of a possible solution into account. The responsibility of the programmer is threefold. First, they have to keep the business people attention focused on business objectives instead of technology. Second, they have to offer ideas on what could be done with information technology to achieve these goals. Third, they have to inform the business side on the different costs of possible alternatives to allow prioritization of goals. 3.2 Vertical Distribution of Tasks Based on the priorities of goals and individual skills of programmers, selected goals are assigned to groups of at most 4 programmers. Depending on the project one programmer may become associated with several goals vice versa. From there on, every programmer team decides for itself within a given boundary what (product) will be built how (activity), by whom and when. 3.3 Implementation and Testing Implementation and testing are the most important process disciplines and receive the greatest amount of time because implementation and testing are the only activities that directly affect product quality. In simple words, if the software system is well implemented and corresponds to the business objectives, the project will succeed! The GDP distinguishes between implementation-driven and goal-driven tests. Implementation-driven tests are done by the programmer permanently during implementation.
6 Figure 3. GDP iteration This includes writing and executing test cases as well as manual testing. Goal-driven tests are executed at the end of each iteration and compare the actual implementation with the questions formulated during goal identification. Note, that a lack of accordance, might indicate a defect in the implementation as in conventional testing but it might also indicate a weakness in the definition of goals. Both possibilities are taken into consideration. 4 Practical Experience The process sketched in this paper has already proven its benefits in commercial software projects 1 One example is a large-scale project with a total of more than 50 man-years, critical interest to the stakeholders and a tough deadline. Here, the GDP contributed to a 30% cost reduction comparing the development costs of 2005 with After the introduction of the GDP, the schedule of the development effort was considered as reliable for the first time since this project was initiated. Previous to the introduction of the GDP, about thirty people were involved and organized in a horizontal team structure; i. e. individuals were permanently allocated to single 1 Due to non-disclosure agreements, no details that would allow to draw conclusion about the site and purpose these projects can be published. roles like software architect, designer, or developer. Many of the team members were hired from a highly regarded software service provider in Germany to increase the qualification within the project team. After one year of work and nearly about 1 million Euros were spent, hundreds of documents were written, but hardly any software implemented. As a consequence the project was canceled and because of its importance restarted with the GDP and a reduced team size of 8 programmers and 2 business analysts. Within five months lines of code were written, tested and about 100 change requests were successfully built into the system. The stakeholders now feel, that the resulting software improves their business processes and are highly satisfied. As part of this success, the stakeholders have decided to proceed with the GDP. 5 Related Work The work described in this paper has obviously a strong relationship with process models such as the waterfall model [20], the V-Model 2 [16], or object-oriented process models like the rational unified process [13]. Statements such as the need for skilled personnel, minimizing project size and delivering early and often can also be found in agile 2 Standard used in German government projects
7 methods [2] like Scrum [19] or XP [4]. However, there is at least one significant difference between the GDP described in this paper and other process models. Virtually all other processes (even agile methods) focus on requirements and try to map them top-down to an implementation. The GDP regards goals instead of requirements and combines them with technical capabilities, which leads to an integrated top-down and bottom-up approach that yields superior benefit for the user. Organizational changes, such as vertical team organization, are a consequence of this goal-orientation. The idea to incorporate a bottom-up orientation into the development process is further influenced and supported by work on software evolution [15]. For example, the report about the successful long-term development and use of McIDAS [14] comes to the conclusions that a) requirements are not of paramount importance, user satisfaction is and b) that long-term success was not possible without a stubborn bottom-up approach. [18] gives further examples for the advantages of bottom-up orientation. 6 Summary This paper introduced the basics of an iterative and incremental software development process, called the goaldriven development process (GDP). Clearly, the GDP is no revolution and has many similarities with other process models. However, the subtle differences of the GDP have various consequences and can make a big difference for the output of the process. The two key contributions of the GDP are its concentration on business goals instead of requirements and the explicit integration of a bottom-up part. The combination of this two principles reflects the mutual dependency between business processes and information technology since information technology is not only a means to an end but it also enables new business processes. Practical experiences show that the GDP is capable of delivering high quality software at low cost. As to our experience, the main challenge but also one of the main benefits coming along with the GDP is keeping the user of software focused on business aspects instead of technology. Currently, business people are still putting an amazingly strong focus on technical aspects in their requirements specifications, such as requiring the use of certain languages, frameworks, architectures and standard products. In fact, technology seems to be the only motivation for many projects, such as a migration to a web-based solution! What the GDP is trying to suggest is that business users would be much better off with staying focused on their business expertise and collaborating with skilled technical people for the implementation of their goals. References [1] The chaos report. Technical report, Standish Group, [2] P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta. Agile software development methods. Review and Analysis VTT Publication 478, VTT Electronics, [3] V. R. Basili, G. Caldiera, and K. D. Rombach. Goal question metric paradigm. In J. J. Marciniak, editor, Encyclopedia of Software Engineering, volume 1, pages John Wiley & Sons, [4] K. Beck. Extreme Programming Explained: Embrace Change. Addison-Wesley, [5] K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, J. Kern, B. Marick, R. C. Martin, S. Mellor, K. Schwaber, J. Sutherland, and D. Thomas. Manifesto for agile software development. www, [6] B. Boehm. Software Engineering Economics. Prentice-Hall, [7] G. Booch. Object Solutions: Managing the Object-oriented Project. Addison-Wesley, [8] T. DeMarco and T. Lister. Peopleware: productive projects and teams. Dorset House, New York, [9] M. Fowler. Who needs an architect? IEEE Software, 20(5):11 13, Sept [10] J. Greenfield. The case for software factories. Microsoft Architects Journal, (3), July [11] F. P. B. jr. The Mythical Man-Month. Addison Wesley, [12] P. Kruchten. The Rational Unified Process: An Introduction, Second Edition. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, [13] C. Larman, P. Kruchten, and K. Bittner. How to fail with the rational unified process: Seven steps to pain and suffering. Technical report, Valtech Technologies and Rational Software, [14] M. A. Lazzara, J. Benson, R. Fox, D. Laitsch, J. Rueden, D. Santek, D. Wade, and J. T. Y. T. Whittaker. Man computer interactive data access system (mcidas): 25 years of interactive processing. Bull. Amer. Meteor. Soc, jan [15] M. Lehman and J. F. Ramil. Rules and tools for software evolution planning and management. Annals of Software Engineering, [16] M. Meisinger, A. Rausch, M. Deubler, M. Gnatz, U. Hammerschall, I. Küffer, and S. Vogel. Das V Modell 200x ein modulares Vorgehensmodell. In R. Kneuper, R. Petrasch, and M. Wiemers, editors, 11. Workshop der Fachgruppe WI-VM der Gesellschaft für Informatik e.v. (GI) zur Akzeptanz von Vorgehensmodellen. Shaker Verlag, [17] T. Panas, W. Löwe, and U. A smann. Towards the unified recovery architecture for reverse engineering. In B. Al-Ani, H. R. Arabnia, and Y. Mun, editors, Proc. of the Intern. Conf. on Software Engineering and Practice SERP 03, volume 1, pages , Las Vegas, NV, June CSREA Press. [18] M. Pizka and A. Bauer. A brief top-down and bottom-up philosophy on software evolution. In Proc. of the Int. Workshop on Principles of Software Evolution (IWPSE), Kyoto, Japan, Sept IEEE Computer Society. [19] L. Rising and N. S. Janoff. The scrum software development process for small teams. IEEE Softw., 17(4):26 32, [20] W. W. Royce. Managing the development of large software systems. In IEEE Wescon, pages 1 9, 1970.
Software Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
On the Agile Development of Virtual Reality Systems
10 Int'l Conf. Software Eng. Research and Practice SERP'15 On the Agile Development of Virtual Reality Systems F. Mattioli 1, D. Caetano 1, A. Cardoso 1, and E. Lamounier 1 1 Faculty of Electrical Engineering,
Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
INF5120 Modellbasert Systemutvikling
INF5120 Modellbasert Systemutvikling Forelesning 17.03.2005 Agile Methods & Architecture QVT ATL, MOF2Txt Arne-Jørgen Berre 1 INF5120 - Forelesninger - 2005 M: MDA, T: Eclipse, IBM tool, C: COMET, U: U
USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS
Journal of Applied Economics and Business USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS Nevenka Kirovska 1, Saso Koceski 2 Faculty of Computer Science, University Goce Delchev, Stip, Macedonia
Hamid Faridani ([email protected]) March 2011
Hamid Faridani ([email protected]) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering
Agile in Financial Services A Framework in Focus
Agile in Financial Services A Framework in Focus John B. Hudson, B.Sc, PMP, CSM PMI NJ Chapter February 19, 2013 19 Feb 2013 1 Objectives 1. Agile Development an Overview 2. The Agile Enterprise Infrastructure
Classical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
Introduction to Agile Software Development. EECS 690 Agile Software Development
Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into
Towards an Integration of Process Modeling and Project Planning
Towards an Integration of Process Modeling and Project Planning Michael Gnatz, Martin Deubler, Michael Meisinger Technische Universität München Institut für Informatik Boltzmannstr. 3, 85748 Garching (gnatzm
SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS
SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS Xihui Zhang University of North Alabama [email protected] Hua Dai University of Wisconsin-La Crosse [email protected] Tao Hu King College [email protected]
Comparing Agile Software Processes Based on the Software Development Project Requirements
CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical
Persona driven agile development
Persona driven agile development Build up a vision with personas, sketches and persona driven user stories Dominique Winter GreenPocket GmbH Cologne, Germany [email protected] Eva-Maria Holt
A Contrast and Comparison of Modern Software Process Models
A Contrast and Comparison of Modern Software Process s Pankaj Vohra Computer Science & Engineering Department Thapar University, Patiala Ashima Singh Computer Science & Engineering Department Thapar University,
Agile user-centred design
Agile user-centred design Marc McNeill Thoughtworks, 9th Floor Berkshire House 168-173 High Holborn London, WC1V 7AA Agile methods are becoming increasingly common in application design, with their collaborative
Agile Software Development Methodologies & Correlation with Employability Skills
Agile Software Development Methodologies & Correlation with Employability Skills Dineshkumar Lohiya School of Computer and Information Science University of South Australia, Adelaide [email protected]
Agile Project Management: Adapting project behaviors to the software development environment
Agile Project Management: Adapting project behaviors to the software development environment with Bill Doescher, PMP, CSM PrincipalConsultant and Product Development Director Business Management Consultants
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
Comparative Analysis of Different Agile Methodologies
Comparative Analysis of Different Agile Methodologies Shelly M. Phil (CS), Department of Computer Science, Punjabi University, Patiala-147002, Punjab, India Abstract: Today s business, political and economic
Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL
Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL ISCTE, 15 April 2005 Abstract 2 From anorexic to bulimic Overview of heavy-weight methodologies Origins of light-weight
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise
SWEN - Software Engineering Network Donnerstag 06. Mai. 2010
SWEN - Software Engineering Network Donnerstag 06. Mai. 2010 Agile Requirements Engineering Blaise Rey-Mermet, EVOCEAN GmbH, 2010 My background Executive Roles Dept. Head - Requirements Management & Engineering
TecEd White Paper User-Centered Design and the Agile Software Development Process: 7 Tips for Success
TecEd White Paper User-Centered Design and the Agile Software Development Process: 7 Tips for Success At-a-Glance Agile software development teams deliver successful products and applications through their
The Impact of Agile Methods on Software Project Management
2013, TextRoad Publication ISSN 2090-4304 Journal of Basic and Applied Scientific Research www.textroad.com The Impact of Agile Methods on Software Project Management Mahdad Khelghatdost *, Ali Mohsenzadeh
USING DEFECT ANALYSIS FEEDBACK FOR IMPROVING QUALITY AND PRODUCTIVITY IN ITERATIVE SOFTWARE DEVELOPMENT
USING DEFECT ANALYSIS FEEDBACK FOR IMPROVING QUALITY AND PRODUCTIVITY IN ITERATIVE SOFTWARE DEVELOPMENT Pankaj Jalote Department of Computer Science and Engineering Indian Institute of Technology Kanpur
14 Requirements Engineering for Agile Methods
14 Requirements Engineering for Agile Methods Alberto Sillitti and Giancarlo Succi Abstract: Collecting, understanding, and managing requirements is a critical aspect in all development methods. This is
Software Quality and Assurance in Waterfall model and XP - A Comparative Study
Software Quality and Assurance in Waterfall model and XP - A Comparative Study Dr. Sana a Jawdat Khalaf [email protected] Dr. Mohamed Noor Al-Jedaiah [email protected] Abstract: -Dealing with
Introduction to Software Engineering (ESE : Einführung in SE)
Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz Selected material courtesy of Prof. Serge Demeyer, U. Antwerp ESE Introduction Lecturers Assistants Lectures Exercises
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY
N ft n il Ionel CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY The Academy of Economic Studies Bucharest, Management Faculty, 6 Romana Square, Sector 1, Bucharest, Management Chair, E-mail:
Agile & the Declaration of Interdependence: A new approach to Process Improvement www.davidconsultinggroup.com
by Michael Harris ARTICLE There has been much said and written about the mythical conflict between the values and principles of the Manifesto for Agile Software Development 1 (http://agilemanifesto.org/)
Framework for Agile Methods Classification
Framework for Agile Methods Classification Adrian Iacovelli and Carine Souveyet Centre de Recherche en Informatique (CRI), Université Paris 1 - Panthon Sorbonne, 90 rue Tolbiac, 75013 Paris {adrian.iacovelli,carine.souveyet}@univ-paris1.fr
Software processes that are:
Agile Processes Software processes that are: Incremental (small software releases with rapid cycles) Cooperative (customer and developer working together with close communication) Straightforward (method
History of Agile Methods
Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software
An Approach for assessing the Quality of Software for small and medium sized firms
An Approach for assessing the Quality of Software for small and medium sized firms N. Veeranjaneyulu Associate Professor, School of Computing, Vignan University, Vadlamudi, India 1 Abstract: Software quality
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
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
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
Emergence Of Agile Software Development Methodologies: A Sri Lankan Software R & D Outlook
Emergence Of Agile Software Development Methodologies: A Sri Lankan Software R & D Outlook W.K.S.D Fernando, D.G.S.M Wijayarathne, J.S.D Fernando, M.P.L Mendis, C.D Manawadu Abstract: In software development
Agile Processes and Methodologies: A Conceptual Study
Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida [email protected] Darothi Sarkar Amity School of Engineering &
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
AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä
AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä Fact corner: SME of 250 developers Mobile & desktop sw Products sold globally EXAMPLE OF AN INNOVATIVE
Agile Software Development Approaches and Their History. Volkan Günal
Agile Software Development Approaches and Their History Volkan Günal August 3, 2012 2 ABSTRACT Author: Günal, Volkan Enterprise Software Engineering 2012: Agile Software Development (Seminar) With the
Product Derivation Process and Agile Approaches: Exploring the Integration Potential
Product Derivation Process and Agile Approaches: Exploring the Integration Potential Padraig O Leary, Muhammad Ali Babar, Steffen Thiel, Ita Richardson Lero, the Irish Software Engineering Research Centre,
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
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
Timeboxing: A Process Model for Iterative Software Development
Timeboxing: A Process Model for Iterative Software Development Pankaj Jalote, Aveejeet Palit Priya Kurien, V. T. Peethamber Infosys Technologies Limited Electronics City Bangalore - 561 229; India Fax:
CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE
CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE Zahra Askarinejad Amiri 1 1 Department of Computer Engineering, Staffordshire University ABSTRACT [email protected] As Information
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
Agile Project Management
Agile Project Management with Bill Doescher, PMP, MBA, CSM Pi Principal i lconsultant tand Product tdevelopment tdirector Bill Doescher, PMP, CSM Bill Doescher is a Principal Consultant and Product Development
Lifecycle Models: Waterfall / Spiral / EVO
Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software
Agile QA s Revolutionary Impact on Project Management
Agile QA s Revolutionary Impact on Project Management Introduction & Agenda Rachele Maurer Agile Coach, Platinum Edge Inc. PMP, CSM, PMI-ACP Agenda A quick overview of agile Current QA practices QA using
Agile Software Development
E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
PROJECT RISK MANAGEMENT MODEL BASED ON PRINCE2 AND SCRUM FRAMEWORKS
PROJECT RISK MANAGEMENT MODEL BASED ON PRINCE2 AND SCRUM FRAMEWORKS Martin Tomanek and Jan Juricek Department of Systems Analysis, University of Economics, Prague, Czech Republic ABSTRACT There is a lack
Software Lifecycles Models
Software Lifecycles Models Software Engineering Lecture 17 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline of Today s Lecture Modeling the software life cycle Sequential
CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman
CS435: Introduction to Software Engineering! " " " " " " " "Dr. M. Zhu! Chapter 3! Agile Development! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman
Laboratório de Desenvolvimento de Software
Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2015/16 Ademar Aguiar Nuno Flores Rui Maranhão Hugo Ferreira Luís Teixeira url: moodle http://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919
Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.
Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
Software Process. Successful Software Production between Extreme Programming and Rational Unified Process Short Version
Software Process Successful Software Production between Extreme Programming and Rational Unified Process Short Version Jörg Hofstetter, HTA Luzern (www.hta.fhz.ch) www.sweed.ch 2002, J. Hofstetter 1 Literature
Neglecting Agile Principles and Practices: A Case Study
Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil [email protected] Alexandre
"Bezpieczny Projekt"
Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010 www.omec.pl Software Development with Agile SCRUM Chandrashekhar Kachole 22 nd of June 2010 1 Let s keep the cell phones in Silent mode 2 Agenda
Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer
Software Development Life Cycle at SSPL An Summary of Methodologies We Offer 10/29/2009 Table of Contents The SSPL Advantage... 2 Commonly Used SDLC Models at SSPL... 2 Waterfall Model... 2 Agile Model...
The Role of Agile Methodology in Project Management
Edith Cowan University Research Online Australian Information Warfare and Security Conference Security Research Institute Conferences 2010 Success of Agile Environment in Complex Projects Abbass Ghanbary
That is, while there is value in the items on the right, we value the items on the left more.
Introduction to agile software development By Elizabeth Whitworth, [email protected] Excerpt from Master s Thesis: Agile Experience: Communication and Collaboration in Agile Software Development
Agile Project Management Jim Highsmith. Chapter 1. The Agile Revolution
Agile Project Management Jim Highsmith Chapter 1 The Agile Revolution Ultimate customer value is delivered at the point-of-sale, not the point-of-plan The key opportunity, uncertainty, and risk resides
Agile Inspired Risk Mitigation Techniques for Software Development Projects
Agile Inspired Risk Mitigation Techniques for Software Development Projects Presented at GTISLIG, Toronto November 15 th 2007 Michael Bica, Sogard Inc. 1 Roadmap I. Risks Heuristics Risks & Estimation
How To Model In An Agile World
Modelling in an Agile World John Daniels Fastnloose Limited www.fastnloose.com John Daniels Co-founder of Fastnloose Ltd Software development by dispersed teams Co-author of UML Components & Designing
WHAT MAKES AGILE DEVELOPMENT DIFFERENT?: A CASE STUDY OF
WHAT MAKES AGILE DEVELOPMENT DIFFERENT?: A CASE STUDY OF AGILE IN PRACTICE. Lewis Chasalow Virginia Commonwealth University [email protected] ABSTRACT Agile development methods have been described by
Scrum for Managers, Zurich March 2010
Scrum for Managers Microsoft Corporation / TechTalk Zurich Switzerland March 2010 About Mitch Lacey Mitch Lacey 13+ years of program and project management experience Microsoft Program Manager 2001 2006
EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development
EMC PERSPECTIVE Adopting an Agile Approach to OSS/BSS Development Reader ROI The agile software methodology is different from the traditional approach in that requirements gathering and analysis, design,
AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems
Global Journal of Computer Science and Technology: B Cloud and Distributed Volume 14 Issue 1 Version 1.0 Year 2014 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals
PENETRATION TESTING IN AGILE SOFTWARE DEVELOPMENT PROJECTS
PENETRATION TESTING IN AGILE SOFTWARE DEVELOPMENT PROJECTS Martin Tomanek and Tomas Klima Department of Systems Analysis, University of Economics, Prague, Czech Republic ABSTRACT Agile development methods
Software Requirements and Specification
Software Requirements and Specification Agile Methods SE3821 - Jay Urbain Credits: Beck, K. (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. Beck, Kent; et al. (2001).
Digital Transformation of the Enterprise for SMAC: Can Scrum help?
Digital Transformation of the Enterprise for SMAC: Can Scrum help? Scope of this Report October 2015 In this paper, we consider the impact of the digital transformation on software development and whether
Agile project management is a style of project management that focuses
Chapter 1 Modernizing Project Management In This Chapter Understanding why project management needs to change Finding out about agile project management Agile project management is a style of project management
Akhil Kumar 1, Bindu Goel 2
Factors Influencing Agile Practices: A Survey Akhil Kumar 1, Bindu Goel 2 1 (University School of Information Technology, GGS Indraprastha University, New Delhi-110075) 2 (University School of Information
Agile Engineering Introduction of a new Management Concept
Journal of Applied Leadership and Management 4, 39-47 39 Agile Engineering Introduction of a new Management Concept Philipp Hecker ([email protected]) Artur Kolb ([email protected])
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,
User and Client Satisfaction in Agile Development
User and Client Satisfaction in Agile Development Marta Larusdottir 1, Effie Law 2, Åsa Cajander 3 1 School of Computer Science, Reykjavik University, Iceland, Menntavegur 1, 101 Reykjavik 2 Department
Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK
IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational
Introduction to Software Engineering. 9. Project Management
Introduction to Software Engineering 9. Project Management Roadmap > Risk management > Scoping and estimation > Planning and scheduling > Dealing with delays > Staffing, directing, teamwork 2 Literature
Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield
Agile Software Development with Scrum Jeff Sutherland Gabrielle Benefield Agenda Introduction Overview of Methodologies Exercise; empirical learning Agile Manifesto Agile Values History of Scrum Exercise:
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
