2014-01-01

Originally posted on: http://geekswithblogs.net/TimothyK/archive/2014/01/01/software-development-processes-links.aspx

A while ago I did a talk that was a very general overview of many of the popular software development processes being used in the industry.  Obviously this is way too much information to cover in a single talk.  The point of the talk was certainly not to make everyone in the audience an expert on all the subject matter.  It was just to quickly list as many buzz words that I could think of, briefly define each, and describe the problems each process can help solve.

Following the talk I released a large list of additional resources.  The real goal of the talk was to point people in the right direction so that they could go forth learn more about any software development process they felt might be beneficial to them or their team.  Here is that list.

Buzz Word Summary

Software Engineering, Agile, Lean, DevOps

Waterfall, Extreme Programming (XP), Scrum, Kanban

System Metaphor, User Story, “As a”, System Metaphor, Epic, Cynefin

Backlog Management, Grooming, Story Map

Sprint, Planning Meeting, Planning Game/Poker, Estimate verse Commitment

Velocity, Sustainable Pace

Burn Down Chart, Kanban Board, Cumulative Flow Diagram

Stand Up, 3 Questions, Definition Of Done, Review Meeting

Retrospectives

Coding Standards, Code and Design Reviews, Pair Programming

Technical Debt, Refactoring, Unit Testing (TDD, BDD, ATDD)

Iterative Development, Incremental Development

Version Control, DVCS, Integration

Continuous Delivery, Continuous Release, Feature Toggle

Philosophies

Software Engineering

http://en.wikipedia.org/wiki/Software_engineering_professionalism

http://en.wikipedia.org/wiki/Software_engineering

http://en.wikipedia.org/wiki/Software_crisis

Editorial: Tom DeMarco, Software Engineering: An Idea Whose Time Has Come and Gone?

Agile

http://agilemanifesto.org/

http://agilemanifesto.org/principles.html

http://guide.agilealliance.org/subway.html

Lean

http://en.wikipedia.org/wiki/Lean_software_development

http://en.wikipedia.org/wiki/W._Edwards_Deming

Video (59 min): Barry Hawkings, Agile, Lean, and the Space Between

Systems

Waterfall

http://en.wikipedia.org/wiki/Waterfall_model

[parody] http://www.waterfall2006.com/

Extreme Programming

http://www.extremeprogramming.org/

http://www.extremeprogramming.org/rules.html

http://www.extremeprogramming.org/values.html

Scrum

http://en.wikipedia.org/wiki/Scrum_(development)

Blog Post: Ron Jefferies, What is Scrum?

http://scrumfoundation.com/

http://www.scrum.org/

Video (57 min): Mike Cohn, Getting Agile with Scrum

Kanban

http://en.wikipedia.org/wiki/Kanban_(development)

Video (59 min): Rachel Davies, Moving from Scrum to Kanban

Video (50 min): Karl Scotland, Transform Your Agile Process with Kanban Thinking

Video (51 min): Dave White, Intro to Kanban

DevOps

http://en.wikipedia.org/wiki/DevOps

Blog Post: Matt Watson, What is the Ops in DevOps?

Processes

Adaptive Leadership

Blog Post: Liz Keogh, Cynefin for Devs

Blog: Roy Osherove, Elastic Leadership (or as a podcast (37 min))

User Stories

System Metaphor, http://www.extremeprogramming.org/rules/metaphor.html

Video (59 min): Eric Evans, DDD: putting the model to work

Book: Eric Evans, Domain-Driven Design

Book: Mike Cohn, User Stories Applied

Blog Post: Scott Ambler, Introduction to User Stories

Blog Post: Roman Pichler, User Stories are Not Enough to Create a Great User Experience

Blog Post: Steve Rogalsky, Story Mapping

Blog Posts: Timothy Klenke (shameless plug): The User Story Is The Thing & Reason Based User Stories

Velocity

Blog Post: Martin Fowler, It’s Not Just Standing Up: Patterns for Daily Standup Meetings

http://en.wikipedia.org/wiki/Burn_down_chart

http://en.wikipedia.org/wiki/Kanban_board

Blog Post: Bernd Schiffer, 7 Steps to Build a Kanban Board for a Scrum Team’s Impediments

Article: Creating and Interpreting Cumulative Flow Diagrams

Sustainable Pace, http://www.extremeprogramming.org/rules/overtime.html

Deployment Cycles

Cartoon: Work and How We Do It

Video (30 min): Jez Humble, Continuous Delivery

Book: Jez Humble and David Farley, Continuous Delivery

Retrospectives

Book: Ester Derby and Diana Larsen, Agile Retrospectives

Blog Post: Brad Swanson, Eight tips for better retrospectives

Code Quality

Code and Design Reviews

Blog Post: Jason Cohen, 11 proven practices for more effective, efficient peer code review

Blog Post: Kevin Burke, Why code review beats testing: evidence from decades of programming research

Pair Programing

Book: Laurie Williams and Robert Kessler, Pair Programming Illuminated

Video (10 min):  Laurie Williams, Introduction to Pair Programming

Blog Post: Paul Hinze, Pairing vs. Code Review: Comparing Developer Cultures

Blog Post: Jeff Atwood, Pair Programming vs. Code Reviews

Video (38 min): Angela Harms, Does Pair Programming have to suck?

Video (48 min): Woody Zuill, Mob Programming, A Whole Team Approach

Community: Pair With Me

Community: Code Retreat

[parody] Video (2 min): Spooning

Refactoring and Technical Debt

Video (5 min): Ward Cunningham, Debt Metaphor

Q&A: Ron Jeffries, on Technical Debt

Book: Robert “Uncle Bob” Martin, Clean Code (or as a video series)

Book: Martin Fowler, Refactoring

Blog Post: Alistair Cockburn, Incremental versus iterative development

Automated Testing:  TDD, BDD, ATDD

Video (50 min): Michael Feathers, The Deep Synergy Between Testability and Good Design

Book: Roy Osherove, The Art Of Unit Testing

Blog Post: Martin Fowler, Mocks Aren’t Stubs

Blog Post: Dan North, Introducing BDD

Version Control

Video (63 min): Source Control Strategies Panel

Blog Post: Paul Hammant, What is Your Branching Model?

Video (61 min): Martin Woodward, Version Control On Your Terms

Book: Scott Chacon, Pro Git

 

Please add to the comments any links you think should be added to the list.

Show more