Software Creation Communication Agile Principles applied to software projects.

Slides:



Advertisements
Similar presentations
Essential Lifestyle Planning Facilitator Training - Day 2
Advertisements

Scrum (software development)
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The World of Agile Software Development (or, “Creating a fair playing field in 30 minutes”)
1 RUNNING a CLASS (2) Pertemuan Matakuliah: G0454/Class Management & Education Media Tahun: 2006.
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Team System and Microsoft Solutions Framework Team collaboration tools Process authoring Process Guidance MSF-Agile & MSF-CMMI Software Factories Future.
Agile Software Development Matt Rice November 27, 2006.
Agile Programing Methods Drew Arrigoni. The Agile Manifesto ● Individual Interactions over Processes and Tools ● Working Software over Comprehensive Documentation.
An Application for Education Dave Dalsveen CSM.  In terms of software development, from the need to integrate change into the software project development.
Agile Software Development
Copyright  Larry Dribin, Ph.D. SE470_XP_v1_1.ppt SE470 XP - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
Introduction to Agile.
UNIT 9. CLIL THINKING SKILLS
Agile Project Management By: Jim Highsmith Presented by: Brian Faulk.
Models and Designs Investigation 1.  Label your new section Models and Designs  Draw pictures of a “model” and “design”
Agile Development Methods: Philosophy and Practice
Elephants in the Agile Room. Reflections on 10 Years of Agility Todd Little Sr. Development Manager Landmark Graphics.
The New (Agile) Methodology
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Agile Programming Principles.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
An introduction for PMPs
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Scrum Thomas Ferris Nicolaisen Common sense?
"The thinking it took to get us into this mess is not the same thinking that is going to get us out of it."
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Richard HundhausenKen Schwaber Accentient Corporation Scrum.org SESSION CODE: DPR205.
Project Workflow. How do you do it? -Discussion-
Phil O'Connell Penn State Abington IST 261 (Fall 2015) Application Development Design Studio I Agile Scrum Phil O'Connell
Moving Around in Scratch The Basics… -You do want to have Scratch open as you will be creating a program. -Follow the instructions and if you have questions.
CS 350 – Software Design The Strategy Pattern – Chapter 9 Changes to software, like other things in life, often focus on the immediate concerns and ignore.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Algebra Simplifying and collecting like terms. Before we get started! Believe it or not algebra is a fairly easy concept to deal with – you just need.
ISECON 2003 San Diego, California Integrating Agile Methodologies into the Project Capstone Christopher G. Jones, CPA/PhD Utah Valley State College
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
ANU COMP2110 Software Design in 2003 Lecture 10Slide 1 COMP2110 Software Design in 2004 Lecture 12 Documenting Detailed Design How to write down detailed.
Agile Manifesto Values. Agile Manifesto - Values In 2001, a group of expert software development professionals met to agree on a common set of guiding.
©Alistair Cockburn The 2005 “Declaration of InterDependence” Alistair Cockburn
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Introduction to Software Engineering
Forget about Agile for a second!
Manifesto for Agile Software Development
The low hanging fruit is gone!
Agile Education Teacher Presentation
AGILE SCRUM METHODOLOGY
PMP vs. Scrum Master Compatible or Incompatible? Presented by:
CompSci 230 Software Construction
Agile MDA Stephen J. Mellor
The Current Conversation in Agile Software Development Aug-2002
Teaching Agile Methods CSEE&T 2017, Savannah, Georgia
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Introduction to Software Engineering
Agile Development Methods: Philosophy and Practice
Introduction to Software Engineering
Being Agile Minded: Even if your team is not
Agile Software Development Paradigms
Agile Methodologies Course Title: Advanced Software Engineering
Agile Development Agile Development Damian Gordon Damian Gordon.
CSCE 747 Software Testing and Quality Assurance
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Agile Project Management and Scrum
Presentation transcript:

Software Creation Communication Agile Principles applied to software projects

Silos of Knowledge Computer ScienceBusinessBiologyPhysics PhilosophySociologyPsychologyEtc., etc., etc. Craft, Community, Pride, Learning, Creativity, Communication, etc. Efficiency

