Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

The Software Gardener by Mind Map: The Software Gardener
0.0 stars - reviews range from 0 to 5

The Software Gardener

Pair Programming: Pair Gardening

Two programmers work side by side

gardeners working together

planting trees

digging and shaping

moving the wheel barrel


misery loves company

sweating in the sun together


expert novice, grandma grandchild

advanced novice, wife husband

Outsourced, hired labor

We still do individual work

emails, refactoring, entering bugs, testing

watering, pruning, spotting weeds,

Test Driven Development: Test Driven Planting

often not done

start programming immediately, quickly glance at apis and how to use things

go to store, start buying plants, flowers, roughly read the 2" card in the flower pot

can program bad, lucky, or decent without it, can pot in dirt, all potting soil, or mix the 2

most experienced do TDD

determine requirements, best way to interact with an api, setup tests

draws out the plan, defines the size of flowers/plants for the area, determine amount of sun required

define what passes and what fails, not just making progress toward an unknown goal

Refactoring: Planted Debt

Making changes that don't affect behavior

cleanup code, better designs, fight off garbage collection locks and memory leaks

Making changes that don't affect overall garden

clean out weeds, turn plants at different angles, fight off squirrels & leprechauns

Mythical Man Month: time is Needed

Book known for the analogy

A baby takes 9 months to make, no matter how many women you put on the job

Software takes time, you can't always throw developers at a project to complete it sooner

Gardening is the same

Can't have 9 gardeners grow a tree in a day

needs, sun, water, pruning, rain, time, refactoring, upgraded, memory, time

Commercial off the shelf solutions

can purchase a tool to solve a problem, sometimes it doesn't work out, sometimes need to develop the right solution

can buy a tree from a store, sometimes the tree still dies, sometimes you need to buy the land, the seeds, the shovels and put in the hard work for the right solution


pull out hose

make shape of flower bed, decide how much money you want to spend, spend more money than desired, having nothing go as planned, profit

Peer Review

syntax nagging

color of anything you have ever done is always wrong, actual good feedback

shrub should face the street

color of mulch should be more dirt colored, suggestion on frequency of watering

Continuous Integration

plant a flower in pot first

migrate flower to bed, sometimes plant directly into the bed

develop feature on branch

merge code, Facebook changing prod, harder in development

On Call Support

Server is down!!

bugs, Dogs crap in the begonias, we clean up

Fountain in front yard (broken sprinkler head)

bugs, user puts in crap, we clean up

Development Duck

add yard gnome

spouse complains about it, spouse misses how you didn't plant the flower facing the street

add a feature you don't really want

manager complains about it, leaving the rest of the program comment free

Deliver Features

agile focus on delivering end user features

instant usability and enjoyment, rarely do you create the framework from scratch, in batches to the user, iterations, sprints

you plant one flower at a time

instant usability and enjoyment, rarely do you plant seeds, in batches, multiple flowers, plants etc