The Birth of Craftsmanship

Size: px
Start display at page:

Download "The Birth of Craftsmanship"

Transcription

1 The Birth of Craftsmanship Robert C. Martin Object Mentor, Inc. objectmentor.com Copyright by Object Mentor, Inc All Rights Reserved

2 Our Craft: After years, we have a definition! 2

3 Electron Gun and Slit Electron Gun 3

4 Moving the slit, moves the spot. Electron Gun 4

5 What would two slits show? Electron Gun 5

6 Two Spots? Electron Gun 6

7 7 Yikes Stripes!

8 Yikes! Stripes! Electron Gun 8

9 What if electrons are waves? Electron Gun? 9

10 Then the waves would interfere. Electron Gun 10

11 So let s shoot them one at a time. Electron Gun 11

12 OK, let s watch the slits. Detector Electron Gun Detector 12

13 Detectors off. Pattern returns. Detector Electron Gun Detector 13

14 This is a picture of a single electron. Electron Gun 14 But only if we don t watch it pass through the slits.

15 This is 60,000 individual electrons. 15

16 What have we learned from this? The world is not as it appears to our common sense notions. or If you think you understand QM, then you are missing something. 16

17 17 But we re supposed to be talking about our Craft

18 Prehistory: The dark times. 70 s-90 s 18

19 19 We believed in big plans.

20 Object Mentor s Third Law of Agile Development In preparing for battle I have always found that plans are useless, but planning is indispensable. Dwight David Eisenhower 20

21 Booch s Common Sense Example The Doghouse vs. the Skyscraper. 21

22 And then there s this 22

23 Object Mentor s First Law of Agile Development A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system. Systemantics: How Systems Really Work and How They Fail, 2d. ed., J. Gall, The General Systemantics Press, 1986, p

24 The Waterfall Model Managing the Development of Large Software Systems Dr. Winston W. Royce May 1 Jul 1 Sep 1 Nov Analysis Design Implementation DFD ERD DD ST 24

25 Royce s actual diagram. 25

26 Royce s Observation 26

27 Royce s Conclusion 27

28 But the data says something different 28

29 Over specification. 29

30 Long Projects Fail. 30

31 Object Mentor s Second Law of Agile Development...the document-driven, specify-then-build approach... lies at the heart of so many... software problems. Fred Brooks in his 1987 Report of the Defense Science Board Task Force on Military Software 31

32 1992:Jack Reeves C++ Journal What is Software Design? 32

