Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD
|
|
- Cecil Cook
- 8 years ago
- Views:
Transcription
1 Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD
2 Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored: The Case Against XP, Apress. Fowler, 2000, Refactoring: Improving the Design of Existing Code, Addison-Wesley. Martin, 2003, Agile Software Development: Principles, Patterns, and Practices, Prentice-Hall. Extensive discussions on comp.object Ebert 2000, ics121/
3 Three Techniques Discussed Here Waterfall (Royce, 1970) Spiral Model (Boehm, 1988) Extreme Programming (XP, Beck, 1996+) XP is an example of an agile method that we will study in detail.
4 Waterfall Reqs Arch Design Code Intg Accept
5 Waterfall Elements Feasibility Analysis (not included in estimate) Requirements Definition (20% of costs) Architectural Design (20% of costs) Detailed Design (20% of costs) Code/Unit Test (20% of costs) Integration (20% of costs) Acceptance Test (20% of costs) Operations and Maintenance (100+% of costs) Note these costs sum to more than 100%! Feasibility analysis, requirements definition, and operations and maintenance are usually not included in the quoted cost!
6 Waterfall Tradeoffs Advantages: Economical Fast Disadvantages: Requirements must be known up front. No mechanism for risk buy-down. Cost to repair requirements errors is high, especially missing requirements.
7 Waterfall Costs Rough Order of Magnitude (ROM)! For life-critical or good quality commercial software: about 320 software lines of code per man-month. For prototype or post-graduate student coding: about 1000 software lines of code per manmonth. The ROM estimates are for tested and fully documented code. For better estimates, use Boehm (1981).
8 Waterfall Variants Incremental Development Based on Brooks build-it-twice approach. Software should be built in increments of functional capability. Has worked on very large programs. Advancemenship Anticipatory documentation Software scaffolding Reduces overall costs and front-loads the software labor distribution Often builds software that is never used, though.
9 Spiral Model
10 Spiral Model Approach Prior to a final waterfall, risks are explored by incremental changes to a prototype. The stakeholders always have the option of rejecting an increment and redirecting the program. Costs more than Waterfall and takes longer, but has reduced risks.
11 Extreme Programming (Beck, 1998, in Cunningham s wiki) Is defined by the following: Values Practices Activities Roles Intended to flatten the cost of change curve.
12 XP Values Communication verbal, with a collocated team. Simplicity always do the simplest thing that can possibly work. Feedback continuous from the customer. Courage willingness to change.
13 XP Practices Test-driven development User stories The planning game Whole team Short cycles Metaphor Simple design Refactor mercilessly Collective ownership Pair programming Continuous integration Sustainable pace Coding standards Acceptance tests (Emergent design)
14 XP Activities Coding Testing Listening Designing
15 XP Roles Programmer Tester Tracker Coach Consultant Big boss
16 XP Life Cycle Evolutionary development Coding is continuous Iterations of 1-3 weeks Design -> Code -> Integrate -> Test Repeated several times a day Based on stories
17 Problems Targeted by XP Lack of communication Requirements volatility Software development that isn t used. Out of date documentation Obsolescence
18 Interaction Between Practices XP is believed to work only when all practices are followed. Then the weaknesses of one practices are covered by the strengths of others. For example: Use of emergent design is well-known to be risky. Constant refactoring protects against that risk. Constant refactoring is a time sink and a source of bugs extensive unit testing protects against that. Reliance on unit tests does not validate the design. Pair programming protects against design errors.
19 Test-Driven Development The test-driven development is the method of software development where tests specify interfaces of implementation and all code must have passed the tests. (Wikipedia)
20 How Bob Martin Describes It (personal communication) Erwin: TDD as I understand it: 1. Write a test for a bit of functionality. 2. Show that it fails. 3. Write the code to make the test pass. Martin: A good summary, but there's more. 1. We do not write production code until there is a failing test. 2. We write the simplest possible production code to get the test to pass. 3. We do not write more tests when we have a failing test. 4. We do not add to a failing test.
21 Martin Comments Further If you watched someone doing TDD you would see them oscillating between test code and production code once every minute or so. During each oscillation the programmer would add a few lines to his test code, thus making it fail (or not compile) and then add just a few lines to his production code in order to make the test pass (or compile). Each oscillation is so simple that it's not worth taking. Each oscillation is so simple that the risk of error is close to zero. If you walk into a room of people working this way, and chose anyone at random, a minute ago all his code would have been working.
22 Pair Programming Pair Programming (ExtremeProgrammingPractice) requires two engineers to participate in one development effort at one workstation. Each member performs the action the other is not currently doing: While one types in unit tests the other thinks about the class that will satisfy the test, for example. Studies have shown that, after training for the "PeopleSkills" involved two programmers are more than twice as productive as one for a given task. (Wikipedia)
23 The Planning Game Planning is an emotional minefield. Of course Development would like to program faster. Of course the project manager would like to be able to say exactly how fast Development can go. Of course Business would like to be able to say exactly what they want. Of course Business would rather not change its mind. When any of the participants in planning begin acting these wishes (or rather in accordance with the fears that lie behind each wish), then planning doesn't work well. (Wikipedia)
24 How to Plan Maintain velocity. Merging and splitting stories: User stories should be right-sized. Prototyping sessions are called spikes. These allow the team s velocity to be estimated.
25 Refactoring Deals with code rot. Refactoring is a technique to restructure code in a disciplined way. For a long time it was a piece of programmer lore, done with varying degrees of discipline by experienced developers, but not passed on in a coherent way. (Fowler)
26 Simple Design The simplest design that can meet the current set of user stories. You aren t going to need it. Once and only once no code duplication.
27 What do I recommend? If you already know what you need to do, use Waterfall. If you need to control risks and clarify requirements, use Spiral Model. If you don t know where you re going (or your customer doesn t), use XP.
28 What Practices are Simply Good? These practices should be followed independently of development model: Test-driven development Short cycles (early warning) Metaphor (leadership) Simple design (KISS) Refactor mercilessly (isn t Eclipse wonderful?) Pair programming* (more productive than alone) Sustainable pace (ever been fried?) Coding standards (for yourself if noone else) *except on homework projects
Extreme Programming, an agile software development process
Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
More informationAgile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem
Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
More informationAgile processes. Extreme Programming, an agile software development process
Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
More informationExtreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
More informationXP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories
XP & Scrum Beatrice Åkerblom beatrice@dsv.su.se extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or
More informationCSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
More informationXP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich
XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven
More informationIntroduction to extreme Programming (XP)
Introduction to extreme Programming (XP) Extreme Programming (XP) Kent Beck C3 Project Chrysler Comprehensive Compensation system. XP Values: Communication Courage Feedback Simplicity Established the Twelve
More informationLearning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden
Learning and Coaching Agile Methods Görel Hedin Computer Science Lund University, Sweden Background Two undergraduate courses at Lund University XP course (mandatory, 2nd year, around 100 students) Coaching
More informationIntroduction 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
More informationAgile with XP and Scrum
Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been
More informationAgile Development with C#
Agile Development with C# Paweł Jarosz, pjarosz@pk.edu.pl Cracow University of Technology, Poland Jyvaskyla University of Applied Sciences, February 2009 Paweł Jarosz who am I? M.Sc. of Applied Physics
More informationSoftware Development Life Cycle Models - Process Models. Week 2, Session 1
Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative
More informationDeep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries
Deep Agile Blending Scrum and Extreme Programming Jeff Sutherland Ron Jeffries Separation of XP and Scrum Methods * Largely Historical * XP chose to write more down * XP programmer focus * Successful Scrum
More informationXP and Design. Paulo Caroli & Sudhindra Rao. ThoughtWorks
XP and Design Paulo Caroli & Sudhindra Rao ThoughtWorks XP and Design Where did the Design phase go? About us About us 14 + 6 About us Certified Architect About us Agile Coach / Developer Agenda Agenda
More informationIngegneria 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
More informationSECC Agile Foundation Certificate Examination Handbook
Versions 2.0 Version Date Remarks 1.0 12/4/2012 Initial version 2.0 3/8/2008 REVISION HISTORY Updated knowledge areas Added questions examples Updated suggested readings section Page 2 of 15 Version 2.0
More informationLife Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
More informationAn Introduction to Extreme Programming
An Introduction to Extreme Programming Ken Auer kauer@rolemodelsoft.com http://www.rolemodelsoft.com RoleModel Software, Inc. 5004 Rossmore Dr. Fuquay-Varina, NC 27526 919-557-6352 Page 1 The Joy of Software
More informationIn 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
More informationAgile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations
www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant
More informationExtreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006
Extreme Programming Sergey Konovalov and Stefan Misslinger May 23, 2006 1 Contents 1 Introduction 3 2 Why do we need XP? 3 3 Economics of Software Development 4 4 Extreme Programming Values 4 5 Extreme
More informationXtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda
Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or
More informationAgile Testing and Extreme Programming
Agile Testing and Extreme Programming bret@pettichord.com www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals
More informationSOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS
SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS Xihui Zhang University of North Alabama xzhang6@una.edu Hua Dai University of Wisconsin-La Crosse dai.hua@uwlax.edu Tao Hu King College thu@king.edu
More informationGénie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming
Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus
More informationLecture 21 March 7, 2013
ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 21 March 7, 2013 Patrick Lam version 1 Software Development Lifecycle If you re asked to develop a software project, you re likely to
More informationAgile Software Development. Venkat Subramaniam svenkat@cs.uh.edu. Agile Software Development
Agile Software Development Venkat Subramaniam svenkat@cs.uh.edu Agile Software Development - 1 Agile Software Development State of Software Development Agility Planning Daily Activity Conclusion Agile
More informationSoftware 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
More informationSOFTWARE ENGINEERING CSC 423 B - MWF 11-12 EXTREME PROGRAMMING
SOFTWARE ENGINEERING CSC 423 B - MWF 11-12 EXTREME PROGRAMMING TO: Dr. Khaldoun El Khalidi FROM: Lamia Nassif, Jessy, Nadine Ghanem, & Pedro Maroun Eid Due: 20 March 2002 1 Table of Contents I. ABSTRACT...3
More informationContents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31
Contents 1 Introduction 1 1.1 WhyThisBook? 1 1.2 A Bit of History 1 1.3 What Is Agile Software Development? 2 1.4 WhyBe Agile? 3 1.5 What This Book Is About? 3 1.6 Implementation Languages 3 1.7 The Structure
More informationSinghania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia
www.ijcsi.org 441 A Comprehensive Study of Commonly Practiced Heavy and Light Weight Software Methodologies 1 Asif Irshad Khan, 2 Rizwan Jameel Qurashi and 3 Usman Ali Khan 1 Department of Computer Science
More informationTopics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
More informationAgile Methodologies and Its Processes
International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information
More informationIntroduction to Agile Software Development Process. Software Development Life Cycles
Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative
More informationLaborató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
More informationAgile Software Development
Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies
More informationAgile and Secure: Can We Be Both?
Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. keith.landrus@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission
More informationASSESSMENT OF SOFTWARE PROCESS MODELS
ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development
More informationIntroduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.
An Introduction to extreme Programming Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Extreme Programming (XP) is a (very) lightweight incremental software
More informationAgile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
More informationAgile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering
Agile Models 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the
More informationGénie Logiciel Avancé Cours 6 Extreme Programming
Génie Logiciel Avancé Cours 6 Extreme Programming Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/zack/teaching/1112/gla/ Copyright
More informationA Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
More informationINTERNATIONAL 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
More informationQuality Assurance Software Development Processes
Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed
More informationSoftware Life Cycles and Configuration Management
Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction
More informationSoftware Development Methodologies
Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming
More informationExtreme Programming: Strengths and Weaknesses
The International Arab Conference on Information Technology (ACIT 2013) Extreme Programming: Strengths and Weaknesses Ahmad dalalah Prep. Year Deanship University of Hail, SA a.dalalah@uoh.edu.sa Abstract:
More informationTest Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.
Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on
More informationEXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT
EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, cruceruanca@yahoo.com, 0723508894
More informationAgile Software Development and Service Science
Agile Software Development and Service Science How to develop IT-enabled Services in an Interdisciplinary Environment Andreas Meier Institute of Applied Information Technology (InIT) Zurich University
More informationextreme Programming An Overview
extreme Programming An Overview Methoden und Werkzeuge der Softwareproduktion WS 1999/2000 Author Thomas Dudziak 1 INTRODUCTION... 4 WHAT IS EXTREME PROGRAMMING?... 4 OUTLINE... 4 BASIC CONCEPTS... 5 THE
More informationExtreme Programming - A Model For Agile Software Development
International Journal of Information Technology and Knowledge Management July-December 2010, Volume 3, No. 2, pp. 699-705 EXTREME PROGRAMMING: NEWLY ACCLAIMED AGILE SYSTEM DEVELOPMENT PROCESS Er. Rohini
More informationTest-Driven Development
Test-Driven Development An Introduction Mattias Ståhlberg mattias.stahlberg@enea.com Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.
More informationUsing Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
More informationAgile Project Management By Mark C. Layton
Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management
More informationAgile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
More informationSoftware 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...
More informationThe Role of Software Quality in Agile Software Development Methodologies Osama Sohaib and Khalid Khan Abstract he various agile software development methodologies have promoted since their inception and
More informationAn Assessment between Software Development Life Cycle Models of Software Engineering
International Journal of Electronics and Computer Science Engineering 700 Available Online at www.ijecse.org ISSN- 2277-1956 An Assessment between Software Development Life Cycle Models of Software Engineering
More informationRapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
More informationComparing 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
More informationA Comparison between Five Models of Software Engineering
International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College
More informationSelecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell
ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree
More informationSOFTWARE 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
More informationA Comparison Between Five Models Of Software Engineering
94 A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar 1 and A. Govardhan 2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally,
More informationSoftware 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
More informationSoftware Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
More informationComparison and problems between Traditional and Agile software development methods
Lappeenranta University of Technology School of Industrial Engineering and Management Software Engineering and Information Management Department of Master Degree Program in Computer Science Mehar Ullah
More informationSoftware 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
More informationContinuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited
Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation
More informationHuman Aspects of Software Engineering: The Case of Extreme Programming
1 Human Aspects of Software Engineering: The Case of Extreme Programming Orit Hazzan 1 and Jim Tomayko 2 1 Department of Education in Technology and Science, Technion - IIT, Haifa 32000, Israel oritha@tx.technion.ac.il
More informationLarge Scale Systems Design G52LSS
G52LSS Lecture 3 Rapid and Agile Development Rapid Application Development Prototyping CASE Tools Agile Development Extreme Programming Learning outcomes: describe main features of methods for RAD and
More informationCorso di Laurea Magistrale in Informatica, Università di Padova Tecnologie open-source, Anno accademico 2010/2011. Development Processes 1 / 51
Software development process A software development process is a structure imposed on the development of a software product Software development activities Requirements analysis The important task in creating
More informationSoftware 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
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
More informationThe 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
More informationAgile software development and its' suitability to distributed project
Agile software development and its' suitability to distributed project Lihan Guo 52493T Table of Contents 1 Introduction...3 1.1 Background of the study...3 1.2 Research problem...3 1.3 Objectives of the
More informationPlanned Methodologies vs. Agile Methodologies under the Pressure of Dynamic Market
JKAU: Eng. Sci., Vol. 21 No.1 pp: 19-35 (1431A.H./2010 A.D.) DOI: 10.4197 / Eng. 21-1.2 Planned Methodologies vs. Agile Methodologies under the Pressure of Dynamic Market Faculty of Computer Science and
More informationThe traditional project management uses conventional methods in software project management process.
Volume 5, Issue 1, January 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Analysis of
More informationHow 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
More informationIntroduction 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
More informationSoftware Engineering and Scientific Computing
Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de
More informationFriday, 10 December 2010. How to run a BI project?
How to run a BI project? But what about success? What is this about? Look at approaches to projects Aided by best practices Unpinned by management techniques What is this about? Methodology Project Management
More informationAgile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson
Agile In a Nutshell Note - all images removed to fit 2MB limit Actual presentation has much more content Jonathan Rasmusson What we re going to cover How agile works What to expect What agile is Agile
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 16-17 Introduction to software process Software process models,
More informationSAFETY & RESILIENCE ISSUES IN AUTOMOTIVE SOFTWARE DEVELOPMENT PANEL
SAFETY & RESILIENCE ISSUES IN AUTOMOTIVE SOFTWARE DEVELOPMENT PANEL 1 Safety Panel when 26262 will be issued, enforced? What about 61508? by whom, which authorities? who and how will verify conformance?
More informationBuild your Project using Extreme Programming #2 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.
Build your Project using Extreme Programming #2 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. 1. What is Extreme Programming? Extreme Programming is a software development methodology
More informationDistributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre
Distributed Agile Development Bapiraju Nandury Product Development Manager Bangalore Development Centre Agenda Distributed / offshore Development Agile Methods Distributed Agile Development Goals of this
More informationProcesses in Software Development. Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008
Processes in Software Development Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008 Software hall of shame Classic mistakes ACM Code of Ethics
More informationGénie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming
Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Documentation Methodologies:
More information6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.
6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.
More informationAgile Software Development. Mohsen Afsharchi
Agile Software Development Mohsen Afsharchi I. Agile Software Development Agile software development is a group of software development methods based on iterative and incremental development, where requirements
More informationAgile Development Overview
Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others
More informationHistory 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
More informationVragen. Software development model. Software development model. Software development model
Vragen Noem de belangrijkste activiteiten in een software engineeringsproject Welke vormen van onderhoud kan men onderscheiden? Karakteriseer het waterval model Waterfall model Document oriented Suited
More informationUC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.
CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the
More informationObject-Oriented and Classical Software Engineering
Slide 3.1 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Overview Slide
More informationRapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
More information