Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu Universidade Nova de Lisboa (
|
|
- Blaze Dean
- 5 years ago
- Views:
Transcription
1 Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu (fba@di.fct.unl.pt) Universidade Nova de Lisboa ( QUASAR Research Group ( Abstract Anorexia versus Bulimia Overview of heavy-weight methodologies Origins of light-weight methodologies The Agile Manifesto Agility example: XP The dark side of the light Planned (RUP) vs Agile (XP) When to be agile? Fernando Brito e Abreu 2 1
2 Anorexia versus Bulimia Anorexic (thin) project / Light-weight / Agile Project run unconstrained Total freedom for artists Unpredictable deliverables Bulimic (fat) project / Heavy-weight / Planned Highly constrained project e.g. following DoD Mil. Std 2167A High organizing overheads Very well defined deliverables Fernando Brito e Abreu 3 Examples Plan-driven methodologies Heavy-weight methodologies CMM, ISO9000-3, ISO12207, PSP, TSP, ISO15504 (SPICE), RUP, CMMi, Fat? Bulimic? Agile software development Light-weight methodologies Extreme Programming (XP), Scrum, Feature-Driven Development (FDD), Adaptive Software Process, Crystal Light Methodologies, Dynamic Systems Development Method (DSDM), Lean Development Thin? Anorexic? Fernando Brito e Abreu 4 2
3 Overview of heavy-weight methodologies Processes and tools Comprehensive documentation Contract negotiation Following a plan On projects with more than 250 people, methodology will have almost no impact on success or failure politics will dominate. Jim Highsmith Fernando Brito e Abreu 5 CMM - Capability Maturity Model See details on this model on another slides collection! Optimizing (5) Process change management Technology change management Defect prevention Managed (4) Software Quality management quality management Quantitative Process measurement process management and analysis Initial (1) Defined (3) Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus Repeatable (2) Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management Fernando Brito e Abreu 6 3
4 CMMI - CMM Integrated Maturity Levels See details on this model on another slides collection! Process Area 1 Process Area 2 Process Area n Specific Goals Generic Goals Common Features Commitment to Perform Ability to Perform Directing Implementation Verifying Implementation Specific Practices Generic Practices Fernando Brito e Abreu 7 ISO/IEC See details on this model on another slides collection! Measurement Framework Capability Levels Process Attributes Rating Scale Capability Dimension Capability Scale ISO Process Assessment Model Process Dimension ENG.1 CUS.2 ORG.3.. n Process Entities (process areas) + Indicators per Process Entity Fernando Brito e Abreu 8 4
5 Rational Unified Process (RUP) Some history Performance Testing Business Engineering Data Engineering 1997 Requirements College 1996 OMT approach IBM - Rational Unified Process v2003 Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 UML 1.2 Objectory UI Design Change & Configuration Management SQA Process UML 1.0 UML 0.5 OOSE 1995 Rational Approach Objectory Process 3.8 Fernando Brito e Abreu 9 Rational Unified Process (RUP) Model-based development Use-Case Model Specified by Realized by Analysis Model Distributed by Design Model Implemented by Deployment Model Implementation Model X OK Verified by X OK X OK Test Model Fernando Brito e Abreu 10 5
6 Rational Unified Process (RUP) Who, What, How, When Workflow (When) (Who) (How) (What) Fernando Brito e Abreu 11 Origins of light-weight methodologies Project Start Planned Result Final Result Fernando Brito e Abreu 12 6
7 Origins of light-weight methodologies Agility The ability to both create and respond to change in order to profit in a turbulent business environment Companies need to determine the amount of agility they need to be competitive Chaordic (ex: agile view) Exhibiting properties of both chaos and order The blend of chaos and order inherent in the external environment and in people themselves, argues against the prevailing wisdom about predictability and planning Things get done because people adapt, not because they slavishly follow processes An agile view is a chaordic view Fernando Brito e Abreu 13 The Agile Manifesto subscribers Alistair Cockburn Andrew Hunt Arie van Bennekum Brian Marick Dave Thomas James Grenning Jeff Sutherland Jim Highsmith Jon Kern Ken Schwaber Kent Beck Martin Fowler Mike Beedle Robert C. Martin Ron Jeffries Steve Mellor Ward Cunningham Fernando Brito e Abreu 14 7
8 The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value on the items on the right, we value the items on the left more. [Feb 2001] Fernando Brito e Abreu 15 Individuals and interactions over processes and tools Promote teambuilding and mutual trust Build projects around motivated individuals Give team members the environment and support they need, and trust them to get the job done Adopt a barely sufficient methodology the conventions we agree to Processes are described in manuals; practices are what happen in reality Fernando Brito e Abreu 16 8
9 Working software over comprehensive documentation Our highest priority is to satisfy the customer through early and frequent delivery of valuable software Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter time scale Working software/product is the primary measure of progress Fernando Brito e Abreu 17 Customer collaboration over contract negotiation Set an open tone with the customer(s) organization(s) Adopt collaborative values and principles Business people and developers work together daily throughout the project Fernando Brito e Abreu 18 9
10 Responding to change over following a plan Being agile means accepting that outcomes are not predictable and that processes are not repeatable Welcome changing requirements, even late in development Agile processes harness change for the customer s competitive advantage Agility is about adaptability rather than predictability Fernando Brito e Abreu 19 Case Study: Extreme Programming (XP) 10
11 XP principles and planning Basic principles Very short cycles Intense feedback Networked communication Planning practices User stories Release planning Iteration planning On site customer Fernando Brito e Abreu 21 XP Schedule Fernando Brito e Abreu 22 11
12 XP product build philosophy Principles Build the complete product, all the time One button builds everything, including Product executables Installation materials Test harness and test components Generated documentation Benefits Easy to manage Easy to add new team members Integrates well with testing environment Fernando Brito e Abreu 23 Agility example: XP Fernando Brito e Abreu 24 12
13 XP programming practices Pair programming Test-first design Refactoring Continuous integration Collective ownership Coding standard 40 hour week Fernando Brito e Abreu 25 Pair programming Method: Two programmers sit at one workstation Each programmer take turns driving Short lived pairs to avoid vices Benefits: Avoids loosing focus and drifting away Transmits knowledge to the team Trains newbies Fernando Brito e Abreu 26 13
14 Pair programming research findings Pairs use no more man-hours than singles Pairs create fewer defects Pairs create fewer lines of code Pairs enjoy their work more Source: Laurie Williams Fernando Brito e Abreu 27 XP programming practices Pair programming Test-first design Refactoring Continuous integration Collective ownership Coding standard 40 hour week Fernando Brito e Abreu 28 14
15 Test-first design aka Test-Driven Development (TDD) Principles All code must have tests, with the test created first Unit tests are executed during the automated build When a bug is found, new tests are created All unit tests must pass before code can be released Benefits Provides constant visibility into areas of the system at risk The result is rapid progress and a system that always works better than it did the previous version We end up with a rich suite of regression tests! Fernando Brito e Abreu 29 Test first design Progress in tiny (5 min) cycles Write a test case Write the code that passes it Repeat until program does what you want Use a unit testing framework e.g. Junit ( uses a green bar sign to mean that the code has passed all tests Fernando Brito e Abreu 30 15
16 Example 1st step: Write the tests public void testcreatefuelingstationvisit() { Date date = new Date(); double fuel = 2.0; // 2 gallons. double cost = 1.87*2; // Price = $1.87 per gallon int mileage = 1000; // odometer reading. double delta = ; //fp tolerance } FuelingStationVisit v = new FuelingStationVisit( date, fuel, cost, mileage); assertequals(date, v.getdate()); assertequals(1.87*2, v.getcost(), delta); assertequals(2, v.getfuel(), delta); assertequals(1000, v.getmileage()); assertequals(1.87, v.getprice(), delta); Fernando Brito e Abreu 31 Example 2nd step: Write the code public class FuelingStationVisit { public FuelingStationVisit(Date date, double fuel, double cost, int mileage) { itsdate = date; 3rd step: Run the tests! itsfuel = fuel; itscost = cost; itsmileage = mileage; } } public Date getdate() {return itsdate;} public double getfuel() {return itsfuel;} public double getcost() {return itscost;} public double getprice() {return itscost/itsfuel;} public int getmileage() {return itsmileage;} Fernando Brito e Abreu 32 16
17 XP programming practices Pair programming Test-first design Refactoring Continuous integration Collective ownership Coding standard 40 hour week Fernando Brito e Abreu 33 Refactoring After getting something to work we refactor Refactoring must progress incrementally in tiny steps improve internal code structure, namely by reducing its complexity not alter the external behavior of the software components (this is guaranteed by running all the tests Refactoring techniques redistribute classes, variables and methods in order to facilitate future adaptations and extensions remove all duplications make the code as expressive as possible (e.g. forcing naming conventions) make the code as simple as possible Fernando Brito e Abreu 34 17
18 XP programming practices Pair programming Test-first design Refactoring Continuous integration Collective ownership Coding standard 40 hour week Fernando Brito e Abreu 35 Continuous integration Daily builds are for wimps Build, end to end, at every check in Check in frequently Build and test time must be very fast Put resources on speeding build time Put resources on speeding test time Wimp: A person who lacks confidence, is irresolute Fernando Brito e Abreu 36 18
19 XP programming practices Pair programming Test-first design Refactoring Continuous integration Collective ownership Coding standard 40 hour week Fernando Brito e Abreu 37 Collective ownership Anyone can improve any part of the code at any time No one acts as the gatekeeper for any part of the code This includes schemas and libraries and everything else that s different Fernando Brito e Abreu 38 19
20 XP programming practices Pair programming Test-first design Refactoring Continuous integration Collective ownership Coding standard 40 hour week Fernando Brito e Abreu 39 Coding standard Group of conventions that everyone agrees to Emerges over time Continuously evolves The team rules Fernando Brito e Abreu 40 20
21 XP programming practices Pair programming Test-first design Refactoring Continuous integration Collective ownership Coding standard 40 hour week Fernando Brito e Abreu hour week You can t do your best when you are tired When you don t do your best, you make messes Messes slow everyone down So you must be rested Occasionally, you may work one week of moderate overtime Fernando Brito e Abreu 42 21
22 Fernando Brito e Abreu 43 The dark side of the light... XP Considered Harmful... for Reliable SW Development [Gerold Keefer, 2002] The embrace change value... The practice of refactoring... The simplicity value... The practice of pair programming Fernando Brito e Abreu 44 22
23 Planned (RUP) vs Agile (XP) RUP XP Business Modeling Req. Management Analysis & Design Implementation Test Deployment CCM Project Management Environment Coding Testing Listening Designing Fernando Brito e Abreu 45 Planned (RUP) vs Agile (XP) Process Disciplines Business Modeling Requirements Analysis and Design Implementation Test Deployment Supporting Disciplines Configuration Mgmt Management Environment Phases Inception Elaboration Construction Preliminary Iteration(s) Iter. #1 Iter. #2 XP-Window Iter. #n Iter. #n+1 Iterations Iter. #n+2 Transition Iter. #m Iter. #m+1 Fernando Brito e Abreu 46 23
24 When to be agile? Problems characterized by change, speed, and turbulence are best solved by agility. Accelerated time schedule combined with significant risk and uncertainty that generate constant change during the project Is your project more like drilling for oil or like managing a production line? Oil exploration projects need agile processes Production-line projects are often well-served by rigorous methodologies Fernando Brito e Abreu 47 When to be agile? Important questions How close are the views and values expressed in the Agile Manifesto to: your customer s views and values? your project s views and values? your organization s views and values? your personal views and values? If the answer if not positive for all of this questions, then there is a high failure probability for agility Fernando Brito e Abreu 48 24
25 References [Acton2002] [Ambler????] [Beck2000] Agile Software Development, Dottie Acton, Lockheed Martin Mission Systems Agile Modeling: Effective Practices for Extreme Programming and the Unified Process, Scott Ambler Extreme Programming Explained: Embrace Change, Kent Beck, Addison Wesley [Charette????] Foundations of Lean Development: The Lean Development Manager s Guide, Vol 2, Robert Charette [Cockburn2002]Agile Software Development, Alistair Cockburn, Pearson Education, Inc, Boston, MA [Fowler2000] Refactoring: Improving the Design of Existing Code, Martin Fowler et al., Addison-Wesley [Highsmith2000] Adaptive Software Development: a Collaborative Approach to Managing Complex Systems, Jim Highsmith, Dorset House Publishing, New York [Highsmith2002] Agile Software Development Ecosystems, Jim Highsmith [Jeffries????] Extreme Programming Installed, Ron Jeffries & Ann Anderson, Addison- Wesley [Kruchten2000] The Rational Unified Process: an Introduction, 2nd Edition, Philippe Kruchten, Addison-Wesley [McCabe2003] Agile Development, Rich McCabe [Palmer????] A Practical Guide to Feature-Driven Development, Stephen Palmer & John Felsing [Rising2000] The Scrum Software Development Process for Small Teams, Rising, L. & N. S. Janoff, IEEE Software [Schwaber2002] Agile Software Development with Scrum, Ken Schwaber & Mike Beedle, Prentice-Hall Fernando Brito e Abreu 49 25
Revolutionising the Government Intranet with Drupal. Ian Laslett Adelphi Digital
INTRODUCTION Revolutionising the Government Intranet with Drupal Ian Laslett Adelphi Digital The problem Intranets struggle to deliver a clear purpose in a crowded land of collaboration tools, social media
More informationCOPYRIGHTED MATERIAL. Index
BINDEX 08/25/2011 13:31:44 Page 233 Index A Acceptance testing, 131 extreme, 184, 186 Agile development, 175 manifesto, 176 table-methodologies, 177 Agile testing, 175, 178 Application server, 205 Automated
More informationAgile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?
Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.
More informationTesting in Agile Software Development
Testing in Agile Software Development T 76.5613, Software Testing and Quality Assurance Slides by Juha Itkonen Lecture delivered by 4.10.2006 V-model of testing Benefits of the V-model Intuitive and easy
More informationThe Scaled Agile Framework
The Scaled Agile Framework Foundations of the Scaled Agile Framework (SAFe) SDJug Oct. 15, 2013 2008-2013 Leffingwell, LLC, and Scaled Agile, Inc. All rights reserved. Armond Mehrabian Enterprise Agile
More informationTopic 01. Software Engineering, Web Engineering, agile methodologies.
Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,
More informationAdopting Agile Practices
Adopting Agile Practices Ian Charlton Managing Consultant ReleasePoint Software Testing Solutions ANZTB SIGIST (Perth) 30 November 2010 Tonight s Agenda What is Agile? Why is Agile Important to Testers?
More informationIntroduction to Extreme Programming
Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Robert Martin, Object Mentor Ron Jeffries,et.al. 12/3/2003 Slide Content by Wake/Metsker 1
More informationTesting in the Agile World
Testing in the Agile World John Fodeh Solution Architect, Global Testing Practice 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Outline
More informationCS 485 Advanced Object Oriented Design. Spring 2017
CS 485 Advanced Object Oriented Design Spring 2017 Version Control Assignment 1 will be distributed Friday You MUST use version control Subversion via Zeus (as in CS 300) https://ankhsvn.open.collab.net/
More informationAgile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process
Agile Accessibility Ensuring accessibility throughout the Agile development process Presenters: Andrew Nielson, CSM, PMP, MPA Ann Marie Davis, CSM, PMP, M. Ed. Cammie Truesdell, M. Ed. Overview What is
More informationE xtr B e y CS R m oy 6704, e T a P n a Spring r n o d J g ia n 2002 r g a S m hu m ing
Extreme Programming CS 6704, Spring 2002 By Roy Tan and Jiang Shu Contents What is Extreme Programming (XP)? When to use XP? Do we need yet another software methodology? XP s rules and practices XP s relation
More informationXP Evolution Rachel Davies
XP Evolution Rachel Davies Sept 10, 2005 2005 Agile Experience Ltd. 1 What is XP? 1.eXtreme Programming (XP) is so named because it raises practices that improve code quality to extreme levels 2. XP is
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
More informationDesigned in collaboration with Infosys Limited
Proposal for Introduction of New Industry Course in Engineering Curriculum Agile Software Development - Deliver Software Better Everyday Designed in collaboration with Infosys Limited Version 1-2016 Contents
More informationActivities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects
Activities Common to Software Projects Software Life Cycle Mark van den Brand Requirements and specification Domain analysis Defining the problem Requirements gathering Obtaining input from as many sources
More informationTest Driven Development. René Barto SES Agile Development - Test Driven Development
Test Driven Development René Barto SES Agile Development - Test Driven Development 27-09-2006 Contents About Myself About SES Agile Development A Typical Developer s Day Test Driven Development Questions
More informationEvaluation of Commercial Web Engineering Processes
Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/
More informationTesting Agile Projects Stuart Reid
ing Agile Projects Stuart Reid ing Solutions Group 117-119 Houndsditch London EC3A 7BT UK sreid@ing-solutions.com www.ing-solutions.com Stuart Reid, 2011 Scope Agile Manifesto and Principles An Agile Development
More informationOptimize tomorrow today.
Applying Agile Practices to Improve Software Quality Name: Arlene Minkiewicz Chief Scientist 17000 Commerce Parkway Mt. Laurel, NJ 08054 arlene.minkiewicz@pricesystems.com Phone: 856 608-7222 Agenda Introduction
More informationReady for Scrum? Steve Hutchison DISA T&E
Ready for Scrum? Steve Hutchison DISA T&E Presentation Tasks Backlog In Progress Done Scrum Overview Role of Testing in Scrum Agile Testing Summary 2 Scrum Overview Software development framework focused
More informationIntroduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck
Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Extreme Programming is... Lightweight software development method used for small to medium-sized
More informationSoftware Engineering 2 A practical course in software engineering. Ekkart Kindler
Software Engineering 2 A practical course in software engineering II. Agile Development 1. Motivation Conceive Design Implement Operate Why What How 3 Co-evolution What should the software do? WHAT HOW
More informationSystems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development
More informationPractical Objects: Test Driven Software Development using JUnit
1999 McBreen.Consulting Practical Objects Test Driven Software Development using JUnit Pete McBreen, McBreen.Consulting petemcbreen@acm.org Test Driven Software Development??? The Unified Process is Use
More informationReducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping
Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations
More information02291: System Integration
02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes
More informationIntroduction To Software Development CSC Spring 2019 Howard Rosenthal
Introduction To Software Development CSC 295-01 Spring 2019 Howard Rosenthal Course References Materials for this course have utilized materials in the following documents. Additional materials taken from
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 Introduction software development projects are large and complex a phased approach to control it is necessary
More informationBest Practices for Collecting User Requirements
Federal GIS Conference February 9 10, 2015 Washington, DC Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger Requirements Provide direction for program success Why Requirements are
More informationFounda'ons of So,ware Engineering. Process: Agile Prac.ces Claire Le Goues
Founda'ons of So,ware Engineering Process: Agile Prac.ces Claire Le Goues 1 Learning goals Define agile as both a set of itera.ve process prac.ces and a business approach for aligning customer needs with
More informationAgile Model Driven Development (AMDD)
Agile Model Driven Development (AMDD) Scott W. Ambler Practice Leader Agile Development, IBM Modeling is an important part of all software development projects because it enables you to think through complex
More informationLecture 7: Software Processes. Refresher: Software Always Evolves
Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)
More informationDavid Bernstein Five Development Practices Essential for Scrum Teams
David Bernstein Five Development Practices Essential for Scrum Teams 1 Welcome! I m David Scott Bernstein Software developer since 1980 Trained 8,000 developers since 1990 Published author since 2015 Website:
More informationSoftware Development Process Models
Software Development Process Models From classical notions to more agile approaches th@cs.toronto.edu, BA8134 Code & Fix or Cowboy Coding 1) Write program 2) Test and fix program Problems: program users
More informationSoftware Engineering
Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most
More informationIntroduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz
Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz ESE Introduction Lecturer Assistants Lectures Exercises WWW Prof. Oscar Nierstrasz scg.unibe.ch/oscar Erwann Wernli Aaron
More informationUNIT-I Introduction of Object Oriented Modeling
UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,
More informationAgile Software Development A Planned, Story-Driven, Test-Based, Tool-Supported Process for Well-Designed Software. Philip Mayer
Agile Software Development A Planned, Story-Driven, Test-Based, Tool-Supported Process for Well-Designed Software Philip Mayer Origins of Agile Before and around the year 2000 Dissatisfaction with heavyweight
More informationAnalysis of the Test Driven Development by Example
Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /
More informationIncremental development A.Y. 2018/2019
Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with
More informationHow Can a Tester Cope With the Fast Paced Iterative/Incremental Process?
How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? by Timothy D. Korson Version 7.0814 QualSys Solutions 2009 1 Restricted Use This copyrighted material is provided to attendees of
More informationTest Driven Development TDD
Test Driven Development TDD Testing Testing can never demonstrate the absence of errors in software, only their presence Edsger W. Dijkstra (but it is very good at the latter). Testing If it's worth building,
More informationArchitects: Anchors or Accelerators to Organizational Agility?
Architects: Anchors or Accelerators to Organizational Agility? Jim Highsmith 1 SketchBook Pro Everything evolves Two week iterations, Fixed deadline Envision-Evolve, Not Plan-Do Release 2.0 Adaptability
More informationכללי Extreme Programming
פיתוח מער כות תוכנה מבוססות Java כללי Extreme Programming אוהד ברזילי ohadbr@tau.ac.il Based on: K. Beck: Extreme Programming Explained. E. M. Burke and B.M. Coyner: Java Extreme Programming Cookbook.
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised
More informationdefined. defined. defined. defined. defined. defined. defined. defined. defined.
Table of Contents Week 1 Software Development... 2 Software Eng Life-Cycle Development Phases... 2 Methodologies... 2 Week 2 - XP, Scrum, Agile... 3 Extreme Programming (XP)... 3 Values of XP Programming...
More informationRequirements and Design Overview
Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions
More informationProcesses, Methodologies and Tools. Fall 2005
Processes, Methodologies and Tools 1 Who am I? Name: Experience: working with Ada and C/C++ since 1983, with Java since 1996. Application domains: system software, embedded systems, satellites data management
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 9: Layered Architecture Persistency Layer; Software Development Process Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap
More informationSoftware Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis
Software Quality in a Modern Development Team Presented by Timothy Bauguess and Marty Lewis High-Quality Software Who benefits? End users Development Stakeholders Components of Software Quality Structural
More informationRequirements and User-Centered Design in an Agile Context
Requirements and User-Centered Design in an Agile Context The Volvo Group Business Areas AB Volvo Volvo Trucks Renault Trucks Mack Trucks Nissan Diesel Buses Construction Equipment Volvo Penta Volvo Aero
More informationK Kantor, Jeff Use Case Driven Testing, 249
Index A A & D modeling need for updating diagrams rapidly, 232 actors overview, 43 using interaction design to identify, 196 AD (Agile Database Techniques), 18 adaptive planning agile projects and, 10
More informationAgile Testing Course: 15 16/11
Agile Testing Dr. Ronen Bar-Nahor ronen@agilesparks.com 1 AgileSparks We help companies improve by Adopting agile principles and practices. We provide training and coaching to all organizational levels,
More information02161: Software Engineering I
02161: Software Engineering I Week 9: Version Control, Software Development Process, and Project Introduction Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring
More informationxtreme Programming (summary of Kent Beck s XP book) Stefan Resmerita, WS2015
xtreme Programming (summary of Kent Beck s XP book) 1 Contents The software development problem The XP solution The JUnit testing framework 2 The Software Development Problem 3 Risk Examples delivery schedule
More informationAn Introduction to Unit Testing
An Introduction to Unit Testing Brian Henderson Programmer Analyst, Collaborative Data Services bhenders@fhcrc.org CDS Seminars & Training Classes CDS Brownbag seminars Nov 28 th - SharePoint Tips & TricksSharePoint
More informationTesting. in A Large scale agile Development Environment
Testing in A Large scale agile Development Environment Content/agenda 1. Introduction 2. Agile on a large scale 3. Testing in a large scale agile environment 4. Conclusion Testing in large scale Agile
More informationExtreme programming XP 6
Extreme programming XP 6 Planning Game 3 Planning Game Independent: Stories should be as independent as possible. When thinking of independence it is often easier to think of order independent. In other
More informationCOMP 354 TDD and Refactoring
COMP 354 TDD and Refactoring Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course Web Site: http://users.encs.concordia.ca/
More informationReview Software Engineering October, 7, Adrian Iftene
Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)
More informationCOURSE 11 DESIGN PATTERNS
COURSE 11 DESIGN PATTERNS PREVIOUS COURSE J2EE Design Patterns CURRENT COURSE Refactoring Way refactoring Some refactoring examples SOFTWARE EVOLUTION Problem: You need to modify existing code extend/adapt/correct/
More informationAgile vs Fragile. Susmit Bhattacharya, Solution Architect, Asia Pacific. - The need for Automation in Agile Tricentis GmbH. All Rights Reserved.
Agile vs Fragile - The need for Automation in Agile Susmit Bhattacharya, Solution Architect, Asia Pacific 2017 Tricentis GmbH. All Rights Reserved. Years Months Months Weeks Delivery Cycle Time Weeks Days
More informationBest Practices for Final Year Projects
City University of Hong Kong Software Engineering Best Practices for Final Year Projects by Dr. Andy Chun, Hon Wai Subject Group Leader for SE Department of Computer Science Software Engineering Best Practices
More information2014 Intelliware Development Inc.
What You ll Learn in this Presentation: The basics of user stories. How user stories fit into the overall Agile planning process. How to write a user story. A story card example 2 Why is it so Difficult
More informationTest-Driven Development Metodology Proposal for Web Service Choreographies
Test-Driven Development Metodology Proposal for Web Service Choreographies Felipe M. Besson, Pedro M. B. Leal, Fabio Kon Department of Computer Science Institute of Mathematics and Statistics University
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 informationKanban One-Day Workshop
Kanban One-Day Workshop Copyright Net Objectives, Inc. All Rights Reserved 2 Copyright Net Objectives, Inc. All Rights Reserved 3 Lean for Executives Product Portfolio Management Business Product Owner
More informationA Proposal to Develop a Testing Framework for Agile Software Process
C.G. Anupama, Rashi Nair and Soumi Roy ISSN : 0974 5572 International Science Press Volume 9 Number 40 2016 A Proposal to Develop a Testing Framework for Agile Software Process C.G. Anupama a Rashi Nair
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based
More informationGetting a Quick Start with RUP
Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite
More informationThe Process of Software Architecting
IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,
More informationXP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg
XP: Planning, coding and testing Annika Silvervarg Practice Planning game Goal: schedule the most important tasks Which features to implement in what order Supports: simple design, acceptance testing,
More informationHow technical excellence helps in LeSS adoption. Anton Bevzuk Dodo Pizza Chief Agile Officer
How technical excellence helps in LeSS adoption Anton Bevzuk Dodo Pizza Chief Agile Officer The plan Why engineering practices? Deep dive into Pair Programming Test Automation Continuous Integration Q&A
More informationl e a n Lean Software Development software development Faster Better Cheaper
software development Lean Software Development Faster Better Cheaper mary@poppendieck.com Mary Poppendieck www.poppendieck.com Characteristics of Lean Companies: 1. They don t call themselves Lean The
More informationAgileTool - Managing requirements in Agile WWW projects
AgileTool - Managing requirements in Agile WWW projects Mike Arvela 1, Matias Muhonen 1, Matias Piipari 2, Timo Poranen 3, and Zheying Zhang 3 1 Ambientia Ltd., Visamäentie 35, FI-13100 Hämeenlinna, Finland
More informationA Sophisticated Study on Best Practices of Agile Software Testing
A Sophisticated Study on Best Practices of Agile Software Testing Harish R Madhu B K Lokesha V GSSIT, Bangalore, GSSIT, Bangalore, Acharya Institute of Technology, Karnataka, India Karnataka, India Bangalore,
More informationSoftware Engineering from a
Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning
More informationMensch-Maschine-Interaktion 1
1 Mensch-Maschine-Interaktion 1 Chapter 10 (July 21st, 2011, 9am-12pm): User-Centered Development Process Overview Introduction Basic HCI Principles (1) Basic HCI Principles (2) User Research & Requirements
More informationIntroduction to. and. Scott W. Ambler Source Documents
Introduction to and Scott W. Ambler scott.ambler@ronin-intl.com Copyright 2001-2002 Scott W. Ambler 1 Source Documents www.agilemodeling.com The Agile Modeling Workshop Course Notes (www.ronin-intl.com)
More informationExtreme Programming practices for your team. Paweł Lipiński
Extreme Programming practices for your team Paweł Lipiński whoami ~15 years as a developer, ~11 years in Java programming, consulting, training, auditing, architecturing, coaching, team leading Formal
More informationSession 8: UML The Unified Modeling (or the Unstructured Muddling) language?
Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? A few observations, opinions, pros & cons COMP 320 / 420 Spring, 2018 Mr. Weisert Where did the UML come from? Object-oriented
More informationThe Need for Agile Project Management
The Need for Agile Project Management by Mike Cohn 21 Comments originally published in Agile Times Newsletter on 2003-01-01 One of the common misperceptions about agile processes is that there is no need
More informationCONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010
PACIFIC NW 28TH ANNUAL SOFTWARE QUALITY CONFERENCE October 18th 19th, 2010 Conference Paper Excerpt from the CONFERENCE PROCEEDINGS Permission to copy, without fee, all or part of this material, except
More informationIntroduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process
Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative
More informationAgile Database Techniques Effective Strategies for the Agile Software Developer. Scott W. Ambler
Agile Database Techniques Effective Strategies for the Agile Software Developer Scott W. Ambler Agile Database Techniques Effective Strategies for the Agile Software Developer Agile Database Techniques
More informationCISC 322 Software Architecture
CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,
More informationThe Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering
The Power of Unit Testing and it s impact on your business Ashish Kumar Vice President, Engineering Agitar Software, 2006 1 The Power of Unit Testing Why Unit Test? The Practical Reality Where do we go
More informationAgile Modeling (AM) Overview
Agile Modeling (AM) Overview Scott W. Ambler Senior Consultant, Ronin International www.ronin-intl.com/company/scottambler.html Copyright 2001-2004 Scott W. Ambler 1 Recommended Resources www.agilemodeling.com
More informationTesting in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!
Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time! Today s Topics How the Tester s Role Changes in Agile Testing in
More informationSoftware Engineering with Objects and Components Open Issues and Course Summary
Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages
More informationAgile Development
Agile Development 12-04-2013 Many flavors: Waterfall, Spiral Rapid Application Development (DSDM) Xtreme Programming (XP, an agile methodology) Usability Engineering Model, Star Iteration is done throughout
More informationSOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming
SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming Slide 1 Lesson Objectives Understand major activities of software projects Understand the place of these in different lifecycle models
More informationTest-driven development
Test-driven development And how we do it at WIX Mantas Indrašius Software Engineer WIX.COM Agenda Tests overview Test-driven development (TDD) The Bowling Game demo Kickstarting a project using TDD How
More informationIncremental Programming
Journal of Computer Science and Information Technology June 2015, Vol. 3, No. 1, pp. 35-41 ISSN: 2334-2366 (Print), 2334-2374 (Online) Copyright The Author(s). All Rights Reserved. Published by American
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationSoftware Development. Modular Design and Algorithm Analysis
Software Development Modular Design and Algorithm Analysis Functional Decomposition Functional Decomposition in computer science, also known as factoring, refers to the process by which a complex problem
More information18-642: Software Development Processes
18-642: Software Development Processes 9/6/2017 Coding Is Essentially 0% of Creating Software http://e.ubmelectronics.com/2013embeddedstudy/index.html 2 Old-School Waterfall Development Cycle Bugs SPECIFY
More informationSE420 - Software Quality Assurance
SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore
More informationXP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1.
XP: Planning, coding and testing Annika Silvervarg Planning XP planning addresses two key questions in software development: predicting what will be accomplished by the due date determining what to do
More information