Building a site for people with big imaginations

60 %
40 %
Information about Building a site for people with big imaginations

Published on October 3, 2007

Author: markmansour

Source: slideshare.net

Description

The processes and techniques used at RedBubble

BUILDING A SITE FOR PEOPLE WITH BIG IMAGINATIONS RedBubble

Mark Mansour Software Developer Head of Technology at RedBubble Agile and Iterative development proponent

Who are you?

How hard can it be to build a web app? Did not have a shippable product Code was over engineered Features were over specified Too much administration

Web App Development what makes web app dev hard?

Web App Development not sure what makes web app dev hard?

Web App Development not sure can’t say what makes web app dev hard?

Web App Development not sure can’t say details evolve what makes web app dev hard?

Web App Development not sure can’t say details evolve complex details what makes web app dev hard?

Web App Development not sure can’t say details evolve complex details change direction what makes web app dev hard?

New Product Development not sure can’t say details evolve complex details change direction

What is the best way to build a new product?

1. Good People communicate provide solutions respectful can learn managers getting out of the way org encourages gtd and gtr

1. Good People communicate provide solutions respectful can learn managers getting out of the way org encourages gtd and gtr

2. Good Tools

2. Good Tools Communication

2. Good Tools Communication Development

2. Good Tools Communication Development Testing

2. Good Tools Communication Development Testing Management

Communication Tools Campfire and IRC are real-time group collab tools Wikis IM is just a must

Communication Tools

Development Tools Version Control System - Subversion - UNDO + many programmers Automation tools - rake, shell scripts, make, ant, Capistrano - reduce chances of things going wrong Database Refactoring - Rails migrations, LiquidBase

Development Tools Version Control System Version Control System - Subversion - UNDO + many programmers Automation tools - rake, shell scripts, make, ant, Capistrano - reduce chances of things going wrong Database Refactoring - Rails migrations, LiquidBase

Development Tools Version Control System Automation tools Version Control System - Subversion - UNDO + many programmers Automation tools - rake, shell scripts, make, ant, Capistrano - reduce chances of things going wrong Database Refactoring - Rails migrations, LiquidBase

Development Tools Version Control System Automation tools Database Refactoring Version Control System - Subversion - UNDO + many programmers Automation tools - rake, shell scripts, make, ant, Capistrano - reduce chances of things going wrong Database Refactoring - Rails migrations, LiquidBase

Testing Tools Always in maintenance mode tests automate the vefication process tests make you brave (to change your code) Tests must pass before checking in save embarrasement

Testing Tools Unit testing Always in maintenance mode tests automate the vefication process tests make you brave (to change your code) Tests must pass before checking in save embarrasement

Testing Tools Unit testing Functional testing Always in maintenance mode tests automate the vefication process tests make you brave (to change your code) Tests must pass before checking in save embarrasement

Testing Tools Unit testing Functional testing Continuous Integration Always in maintenance mode tests automate the vefication process tests make you brave (to change your code) Tests must pass before checking in save embarrasement

Management Tools

Management Tools What Issues - Bugs and new features Planning

Management Tools What Issues - Bugs and new features Planning How JIRA, Trac, Spreadsheet

Management - Story Board What is a story?

What is a story? Features, fixes or nonfunctional requirements As an <actor> <action> i.e. As a User I can view my account balance i.e. As an Administrator I can delete a user Not over specified Estimated (1 hours -> 16 hours @ RB, but 1-21 days at other places)

What is a story? Features, fixes or nonfunctional requirements As an <actor> <action> i.e. As a User I can view my account balance i.e. As an Administrator I can delete a user Not over specified Estimated (1 hours -> 16 hours @ RB, but 1-21 days at other places)

What is a story? Features, fixes or nonfunctional requirements As an <actor> <action> i.e. As a User I can view my account balance i.e. As an Administrator I can delete a user Not over specified Estimated (1 hours -> 16 hours @ RB, but 1-21 days at other places)

What is a story? Features, fixes or nonfunctional requirements As an <actor> <action> i.e. As a User I can view my account balance i.e. As an Administrator I can delete a user Not over specified Estimated (1 hours -> 16 hours @ RB, but 1-21 days at other places)

What is a story? Features, fixes or nonfunctional requirements As an <actor> <action> i.e. As a User I can view my account balance i.e. As an Administrator I can delete a user Not over specified Estimated (1 hours -> 16 hours @ RB, but 1-21 days at other places)

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

Management - Story Board Story Board - what we are doing this week • Purpose: it is a communication tool - not just for the team but for anyone who is interested. • It does not have all the details - see issue tracker or talk to customer • 3 columns - todo, doing, done • all items start in todo and are order, in priority, from top to bottom • when someone picks a story, they move it to ‘doing’ and put their avatar next to it

3. Simple Development Process KISS Agile and Iterative - Scrum and XP Process keeps everyone on the same page

