Software Life Cycles and Configuration Management
|
|
- Gladys Horn
- 8 years ago
- Views:
Transcription
1 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 and Overview L2 - Project L3 - L4 - Acceptance Testing and Quality Factors L5 - UML L6 Design Patterns L7 System design and architecture L8 - Testing Theory L9 - Testing in Practice L10 - Inspection L11 - Software Configuration L12 - Software Quality L13 - Course Summary, Exam examples, Questions I A Software Life-cycle Model Which part will we talk about today? 3 Agenda - What will you learn today? 4 Validate, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify System Design (Integration testing of modules) Module Design (Program Design, Detailed Design) of Units (classes, procedures, functions) Verify Module Design Verify Unit testing Module Testing (Integration testing of units) I Software Configuration Project, Software Quality Assurance (SQA), Supporting Tools, Education I I 1
2 5 Project vs. Process Project 6 Start and stop Goal An orderer A budget A single-time occurrence Process May contain subprocesses Ordered set of activities Activity 1 Activity 2 Activity 3 Processes are reoccurring I Goal of each activity Each activity has entry/exit criteria and input/output. I Constraints Software life-cycle model (Repetiotion L1) 7 Model of a life-cycle (a Process Model) 8 Software Life-Cycle (Software Engineering Process) Model Idea Stockholm Subway Map Software Product the customer Abstraction Carol A software life-cycle model (Software Engineering Process Model) Very Complex Software Process Diana the developer I I 2
3 A familiar model? System Design (Architecture, High-level Design) Validate, Verify Specification Verify System Design Acceptance Test (Release testing) 9 (Integration testing of modules) The V-model System Design (Architecture, High-level Design) System Design Validate, Verify Specification Feedback and iterations are possible Acceptance Test (Release testing) Acceptance Test 10 (Integration testing of modules) Module Design (Program Design, Detailed Design) Verify Module Design Verify Module Testing (Integration testing of units) Verify Design Module Design (Program Design, Detailed Design) Program Design Module Testing Integration (Integration testing of units) Testing of Units (classes, procedures, functions) Unit testing of Units (classes, procedures, functions) Unit testing I I Another model... System Design Program Design Integration Testing Acceptance Test 11 The Waterfall model One of the first life-cycle models (Royce, 1970) Very common, very criticized Integration Testing 12 System Design Finish each phase before continue Program Design to next. Why is the waterfall model so criticized? Which are the problems? Can it be useful sometimes? Milestone and deliverable at each step. (Artifacts such as Design Acceptance Test document, Req. Specification. etc.). I I 3
4 The Waterfall model - some arguments 13 The Waterfall model - some arguments 14 Pros Simple, manageable and easy to understand Fits to common project management practices (milestones, deliverables etc.) Focus on requirements and design at beginning, save money and time at the end Can be suitable for short projects (some weeks) Can be suitable for "stable" projects, where requirements do not change Focus on documents, saves knowledge which can be reused by other people. Widely used, e.g. US Department of Defense Can be suitable for fixed-price contracts Cons Software requirements change, hard to sign-off on a SRS. Early commitment. Changes at the end, large impact. Feedback is needed to understand a phase. E.g. implementation is needed to understand some design. Difficult to estimate time and cost for the phases. Handling risks are not part of the model. Pushes the risks forward. Software "is not" developed in such a way. It evolves when problems are more understood. Little room for problem solving. I I Can we improve the model? 15 Do it twice? 16 Iteration back to previous phase Second round, do it right. The original paper is actually misunderstood! System Design Program Design System Design Program Design (Royce, 1970) includes Iteration of phases "Do it twice" prototype Integration Testing First round, a prototype Integration Testing Danger! E.g. a performance problem can result in a major requirements change. Very expensive rollback... Acceptance Test Input to the phases in the second round Acceptance Test I I 4
5 Is overlapping phases a solution? 17 Is overlapping phases a solution? 18 When do we "sign-off", e.g. when do we have all requirements? What kind of structure have we actually achieved? No sign-off. How does this help us? requirements What if a major design flaw is discovered at the testing phase? requirements design implementation Release! design implementation Release! test test deployment I I What should be built? 19 Iterative Development 20 The hardest single part of building a software system is deciding precisely what to build (Frederick P. Brooks) When should the releases take place? -boxing - The time period is fixed for each iteration. What should be included in the release? Prioritized functionality - Do the most important parts first. Customer Feedback Customer Feedback How? By delivering several releases? R1 R2 Final Release! design implementation Release! design implementation test deployment Iteration 1 Iteration 2 test Iteration deployment 3 I I 5
6 Dependent project parameters (revisited) 21 Prioritization - some matrices 22 Calendar time and resources are fixed Customer Benefit Importance Calendar Resources High Sweet Spot High Sweet Spot Project Features Select the most important functions Select quality. E.g. how general should we be? Quality Low Low Avoid Low High Development Effort Avoid Low High Urgency I I Iterative vs. Incremental Development Incremental Development Add a new "part" at each increment Iterative Development Improve a "working system" at each iteration design Working Working Working System v0.1 System v0.2 System v0.3 implementation Iteration 1 Iteration 2 test Iteration deployment 3 I 23 Note. Both concepts are often combined and sometimes misleading called just iterative development. Spiral Model Determine goals, alternatives, and constrains RA = Risk Analysis P1 = Prototype 1 CO = Concepts of operation Plan Next Phase BAC BAC BAC = Budget, Alteranatives, Constraints BAC Req. plan Dev. plan Integration and test plan RA RA RA RA P1 CO SW. req. Validate req. verify design Acceptance test P2 P3 P4 SW. design Detailed Design Code Unit test System test I 24 Evaluate Alternatives and risks Main feature: RISKS Develop and Test 6
7 Iterative Development - Cons 25 Iterative Development - Pros 26 Is iterative development the silver bullet? design Iteration 1 Customer Feedback R1 implementation Problem with current business contracts, especially fixed-price contracts. With small iterations, can be hard to map customer requirements to iterations. Customer Feedback R2 Iteration 2 test Iteration deployment 3 Final Release! Pros Misunderstandings and inconsistency are made clear early (e.g. between requirement, design, and implementation) Encourage to use feedback -> elicit the real requirements Forced to focus on the most critical issues Continuous testing offers a project assessment Workload is spread out over time (especially test) The team can get "lesson learned" and continuously improve the process Stakeholders gets concrete evidence of progress I I 27 We are using an iterative process! 28 Define a plan with 1..N iterations. We do not have to care about plans... Now, let's hack! Is this a good iterative process? Harry the hacker Of course not. We need some structure! Methodologies and defined Processes I I 7
8 Processes, Models, Methodologies... Waterfall model Which is the "best" approach? V- model Spiral model Extreme Programming (XP) "what" at a high level of abstaction Prototype model agile methods 29 Processes, Models, Methodologies... Waterfall Prototype model model Question: What V- model is the difference Spiral model between a methodologist and a terrorist? Answer: You can negotiate with a terrorist. Extreme Programming (XP) "what" at a high level of abstaction agile methods 30 Rational Unified Process (RUP) Methodologies and defined Processes Scrum "what" and to a certain level "how" Rational Unified Process (RUP) Methodologies and defined Processes Scrum "what" and to a certain level "how" I I Goals with a software development process 31 What is Rational Unified Process (RUP)? 32 Guidance about order and content of team activities. Specify when and which artifact that should be produced. Direct individual developers' tasks and the team as a whole Give criteria for monitoring and measuring activities and generated products. A software engineering process A disciplined approach to produce high quality software A process product A software (web based) offered by IBM (earlier Rational) OpenUP/Basic, an lightweight open source variant A process framework Adapted and extended to suit a specific organization I I 8
9 RUP - Elements of the Process 33 Disciplines 34 The "container" for the four elements: roles, activities, artifacts and workflows is assigned to a Business Modeling Activities: the how Roles: the who e.g. system analyst, designer, test designer creates, modifies, controls Core Technical Disciplines Analysis and Design Test Deployment Workflows: the when Core workflow to each discipline Artifact: the what e.g. use-case models, source code, documents (same as deliverable) I Core Supporting Disciplines Change & Config. Mgm. Project Mgm. Environment. I RUP- Phases and Milestones 35 RUP- Phases and Milestones 36 Inception Formulate scope Capture most important requirements Plan, risk, staffing, project plan Synthesize a candidate architecture The project may be cancelled after this phase similar to a "Pre-study" Elaboration Define architecture Specify requirements more precisely Executable architecture prototype Define project plan Phase Life-cycle objective milestone Milestone Life-cycle architecture milestone Inception (10%) Inception (10%) Elaboration (30%) I I 9
10 RUP- Phases and Milestones 37 RUP- Phases and Milestones 38 Construction Resource management and control Design,, and Testing Output (software + documentation) ready for users. of the product to users Beta-testing Training of users and maintainers Rollout of the product to operational environment Initial Operational Capability milestone (beta-release) Product release milestone Inception (10%) Elaboration (30%) Construction (50%) Inception (10%) Elaboration (30%) Construction (50%) (10%) I I RUP- Phases and Milestones 39 Disciplines and Phases 40 Was not RUP iterative??? Business Modeling Inception Elaboration Construction Internal milestones and releases Iterations within phases Core Technical Disciplines Analysis and Design Test Deployment Inception (10%) I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 Elaboration (30%) Construction (50%) (10%) Core Supporting Disciplines Change & Config. Mgm. Project Mgm. Environment. I I 10
11 Agile Approaches - Agile Alliance 41 Extreme Programming - Values and Principles 42 Lightweight approaches to satisfy the customers with "early and continuous delivery of valuable software" Manifesto for Agile Software development Favor Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan ( 2001) A lightweight methodology for vague or rapidly changing requirements Communication Simplicity Feedback Changes need feedback Courage "If you know what the problem is, do something" Respect Mutual benefit "win-win", automated testing Values Reflection "How" and "why" are we working Principles Redundancy If it fails. E.g. pair programming. Practices Baby steps "What is the least that you can do that can be shown to be in the right direction?" I I Extreme Programming - Some Practices 43 Scrum 44 Pair Programming Focus on task Clarify ideas Rotate frequently Continuous Integration Integrate and test often Automated build system Automated regression tests (e.g. JUnit) Refactoring Behavior preserving transformation Tool support, e.g. Eclipse Stories "requirements", but not mandatory Name + short story On index cards (paper) Test-First Programming Create tests before code Focus on interface and "what is needed" Gets tests for free Approach public in 1996 at OOPSLA (Ken Schwaber, Jeff Sutherland) "Scrum" strategy used in rugby for getting and out-of-play ball back into play. I I 11
12 Scrum Overview Product backlog All requirements Prioritized only by product owner Never finalized Sprint backlog What to do in one sprint Daily Scrum Short (15 min) done since last meeting, todo, problems Pick from sprint backlog I From anyone (users, customers, sales) Sprint planning meeting Sprint 30 - days iteration product increment Plan what to do in the next sprint (sprint = one iteration) Scrum Master Enforce scrum practices Executable Product Increment I I What is configuration management? 47 What is configuration management? 48 Configuration Item Identification Source code modules Test scripts Design documents Build systems SCM File A v.03 File C v.3.3 File B v0.1 Change File A v.03 File C v.3.4 File B v0.1 Change File A v.03 File C v.3.3 File B v0.11 Baseline - a "snap-shot" of configuration items. Normally reviews in some way. How do we control changes? I I 12
13 What is configuration management? 49 What is configuration management? 50 Configuration Item Identification Source code modules Test scripts Design documents Build systems SCM Change Control Board (CCB) Make change decisions. Only large changes (e.g. new major requirements) Configuration control Only authorized people may make changes Larger changes - change requests I CHANGE REQUEST Project: Classification: Priority: Date: Change Description: Configuration Item Identification Source code modules Test scripts Design documents Build systems Auditing Ensure that the items are complete and consistent. Make sure that the configuration is tested and meets requirements. SCM Configuration control Larger changes - change requests Status accounting I Document and report changes to those involved. SCM tools 51 Version handling example 52 Change Workflow systems Define processes for change requests Change report system Bug-tracking New features Change request (e.g free alternatives: Bugzilla, Trac) Locked checkout / no locks What is a bug / what is a feature? Tool examples: Clear Case, Visual Source safe Perforce, CVS Subversion Development Branch(s) v v Test Merge Trunk v v v v Commit - add comments Release Branch(s) v History - Find where the fault was added Blame - Who added a certain code line SCM Tools Diff - What has changed between two versions? I I 13
14 Sync- and Stabilize (e.g. Microsoft) 53 Summary - What have we learned today? 54 Implement new stuff Fail? Success? (Report via e- mail, redlamp etc.) Automatic blame :-) Commit to SCM repository Smoke test (automatic test of system) Daily build (automatic compile and link) Stub-out e.g. user interfaces and databases Waterfall model V-Model Iterative models Spiral model RUP Agile XP Scrum I Software Configuration Identification Control Status accounting Auditing I I Further reading (Books) 55 Further reading (Web) 56 Rational Unified Process (RUP) Philippe Kruchten, The Rational Unified Process: An Introduction, Third Edition, ISBN , Addison-Wesley Professional, USA, 2003 Per Kroll and Philippe Kruchten, The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP, ISBN: , Addison-Wesley Professional, USA, 2003 Extreme Programming Extreme Programming, a gentle introduction Agile, Extreme Programming, Scrum Kent Beck and Cynthia Andres, Extreme Programming Explained: Embrace Change, Second Edition, ISBN , Addison-Wesley Professional, USA, 2004 Ken Schwaber and Mike Beedle, Agile Software Development with Scrum, ISBN , Prentice Hall, NJ, USA, 2002 Mary Poppendieck and Tom Poppendieck, Lean Software Development: An Agile Toolkit, ISBN , Addison-Wesley Professional, USA, 2003 Configuration Alexis Leon, Handbook, Second Edition, ISBN , Artech House Publishers, MA, USA, 2005 I I 14
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
More informationClassical 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
More informationSoftware configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2015-09-30 2 Maintenance Requirements System Design (Architecture,
More informationSoftware Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng
Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work
More informationCS4507 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
More informationHow To Understand The Software Process
Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team
More informationWeb 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
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 informationHamid Faridani (h.faridani@rogers.com) March 2011
Hamid Faridani (h.faridani@rogers.com) 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
More informationD25-2. Agile and Scrum Introduction
D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of
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 informationAgile Project Management
Agile Project Management Overview Fabrizio Morando Application Development Manager martedì 20 novembre 2012 What is Agile? Agile is used to denote the ability of Agile Methods to respond to changing requirement
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 informationRequirement 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
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 informationAgile Unified Process
INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND MOBILE APPLICATIONS - IJCSMA Agile Unified Process Charles Edeki Ph.D, American Intercontinental University, Department of Information Technology, 160 Parkside
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 informationAgile Methodologies XP and Scrum
Agile Methodologies XP and Scrum Introduction into Software Engineering Lecture 22 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Problem: How to we Control Software Development?
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 informationSWEN - 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
More informationIntroduction to Agile and Scrum
Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro
More informationBest-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler
Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at
More informationQuality Assurance in an Agile Environment
Quality Assurance in an Agile Environment 1 Discussion Topic The Agile Movement Transition of QA practice and methods to Agile from Traditional Scrum and QA Recap Open Discussion www.emids.com 2 What is
More informationBCS Foundation Certificate in Agile Syllabus
BCS Foundation Certificate in Agile Syllabus Version 1.5 March 2015 Change History Any changes made to the syllabus shall be clearly documented with a change history log. This shall include the latest
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 informationApplying 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
More informationAgile Software Development and Service Science
DOI V Agile Software Development and Service Science How to develop IT-enabled Services in an Interdisciplinary Environment Andreas Meier, Jenny C. Ivarsson Abstract This paper shows the necessary steps,
More informationNova Software Quality Assurance Process
Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance
More informationWhen is Agile the Best Project Management Method? Lana Tylka
When is Agile the Best Project Management Method? Lana Tylka Staged Incremental Deliveries Prototypes Plan Develop Design Deploy Test Maintain Sequential Steps Multiple Iterations Waterfall Sprints, Spirals
More informationCOMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course
More informationLean Configuration Management
A Softhouse White Paper Jens Norin Daniel Karlström September 2006 Softhouse Consulting, Stormgatan 14, SE-211 20 Malmö info@softhouse.se www.softhouse.se Contents Abstract...3 Introduction...4 Software
More informationPLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan
PLM - Agile Agile Development Evolved in the 1990s as a response to heavyweight methodologies. In 2001 representatives of various new methodologies met to discuss the need for lighter alternatives. The
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 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
More informationAgile 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
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 informationSoftware 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).
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 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 informationIn this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
More informationDevelopment Methodologies
Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies
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 informationSurveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
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 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 informationInternational 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
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 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 informationAgile Software Development compliant to Safety Standards?
DB AG/Christian Bedeschinski www.thalesgroup.com/germany Agile Software Development compliant to Safety Standards? Christian Scholz Thales Transportation Systems 2 / Content Motivation Agile Software Development
More informationThe 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.
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 informationAlternative Development Methodologies
Alternative Development Methodologies The Software Development Process described in the course notes and lecture is a generalized process that been in use for decades. Over this time, scholars in the IT
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 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 informationAbstract. 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
More informationAgile 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 dietmar.winkler@qse.ifs.tuwien.ac.at
More informationSoftware 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
More informationCapstone Agile Model (CAM)
Capstone Agile Model (CAM) Capstone Agile Model (CAM) Approach Everything we do within the Capstone Agile Model promotes a disciplined project leadership process that encourages frequent inspection and
More informationTransitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery
More informationExtreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values:
Scrum with XP By Kane Mar, Ken Schwaber. Introduction Scrum and extreme programming (XP) are both Agile methodologies. We've heard controversy regarding the value of each, with people familiar with each
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 Project Management
Agile Project Management Projekt-Kick-Off-Tage Hochschule Augsburg Martin Wagner, 15. März 2011 TNG Technology Consulting GmbH, http://www.tngtech.com Agile project management with Scrum Agenda Software
More informationContinuous Delivery. Ariel Alonso, IPC
Continuous Delivery Ariel Alonso, IPC About Me Ariel Alonso Systems Architect Independent Purchasing Cooperative, Inc. Software Engineer for 15 years Interests Agile & XP Test Driven Development Automation
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 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 informationProject Management. Lecture 3. Software Engineering CUGS. Spring 2012 (slides made by David Broman) Kristian Sandahl
Project Lecture 3 Software Engineering CUGS Spring 2012 (slides made by David Broman) Kristian Sandahl Department of Computer and Information Science Linköping University, Sweden A Software Life-cycle
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 informationProject Management. Lecture 3. Software Engineering CUGS. Spring 2011 (slides made by David Broman)
Lecture 3 Software Engineering CUGS Spring 2011 (slides made by David Broman) Kristian Sandahl Department of Computer and Information Science Linköping University, Sweden A Software Life-cycle Model Which
More informationIssues in Internet Design and Development
Issues in Internet Design and Development Course of Instructions on Issues in Internet Design and Development Week-2 Agile Methods Saad Bin Saleem PhD Candidate (Software Engineering) Users.mct.open.ac.uk/sbs85
More informationScaling Down Large Projects to Meet the Agile Sweet Spot
Scaling Down Large Projects to Meet the Agile Sweet Spot Philippe Kruchten Kruchten Engineering Services Ltd Presenter Philippe Kruchten, Ph. D., P. Eng. KESL 2906 West 37 th avenue Vancouver BC V5Z 2M9
More informationSoftware Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
More informationSupporting Workflow Overview. CSC532 Fall06
Supporting Workflow Overview CSC532 Fall06 Objectives: Supporting Workflows Define the supporting workflows Understand how to apply the supporting workflows Understand the activities necessary to configure
More informationUnit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
More informationSoftware 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
More informationProcess 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...
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 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 informationLeveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems
Software Project Management Leveraging RUP, OpenUP, and the PMBOK Arthur English, GreenLine Systems GreenLine Systems Inc. 2003 2013 My Background 30+ years of IT project management experience with both
More informationEclipse Process Framework Composer
Eclipse Process Framework Composer Part 1: Key Concepts Second Revision, April 2007 by, phaumer@us.ibm.com Solution architect, IBM Rational Software This two-part article offers an introduction to the
More informationAtern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.
THE AGILE PROJECT LEADER S DICTIONARY This dictionary attempts to de-mystify the jargon around the world of Agile projects. Part 1 translates common Agile terms into more traditional words. Part 2 translates
More informationSoftware 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
More informationBuild Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.
Build Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. 1. What is Scrum Methodology? Scrum is an innovative software agile methodology that has
More informationBasic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
More information"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
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 informationProject Management. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 5 Project Management CHAPTER AUTHORS Chen Minchao Daniel Mohd Shahab Nguyen Viet Thinh Software Development Tools and Technologies
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 informationCSSE 372 Software Project Management: More Agile Project Management
CSSE 372 Software Project Management: More Agile Project Management Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Plan Create a plan for
More informationExtreme 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 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 informationIntroduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
More informationIntroduction to Software Engineering: Overview and Methodologies
Introduction to Software Engineering: Overview and Methodologies John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from Bruegge & DuToit, Object Oriented Software
More informationPart 3 Overview. People and Projects. Where it starts. Project Failure Rates. Part III. Verteilte Web-basierte Systeme.
Verteilte Web-basierte Systeme SS 2006 Verteilte Web-basierte Systeme SS 2006 Verteilte Web-basierte Systeme Dr.-Ing. Martin Gaedke Universität Karlsruhe (TH) Part III Aspects of the Life-Cycle Part 3
More informationEnhancing The ALM Experience
Enhancing The ALM Experience Tools to Accelerate Delivery of Secure, Reliable Modern Applications Brent Dorenkamp Solutions Architect Agenda Application Modernization and the Instant-On Enterprise Building
More informationA Viable Systems Engineering Approach. Presented by: Dick Carlson (richard.carlson2@boeing.com)
A Viable Systems Engineering Approach Presented by: Dick Carlson (richard.carlson2@boeing.com) Philip Matuzic (philip.j.matuzic@boeing.com) i i Introduction This presentation ti addresses systems engineering
More informationTo introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More 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 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 informationSE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki
SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software
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 information