33 Blueprints and Source code. Jack Reeve s article: public int score() { int score = 0; int frameindex = 0; for (int frame = 0; f if (isstrike(framei score += 10 + str frameindex++; } else if (isspare( score += 10 + spa frameindex += 2; } else { score += sumofbal frameindex += 2; } } return score; } 33

34 What if houses were like software? Construction costs nothing. Design is everything. Every design change costs $

35 : Principles & Patterns

36 SCRUM 1995 PLoP ~muddle~ 36

37 Space: 1999 XP 37

38 38 Short Iterations

39 TDD Refactoring Simple Design 39

40 Continuous Integration Pairing 40

41 Excitement: The Techie Practices 41

42 Revulsion: No Architecture! No Design! 42

43 : XP Immersion

44 XP Leadership Hillside Burnout. The Two Martins. 44

45 45 Lightweight Process Summit

46 Snowbird Agile Manifesto Agile Coined Most important Most damaging 46

47 47 XP Scrum FDD DSDM XTAL

48 Agile Stimulated SCRUM Scrum subset of XP 48

49 Ron s Circle of Life Whole Team Continuous Integration Test Driven Development Collective Ownership Acceptance Tests Pairing Refactoring Planning Game Metaphor Simple Design Sustainable Pace 49 Small Releases

50 50 SCRUM doesn t smell like GEEKS

51 51 SCRUM makes Agile palatable to Business.

52 2002: CSM #1 meh. 52

53 SCRUM certification gold rush Attracted Business attention. 53

54 But Agile, Scrum, XP were for: Small teams. 54

55 55 RIP: SOS

56 Aunt Mary. LEAN Agile in the Large. 56

57 Engorged SCRUM 57

58 SCRUM Certification & Lean Scrum crossed the Chasm and penetrated business. 58

59 59 But something was left behind

60 Tech Practices! Test Driven Development Pairing Refactoring Simple Design 60

61 61 Scrum

62 It s the worst case scenario: No Design. No Architecture. Just Rapid Churn. 62

63 63 How many of you have been significantly impeded by Bad Code.

64 To make matters worse The mess doesn t show up right away. 64

65 The Flaccidity Curve Productivity vs Ti Time 65

66 66 Seeming fast is not BEING fast.

67 Scrum-ED: Agile->Stimulated, Lean->Engorged, No tech->flaccidated. 67

68 68 But Agile Exposes this problem so that the Business can see it!

69 69 Because velocity is measured and reported

70 70 To improve velocity Scrum Teams must adopt TDD, CI, Pairing, simple design, refactoring. (XP)

71 Agile is the gateway To Craftsmanship To a Profession 71

72 Craftsmanship: Professionalism: The Next Big Thing 72

73 73 TDD / Refactoring

74 74 Clean Code

75 75 Boyscout Rule.

76 The only way to go fast is to go well, and to write 76

77 77 Code This Good.

78 The Green Band 78

79 Craftsmanship Manifesto manifesto.softwarecraftsmanship.org 79

80 Contact Information Robert C. Martin Websites: manifesto.softwarecraftsmanship.org 80

Our craft is defined. XP Immersion TM. Clean Code II Craftsmanship. Robert C. Martin Object Mentor, Inc. objectmentor.

Our craft is defined. XP Immersion TM. Clean Code II Craftsmanship.   Robert C. Martin Object Mentor, Inc. objectmentor. Clean Code II Craftsmanship Robert C. Martin Object Mentor, Inc. objectmentor.com Copyright 2008 by Object Mentor, Inc All Rights Reserved Our craft is defined 2 1 But first 3 Electron Gun and Slit Electron

More information

Extreme Programming practices for your team. Paweł Lipiński

Extreme 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 information

Agile Israel Feature Driven Development

Agile Israel Feature Driven Development Agile Israel Feature Driven Development For the agile agent of change Justin-Josef Angel www.justinangel.net blogs.microsoft.co.il/blogs/justinangel Stress Change Your Comfort Zone Change Stress Agile

More information

Agile Software Development The Cooperative Game 2nd Edition

Agile Software Development The Cooperative Game 2nd Edition Agile Software Development The Cooperative Game 2nd Edition We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer,

More information

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile 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 information

Introduction to Extreme Programming

Introduction 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 information

Software Engineering I (02161)

Software 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 information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software 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 information

XP Evolution Rachel Davies

XP 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 information

3 Continuous Integration 3. Automated system finding bugs is better than people

3 Continuous Integration 3. Automated system finding bugs is better than people This presentation is based upon a 3 day course I took from Jared Richardson. The examples and most of the tools presented are Java-centric, but there are equivalent tools for other languages or you can

More information

Founda'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 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 information

Introduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck

Introduction 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 information

Optimize tomorrow today.

Optimize 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 information

Agile where are we at?

Agile where are we at? Consultant www.crisp.se Agile where are we at? Keynote - Agile Tour Bangkok Nov 2017 henrik.kniberg@crisp.se @HenrikKniberg Dad Climate guy Organizational coach & Change Instigator Author Scrum Retrospective

More information

Agile Software Requirements Lean Practices For Teams Programs And The Enterprise Dean Leffingwell

Agile Software Requirements Lean Practices For Teams Programs And The Enterprise Dean Leffingwell Agile Software Requirements Lean Practices For Teams Programs And The Enterprise Dean Leffingwell We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks

More information

A few more things about Agile and SE. Could help in interviews, but don t try to bluff your way through

A few more things about Agile and SE. Could help in interviews, but don t try to bluff your way through A few more things about Agile and SE Could help in interviews, but don t try to bluff your way through 1 Refactoring How to do it, where it fits in http://www.cse.ohio-state.edu/~crawfis/cse3902/index.htm

More information

How 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 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 information

Advanced Data Modeling: Be Happier, Add More Value and Be More Valued

Advanced Data Modeling: Be Happier, Add More Value and Be More Valued Advanced Data Modeling: Be Happier, Add More Value and Be More Valued Karen Lopez Karen López, A frequent speaker on data modeling, data-driven methodologies and pattern data models. SQL Server MVP She

More information

A CONFUSED TESTER IN AGILE WORLD

A CONFUSED TESTER IN AGILE WORLD A CONFUSED TESTER IN AGILE WORLD QA A LIABILITY OR AN ASSET THIS IS A WORK OF FACTS & FINDINGS BASED ON TRUE STORIES OF ONE & MANY TESTERS!! J Presented By Ashish Kumar, A STORY OF TESTING. WHAT S AHEAD

More information

CS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP. See also: Chapter 6. The Stagewise Model

CS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP. See also: Chapter 6. The Stagewise Model CS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP See also: Chapter 6 The Stagewise Model The Waterfall Model The Spiral Method Extreme Beach Volleyball Programming

More information

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

How 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 information

Test Driven Development. René Barto SES Agile Development - Test Driven Development

Test 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 information

18-642: Software Development Processes

18-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 information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 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 information

Agile Architecture. The Why, the What and the How

Agile Architecture. The Why, the What and the How Agile Architecture The Why, the What and the How Copyright Net Objectives, Inc. All Rights Reserved 2 Product Portfolio Management Product Management Lean for Executives SAFe for Executives Scaled Agile

More information

Designed in collaboration with Infosys Limited

Designed 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 information

Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer

Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer http://ewolff.com Why Microservices? Why Microservices? Strong modularization Replaceability Small units Sustainable Development

More information

Extreme programming XP 6

Extreme 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 information

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Agile 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 information

David Bernstein Five Development Practices Essential for Scrum Teams

David 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 information

Activities 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. 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 information

Design Patterns Thinking and Architecture at Scale

Design Patterns Thinking and Architecture at Scale Design Patterns Thinking and Architecture at Scale This talk is based on Net Objectives design patterns training and Al Shalloway and Jim Trott s book Design Patterns Explained. Please contact Al at alshall@netobjectives.com

More information

Software Development Process Models

Software 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 information

Systems 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, 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 information

Agile, Testing, and Quality: Looking Back, Moving Forward

Agile, Testing, and Quality: Looking Back, Moving Forward Agile, Testing, and Quality: Looking Back, Moving Forward Elisabeth Hendrickson Quality Tree Software, Inc. www.qualitytree.com esh@qualitytree.com Last updated October 28, 2009 Copyright 2009 Quality

More information

The Need for Agile Project Management

The 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 information

Introduction to Automated Acceptance Testing

Introduction to Automated Acceptance Testing Introduction to Automated Acceptance Testing Micah Martin, 8th Light, Inc. micah@8thlight.com What are Acceptance Tests? What are Acceptance Tests? ATs vs UTs Acceptance Tests Unit Tests Written by Customer

More information

agile engineering practices Lionel Bisschoff CEO Kaizania

agile engineering practices Lionel Bisschoff CEO Kaizania agile engineering practices Lionel Bisschoff CEO Kaizania background 2000 Engaged, Thinking People Lean 1800 Interchangeable People Assembly Line Craft 1800 Interchangeable Craft Parts Craft Craft lean

More information

3 Days Classroom Training Exam and Certification Included

3 Days Classroom Training Exam and Certification Included 3 Days Classroom Training Exam and Certification Included A Complete Agile Certified Solution What s Included? 3 days classroom Course workbooks Access to our Agile Master based training and learning portal,

More information

Test Driven Development TDD

Test 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 information

Agile Project Management QuickStart & Mastery Guides: The Complete Introduction To Agile Project Management By ClydeBank Business READ ONLINE

Agile Project Management QuickStart & Mastery Guides: The Complete Introduction To Agile Project Management By ClydeBank Business READ ONLINE Agile Project Management QuickStart & Mastery Guides: The Complete Introduction To Agile Project Management By ClydeBank Business READ ONLINE Lean: QuickStart Guide - The Simplified Beginner's - Bob said:

More information

The 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 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 information

l e a n Lean Software Development software development Faster Better Cheaper

l 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 information

Full Name. Benjamin James New. Location. Perth, Western Australia. Contact. (+61) Social Media

Full Name. Benjamin James New. Location. Perth, Western Australia. Contact. (+61) Social Media Résumé of Ben New Full Name Benjamin James New Location Perth, Western Australia Contact ben@leftclick.com.au (+61) 0407 089 890 Social Media LinkedIn @leftclick Stack Overflow @leftclickben Twitter @leftclickben

More information

Development with Scrum

Development with Scrum Pro Agile.NET Development with Scrum Jerrel Blankenship Matthew Bussa Scott Millett Apress* Contents About the Authors About the Technical Reviewers Acknowledgments Introduction xv xvi xvii xviii Chapter

More information

Certified Kanban Management Professional - KMPI. Certification-led

Certified Kanban Management Professional - KMPI. Certification-led Certified Kanban Management Professional - KMPI Vertical Type Sub-Category Technology Certification-led Kanban Welcome Note Hello there You've considered embarking on an exciting journey to strengthen

More information

Practical Objects: Test Driven Software Development using JUnit

Practical 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 information

Software Engineering I (02161)

Software 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 information

E 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

E 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 information

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010

CONFERENCE 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 information

Topic 4 - Introduction to Metering on a DSLR

Topic 4 - Introduction to Metering on a DSLR Getting more from your Camera Topic 4 - Introduction to Metering on a DSLR Learning Outcomes In this lesson, we will look at another important feature on a DSLR camera called Metering Mode. By the end

More information

Adopting Agile Practices

Adopting 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 information

Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015

Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015 Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015 Write your name in B L O C K C A P I T A L L E T T E R S. First Name: Last Name: Student ID: 1-20 α β + γ Total Record your answers

More information

[PDF] Agile Project Management With Kanban (Developer Best Practices)

[PDF] Agile Project Management With Kanban (Developer Best Practices) [PDF] Agile Project Management With Kanban (Developer Best Practices) Use Kanban to maximize efficiency, predictability, quality, and value With Kanban, every minute you spend on a software project can

More information

Getting Context Information For Strategies.

Getting Context Information For Strategies. Getting Context Information For Strategies. Finn Rosenbech Jensen November 11, 2009 1 The Problem. Introducing dierent strategies in HotCiv we often face the problem, that the Concrete Strategy class needs

More information

An Agile Project Management Methodology For Hardware Design (iimt Executive MBA And Diploma Papers) [Kindle Edition] By Michel Chevroulet READ ONLINE

An Agile Project Management Methodology For Hardware Design (iimt Executive MBA And Diploma Papers) [Kindle Edition] By Michel Chevroulet READ ONLINE An Agile Project Management Methodology For Hardware Design (iimt Executive MBA And Diploma Papers) [Kindle Edition] By Michel Chevroulet READ ONLINE If searching for a ebook by Michel Chevroulet An agile

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. 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 information

Testing in Agile Software Development

Testing 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 information

Test Driven Development

Test Driven Development Test Driven Development driving the development of quality software through tests presented by Introduction and Agenda Andy Painter, Davisbase Consulting 15+ years in software development. 5+ years working

More information

Website Validity DOING QUALITY RESEARCH MR. ERFURTH, 2015

Website Validity DOING QUALITY RESEARCH MR. ERFURTH, 2015 Website Validity DOING QUALITY RESEARCH MR. ERFURTH, 2015 Today s Goal Students can determine the validity and value of information they find on the internet while researching. Open Web vs. Paid Resources

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 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 information

Agile Development

Agile 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 information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution 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 information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 9 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week Software Development Process Version Control Contents Project planning

More information

Test Driven Development (TDD)

Test Driven Development (TDD) Test Driven Development (TDD) Test Driven Development Introduction Good programmers write code, great programmers write tests Never, in the field of programming, have so many owed so much to so few - Martin

More information

Scrums effects on software maintainability and usability

Scrums effects on software maintainability and usability Scrums effects on software maintainability and usability Gustav Ernberg guser350@student.liu.se January 19, 2015 Synposis I have been working as a web developer with advanced web applications on a number

More information

Kanban Kickstart Geeknight. Jesper Boeg, Agile/Lean Coach, VP Trifork Agile Excellence Twitter: J_Boeg

Kanban Kickstart Geeknight. Jesper Boeg, Agile/Lean Coach, VP Trifork Agile Excellence Twitter: J_Boeg Kanban Kickstart Geeknight Jesper Boeg, Agile/Lean Coach, VP Trifork Agile Excellence jbo@trifork.com Twitter: J_Boeg Agenda Introduction + Advertisement (15 min.) A Couple of War Stories The 5 Principles

More information

[PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management!

[PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management! [PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management! Discover Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project

More information

Making sense of chaos An evaluation of the current state of information architecture for the Web

Making sense of chaos An evaluation of the current state of information architecture for the Web Making sense of chaos An evaluation of the current state of information architecture for the Web Anne de Ridder UW 521 Winter Seminar Series, February 3, 2012 What you ll hear about today A bit about me

More information

The Scaled Agile Framework

The 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 information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information

Quality Driven Development

Quality Driven Development Quality Driven Development Interacting with BDD/TDD Hadar Ziv and Vijay Krishna Palepu Department of Informatics University of California, Irvine Brief History (Vijay Krishna Palepu) PhD student in software

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

IT S ALL ABOUT THE OPEN RATE. Best Practices, Tactics and Tips for Writing Better Subject Lines.

IT S ALL ABOUT THE OPEN RATE. Best Practices, Tactics and Tips for Writing Better Subject Lines. IT S ALL ABOUT THE OPEN RATE. Best Practices, Tactics and Tips for Writing Better Subject Lines. THEY RE SHORT, THEY BETTER BE SWEET, AND THEY CAN MAKE OR BREAK AN EMAIL. Of course, we re talking about

More information

Been testing software for over 10 years Started out as a Manual Tester Moved to Automation testing Now leading teams, defining quality in

Been testing software for over 10 years Started out as a Manual Tester Moved to Automation testing Now leading teams, defining quality in Been testing software for over 10 years Started out as a Manual Tester Moved to Automation testing Now leading teams, defining quality in organizations. Started as a reflection of how much software testing

More information

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017 Collaboration at Scale: Prioritizing a Backlog 13-Dec-2017 Collaboration at Scale Designed for Scrum-centric organizations with more than 10 Scrum teams, the Collaboration at Scale webinar series provides

More information

CSE 70 Final Exam Fall 2009

CSE 70 Final Exam Fall 2009 Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15

More information

Testing 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! 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 information

General Simulation Principles

General Simulation Principles 1 / 24 General Simulation Principles Christos Alexopoulos and Dave Goldsman Georgia Institute of Technology, Atlanta, GA, USA 10/16/17 2 / 24 Outline 1 Steps in a Simulation Study 2 Some Definitions 3

More information

EEN118 LAB FOUR. h = v t - ½ g t 2

EEN118 LAB FOUR. h = v t - ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

CS102 Software Engineering Principles

CS102 Software Engineering Principles CS102 Software Engineering Principles Bill Cheng http://merlot.usc.edu/cs102-s12 1 Software Engineering Principles You need to develop a plan before you start writing your code Choose the proper data structures

More information

Digital Workflow 10 Tech Rules to Guide You

Digital Workflow 10 Tech Rules to Guide You Last updated: 10/11/10 Digital Workflow 10 Tech Rules to Guide You Introduction Whether your goal is to become paperless, or just to get more out of the technology you use, you need to (1) find the easy

More information

Credit where Credit is Due. Lecture 25: Refactoring. Goals for this lecture. Last Lecture

Credit where Credit is Due. Lecture 25: Refactoring. Goals for this lecture. Last Lecture Credit where Credit is Due Lecture 25: Refactoring Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some of the material for this lecture and lecture 26 is taken

More information

B. What strategy (order of refactorings) would you use to improve the code?

B. What strategy (order of refactorings) would you use to improve the code? { return title.gettext(); public boolean needssplit() { return costlabel.gettext().equals(" >3 "); public boolean needsestimate() { return costlabel.gettext().equals("? "); Challenges PG-1. Smells. A.

More information

SE420 - Software Quality Assurance

SE420 - 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 information

CATCH ERRORS BEFORE THEY HAPPEN. Lessons for a mature data governance practice

CATCH ERRORS BEFORE THEY HAPPEN. Lessons for a mature data governance practice CATCH ERRORS BEFORE THEY HAPPEN Lessons for a mature data governance practice A guide to working with cross-departmental teams to establish proactive data governance for your website or mobile app. 2 Robust

More information

CS 4349 Lecture October 18th, 2017

CS 4349 Lecture October 18th, 2017 CS 4349 Lecture October 18th, 2017 Main topics for #lecture include #minimum_spanning_trees. Prelude Homework 6 due today. Homework 7 due Wednesday, October 25th. Homework 7 has one normal homework problem.

More information

Intro to Algorithms. Professor Kevin Gold

Intro to Algorithms. Professor Kevin Gold Intro to Algorithms Professor Kevin Gold What is an Algorithm? An algorithm is a procedure for producing outputs from inputs. A chocolate chip cookie recipe technically qualifies. An algorithm taught in

More information

Lecture 23: Domain-Driven Design (Part 1)

Lecture 23: Domain-Driven Design (Part 1) 1 Lecture 23: Domain-Driven Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2005 2 Goals for this lecture Introduce the main concepts of Domain-Driven

More information

Agile Project Management For Dummies Download Free (EPUB, PDF)

Agile Project Management For Dummies Download Free (EPUB, PDF) Agile Project Management For Dummies Download Free (EPUB, PDF) Be flexible and faster with Agile project management As mobile and web technologies continue to evolve rapidly, there is added pressure to

More information

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE Agile Software Development Agile UX Work Kati Kuusinen Researcher @ TUT / Pervasive / IHTE kati.kuusinen@tut.fi Contents 1. Introduction / Motivation 2. Agile software development 3. User experience work

More information

Random input testing with R

Random input testing with R Random input testing with R Patrick Burns http://www.burns-stat.com stat.com 2011 August Given at user!2011 at the University of Warwick on 2011 August 17 in the Programming session, Uwe Ligges presiding.

More information

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change Chapter01.fm Page 1 Monday, August 23, 2004 1:52 PM Part I The Mechanics of Change The Mechanics of Change Chapter01.fm Page 2 Monday, August 23, 2004 1:52 PM Chapter01.fm Page 3 Monday, August 23, 2004

More information

Test Driven Development: Pair programming to the max. Klaas van Gend, 040coders.nl, March 15, 2018

Test Driven Development: Pair programming to the max. Klaas van Gend, 040coders.nl, March 15, 2018 Test Driven Development: Pair programming to the max Klaas van Gend, 040coders.nl, March 15, 2018 1 Klaas van Gend Hobby: Hobby: {040coders.nl} Hobby: 2 3 1949 1953 4 source optics 4 meter stage more optics

More information

5 Object Oriented Analysis

5 Object Oriented Analysis 5 Object Oriented Analysis 5.1 What is OOA? 5.2 Analysis Techniques 5.3 Booch's Criteria for Quality Classes 5.4 Project Management and Iterative OOAD 1 5.1 What is OOA? How to get understanding of what

More information

What is a prototype?

What is a prototype? analysis of stakeholders, field studies ANALYZE Problem scenarios claims about current practice metaphors, information technology, HCI theory, guidelines DESIGN Activity scenarios Information scenarios

More information

K Kantor, Jeff Use Case Driven Testing, 249

K 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 information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

Software Engineering Design & Construction

Software Engineering Design & Construction Winter Semester 16/17 Software Engineering Design & Construction Dr. Michael Eichberg Fachgebiet Softwaretechnik Technische Universität Darmstadt Dependency-Inversion Principle 2 Dependency-Inversion Principle

More information

Test-Driven Development (TDD)

Test-Driven Development (TDD) Test-Driven Development (TDD) CS 4501 / 6501 Software Testing [Lasse Koskela, Test Driven, Chapters 2-3] 1 Agile Airplane Testing Test harness: Appearance matches Color coding in place Fly 6ft (or 2m)

More information