4. Ship it! If you don’t ship it, it is just an elaborate art project Ship the simplest thing possible (at first) * RB gallery example * release early & often - good enough - good enough for your users, for future maintenance and your piece of mind (PragProg). Like an artist, you need to know when to stop.

5. Fun

RedBubble Practices There are no rules, there are only guidelines - if it doesn’t help you, then change it!

RedBubble Practices 1. Good people There are no rules, there are only guidelines - if it doesn’t help you, then change it!

RedBubble Practices 1. Good people 2. Good tools There are no rules, there are only guidelines - if it doesn’t help you, then change it!

RedBubble Practices 1. Good people 2. Good tools 3. Simple Development Process There are no rules, there are only guidelines - if it doesn’t help you, then change it!

RedBubble Practices 1. Good people 2. Good tools 3. Simple Development Process 4. Ship it! There are no rules, there are only guidelines - if it doesn’t help you, then change it!

RedBubble Practices 1. Good people 2. Good tools 3. Simple Development Process 4. Ship it! 5. Have fun There are no rules, there are only guidelines - if it doesn’t help you, then change it!

A week in software development An Iteration Thursday Friday Monday Tuesday Wednesday Release Standup Standup Standup Early Morning Standup Kickoff Beverages Code Review Finalize planning Showcase Start planning next week Close it off End of iteration Review Free time Why do you want a good process? • a good process takes the day to day “what do we do now” conversations away so you can actually get down and do the work • Thursday is the start of the week, Wednesday is the end

What now? Try Agile and Iterative Development Try some new tools Make a difference

Questions?

Mark Mansour mark@stateofflux.com

Resources Books “Pragmatic Programmer” by Hunt and Thomas “Agile and Iterative Development” by Craig Larman “A Rational Design Process: How and why to Fake It.” Clements, P., and Parnas, D Scrum and XP from the Trenches - Henrik Kniberg “The Art of the Start” by Guy Kawasaki “Beautiful Code: Leading Programmers Explain How They Think”

Resources Books “Getting Real” - 37 signals Websites wikipatterns.com

Resources Software Subversion CruiseControl.rb Selenium Buildix - VMWare virtual appliance for agile dev JSUnit PHPUnit

Resources Software (more) Rails Capistrano Rake Rails Migrations & LiquidBase Cake

Images “Halo hula” - http://flickr.com/photos/rikabel/938699/ “Gohper” - http://flickr.com/photos/janine-white/22328935/ “Animal Tools” - http://flickr.com/photos/anavrin/194771480/ “Bullets” - http://flickr.com/photos/rikabel/938699/ “45 Freemont” - http://flickr.com/photos/thomashawk/130601011/ “Big Red Button (Activated)” - http://flickr.com/photos/elliottcable/421568175/ “”just two phonies”” - http://flickr.com/photos/21891888@N00/442674518/ Stacked Focus Cogs - http://flickr.com/photos/balakov/763594852/ Father of the Bride - http://flickr.com/photos/turekcsaba/663815522/ DSC00360 - http://flickr.com/photos/makers/34995785/ Different - http://flickr.com/photos/mwieczorek/427233916/ Back in teh day - http://flickr.com/photos/ssmt/858582831/ Flick - http://www.flickr.com/photos/7areega/305460999/ haunted pirate - http://www.flickr.com/photos/j6photo/186650828/ Are we talking about me yet - http://www.gapingvoid.com/0709arewetalking.jpg

Add a comment

Related pages

Building a site for people with big imaginations - Technology

BUILDING A SITE FOR PEOPLE WITH BIG IMAGINATIONS RedBubble ; Mark Mansour Software Developer Head of Technology at RedBubble Agile ...
Read more

Mark Mansour - RedBubble: Building a site for people with ...

Mark Mansour – RedBubble: Building a site for people with big imaginations. A presentation given at Web Directions South, Sydney Australia, September 28 ...
Read more

How to Have a Big Imagination: 7 Steps (with Pictures)

... the author of this has a huge imagination as they actually thought it would help people, ... If you want to have a big imagination to make ... Site map ...
Read more

The Importance of Imagination for Child Development ...

The Importance of Imagination. ... The way to create human beings with imagination is to provide them with opportunities to develop it for themselves when ...
Read more

The Power of Imagination - Success Consciousness

Imagination is the ability to form a mental image of ... The imagination manifests in various degrees in various people. In ... Site Map; Privacy ...
Read more

Imagination Quotes - BrainyQuote

Share our great imaginaton quotes collection with funny and inspirational quotes by famous authors on imagination ... people men and women are big ... Site ...
Read more

Big Imagination

The Big Imagination Foundation is a ... and reminds us that if we dream big, ... We’re converting it from a mover of people and cargo to a mover of ...
Read more

BUILDING BIG: Home Page - PBS

BUILDING BIG: A PBS miniseries on megastructures, hosted by David Macaulay
Read more

Build a Website - Squarespace

A Custom Domain With Squarespace, it's easy to purchase and connect a custom domain to your site. ... across hundreds of industries for people just like ...
Read more