Aristotle in an Agile World. By Ben Allen

Similar documents
Manifesto for Agile Software Development

Agile Project Management By Mark C. Layton

Software Processes. Agile Methods

Agile Beyond The Team 1

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013

Agile Development with C#

Agile Project Management with Scrum

Agile QA s Revolutionary Impact on Project Management

Introduction to Agile Software Development. EECS 690 Agile Software Development

werteorientierte Unternehmenskultur

AGILE BUSINESS INTELLIGENCE

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Development. Lecture 3

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

Agile Software Development

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

Agile Software Development in the Large

Agile Development Overview

Agile on huge banking mainframe legacy systems. Is it possible?

ITSM Agile Intro Feb 5, 2015

Agile and PRINCE2 And how they integrate. enterprise.bcs.org

Software Development with Agile Methods

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

LEAN AGILE POCKET GUIDE

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Role of Agile Methodology in Software Development

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

How To Understand The Limitations Of An Agile Software Development

Agile and ITIL And how they integrate. enterprise.bcs.org

Agile Project Management

The Role of Agile Methodology in Project Management

Agile Software Development. Mohsen Afsharchi

What does it mean to be Agile. Marek Majchrzak, Andrzej Bednarz Wrocław,

Processes in Software Development. Presented by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Agile Software Development in the Large

Agile project management: A magic bullet?

Agile Projects 7. Agile Project Management 21

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

Comparing Scrum And CMMI

Adopting Agile Project Management - Corporate Culture Must Match (Apr 15)

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

History of Agile Methods

Agile Project Management Jim Highsmith. Chapter 1. The Agile Revolution

Agile Project Management: Adapting project behaviors to the software development environment

Information Management for National Guard Agribusiness Development Teams: An Agile Development Case Study

Is Agile or Waterfall the best? The answer is not binary!

AGILE vs. WATERFALL METHODOLOGIES

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Introduction to Agile Software Development

Improving Software Productivity with Agile Methodologies

Case Study on Critical Success Factors of Running Scrum *


Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

AGILE - QUICK GUIDE AGILE - PRIMER

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

Governments information technology

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Agile Processes and Distributed Projects: Dream or Nightmare?

Agile Software Project Management Methodologies

Agile Systems Engineering: What is it and What Have We Learned?

Creating a High Maturity Agile Implementation

Neglecting Agile Principles and Practices: A Case Study

Quality Assurance in an Agile Environment

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

Agile in a Safety Critical world

CSSE 372 Software Project Management: Managing Agile Projects

How To Write A Thesis On How To Create And Maintain Documentation In An Agile Development Environment

Extreme Programming, an agile software development process

Agile Software Development

Waterfall to Agile. DFI Case Study By Nick Van, PMP

The style is: a statement or question followed by four options. In each case only one option is correct.

Business Analysts in an Agile World. Christian Antoine

Agile Development to Transform FedEx

COMPARATIVELY ANALYSIS OF AGILE SOFTWARE DEVELOPMENT

PMBOK? You Can Have Both! June 10, Presented by:

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Agile Project Management

The Structure of a Software Development Team

Scrum In 10 Slides. Inspect & Adapt

The Agile Manifesto is based on 12 principles:

COMP 354 Introduction to Software Engineering

Transcription:

Aristotle in an Agile World By Ben Allen

Introduction Aim of the presentation is to introduce the agile mindset to software testers, using ancient philosophy as a reference point. What do ancient philosophers such as Aristotle have to do with modern day software testing? Why the interest in Agile methodology? Manifesto and principles behind the Agile movement. How philosophy can help in the agile pursuit of quality software. The Philosophical Agile Tester and High Performing Agile Teams.

Ancient Wisdom! Heraclitus: No man ever steps in the same river twice, for it s not the same river, and he s not the same man. Socrates / Plato: I only know that I know nothing. Aristotle: Knowing yourself is the beginning of all wisdom.

What does all that have to do with software testing and agile? A project is always changing and is never the same project with the same expertise. We cannot know everything about everything at the beginning of a project, sometimes we know nothing about important things. A team that takes time to ascertain its own capabilities and its customer s needs is a wise team that can deliver quality software.

What drives the high level of Agile interest? Reducing time to market Responsiveness to changing business and customer requirements Application quality Reducing costs Becoming more efficient Recognition that you don t know what you don t know Improvement in visibility