Agile Manifesto Manifesto for Agile Software Development 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 in the items on the right, we value the items on the left more.

Authors of Agile Manifesto Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas Note: Most of this presentation is based upon the work of Alistair Cockburn’s Agile Software Development

Is creating software… Engineering? Science? Art? Development? Construction? Something else? Does it matter?

It does matter! The way we think about anything is constrained by The mental frames we use Frames trump facts. Frames will stay and the facts will bounce off. -George Lakoff The language we use to describe it (connotations) Tax relief vs. tax deferment Death tax vs. inheritance tax Actions and results CAN differ depending on your viewpoint!

When we experience something, we parse it into separate, meaningful chunks When we parse according to one pattern and later put the pieces back together, we get a distorted, simplified result! Parsing Experience OR ?

Conclusions… Any complex shape can be parsed according to different patterns Our perception of “what is there” proceeds in different directions depending on how we separate elements What we notice is biased by the vocabulary we start with

Impossibility of Communication? Information received is determined by what happens inside the receiver, not just the information the sender is trying to impart Stimulus: Yell “Fire” in a crowded theater Response A: someone hears, and exits safely Response B: someone hears, and panics Response C: someone is asleep, and doesn’t hear Response D: someone doesn’t speak English, and doesn’t understand

Impossibility of Communication? Communication is NEVER perfect and complete The more a person is different from you, the SMALLER the communication gap he can jump No matter how much you back it up, there is ALWAYS someone who will not understand.

Impossibility of Communication? From Steve McConnell, Rapid Development

We can never hope to completely specify the requirement or the design Experience, Explicit Communication The Golden Rule: The task on a project is not to try for complete communication, but to manage the incompleteness Conclusion…

Levels of Listening Level 1: Following Need explicit procedures/instructions Detailed manuals and documentation provide safety RUP – Rational Unified Process Level 2: Detaching Can adapt procedures to the situation Understands where procedures break down The Art of Computer Programming Level 3: Fluent Irrelevant if following a procedure Understands the desired end effect and will make it work despite process or tools The Pragmatic Programmer

Levels of Listening The Zen of Level 3…. “Do whatever works” “When you are really doing it, you are unaware you are doing it” “Use a technique so long as it is doing some good” To someone fluent – makes sense To someone detaching – confusing To someone following - useless

Conclusions… Consider the level of your team Is it following, detached, or fluent? Is it some combination of the three? The mystery is that we can’t get perfect communication. The answer to the mystery is that we don’t need perfect communication! Remember the Golden Rule: manage the incompleteness. That is, you just need to get close enough, often enough.

Think Outside the Box Let’s compare software development to…a group writing epic poetry together!

Think Outside the Box Who are the players? The people who ordered the poem Key poem designers Began as a one person project, but the poet, in usual fashion, promises MUCH more than she can deliver! So, adds other people fairly good at poetry, and takes the role as ‘lead’ poet Still can’t get it done, so now they get desperate – they add friends and neighbors, beginners NOT good at poetry!

Think Outside the Box As more people are added, many of whom are inexperienced, communication and coordination becomes a HUGE problem One person was good at descriptive passages, one was good at the gory bits, etc. The lead poet is now so busy coordinating and checking, she no longer has time to write poetry! A couple of people wrote pages and pages of material describing the antagonists, way more than needed – that is the part they liked writing about. Another few people kept revising and revising, never satisfied with their work

Think Outside the Box As time progressed, the group got desperate and added even MORE people. Communications were horrible, no one had a current copy of the poem, and no one knew the actual state of the poem

Conclusions… What does this say about software development? Almost every project of any size has temperamental geniuses and average or below workers, hard requirements, and communication pressures. Why do we expect software development to be any different from group epic poetry writing?

So Then, What is Programming? Normally thought of as… Solitary Inspiration-based Logical activity But it is ALSO… A group engineering activity Mathematical A craft A mystical act of creation It’s creation is sensitive to tools, but its quality is independent of tools