Agile Manifesto We are uncovering better ways of developing software by doing it and helping others to do it. Through this work we have come to value: Individuals and interactions Working Software Customer collaboration Responding to change over Processes and tools Comprehensive documentation Contract negotiation Following a plan That is, while there is value in the items on the right, we value the items on the left more.

How Aristotle can help Aristotle discusses the ideal middle ground (the golden mean) in his ethical theories. According to Aristotle we need just enough or the right amount of a certain characteristic at just the right time. Example of fear and confidence. - Too much confidence = Rash / Reckless - Too little fear = Cowardly - Ideal amount of confidence and fear = COURAGE

Aristotle and the Agile Manifesto It s not that we don t value the things on the right of the manifesto it s just that as a true Aristotelian we want to use the correct amount of the left hand side of the manifesto too. This will help to make us excellent agile testers and produce quality software.

The example of Just Enough Documentation More Details Less Details New System Simple to moderate addition to exisiting system Off-shore or distributed teams Co-located team Large complex solution Newly formed team Small simple solution Team that has been working together for a while i Document stable things, not speculative SearchSoftwareQuality: Approaches to defining requirements within Agile teams: Martin Crisp http://www.agilemodeling.com/essays/agiledocumentation.htm#issues WithDocumentation Scott Ambler

12 Principles of Agile Methods 1. Our highest priority is to satisfy the customer through the early and continuous delivery of valuable software 2. Welcome changing requirements, even late in the development. Agile processes harness change for the customer s competitive advantage 3. Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the short time scale 4. Business people and developers must work together daily throughout the project 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation 7. Working software is the primary measure of progress 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely 9. Continuous attention to technical excellence and good design enhances agiltiy 10. Simplicity the art of maximising the amount of work not done is essential 11. The best architecture, requirements and designs emerge from self-organising teams 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts behaviour accordingly

How Aristotle can help us to understand the agile principles (1) "We are what we repeatedly do. Excellence, then, is not an act, but a habit. Natural things are some or all of them subject to change. When several villagers are united in a single complete community, large enough to be self sufficing, the state comes into existence...and to be self-sufficing is the best end.

How Aristotle can help us to understand the agile principles (2) It is simplicity that makes the uneducated more effective than the educated. The function of man is activity of the soul according to reason. Excellence is never an accident. It is always the result of high intention, sincere effort, and intelligent execution; it represents the wise choice of many alternatives - choice, not chance, determines your destiny. IMAGINE HOW EFFECTIVE THE EDUCATED CAN BE!!!!

Common attributes of agile methods Incremental & Iterative Iterative with short cycles that are time-boxed to enable quick verification Cooperative Emphasis on communication, skilful people, interactions and collaboration Adaptive Responds to change, focuses on reducing risk early and able to change course as required Combine to give Working Software

Agile is NOT 1. Compressing the project schedule 2. Removing all existing software development processes 3. Throwing out all documentation 4. Writing code up to the last minute

Cross Functional Agile Teams Customer/ Customer Proxy Development QA / Testing Customer/ Customer Proxy Development QA / Testing Business Analyst 1 Business Analyst 2 Developer 1 Developer 2 Tester 1 Tester 2 Business Analyst 1 Business Analyst 2 Developer 1 Developer 2 Tester 1 Tester 2 Team 1 Team 2 Team 3 Business Analyst 3 Developer 3 Tester 3 Business Analyst 3 Developer 3 Tester 3

Tester Mindset Soft Skills No them and us Shorter timescales Less documentation Greater visibility Self management Team player Learn Get stuck in

High Performance Teams Five Characteristics of High Performance Teams 1. They have the right people on the team 2. They are led, not managed 3. They understand their mission 4. They communicate and collaborate continuously 5. They are accountable for their results Scaling Software Agility Best Practices for Large Enterprises - Leffingwell

The Agile Tester and the Ancient Philosopher Both need to be brave and leave their comfort zones. Both are searching for quality in their work and their results. Both are strong communicators with those around them and willing to try something new to produce the best.

Conclusion and Next Steps Have seen how philosophy can help with adapting to an agile mindset. Have discussed the agile manifesto and agile principles with reference to Aristotle. Have considered the cross functional role of agile testers and what makes a high performing team. If this has been of interest then the next steps are to look at the various stages of an agile project (planning, iterations, reviews and retrospectives). Please ask for more details if you are interested!