SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a Building a site for people with big imaginations

Ode To Process: Why and How
Ode To Process: Why and HowOde To Process: Why and How
Ode To Process: Why and HowLaz Davila
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security RequirementKris Buytaert
 
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)Fabio Armani
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Adrian Carr
 
0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons LearnedSeriousGamesAssoc
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeExcella
 
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!South Tyrol Free Software Conference
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experimentslacyrhoades
 
UX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRATUX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRATUX STRAT
 
Continuous validation (incl speaker notes)
Continuous validation (incl speaker notes)Continuous validation (incl speaker notes)
Continuous validation (incl speaker notes)Niels Talens
 
Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1Cachet Software Solutions Ltd
 
What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010sqlserver.co.il
 
Devops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributedDevops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributedKris Buytaert
 
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...MARRIS Consulting
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
 
OSMC 2015 | Testing in Production by Devdas Bhagat
OSMC 2015 | Testing in Production by Devdas BhagatOSMC 2015 | Testing in Production by Devdas Bhagat
OSMC 2015 | Testing in Production by Devdas BhagatNETWAYS
 
OSMC 2015: Testing in Production by Devdas Bhagat
OSMC 2015: Testing in Production by Devdas BhagatOSMC 2015: Testing in Production by Devdas Bhagat
OSMC 2015: Testing in Production by Devdas BhagatNETWAYS
 
Collaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API DevelopmentCollaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API DevelopmentPostman
 

Similar a Building a site for people with big imaginations (20)

Ode To Process: Why and How
Ode To Process: Why and HowOde To Process: Why and How
Ode To Process: Why and How
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
 
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)User Story Mapping - mini iad 2014 (Armani, Rodriguez)
User Story Mapping - mini iad 2014 (Armani, Rodriguez)
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009
 
talk
talktalk
talk
 
0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting Time
 
Sharpen your Agile Axe by Brian Sjorber
Sharpen your Agile Axe by Brian SjorberSharpen your Agile Axe by Brian Sjorber
Sharpen your Agile Axe by Brian Sjorber
 
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experiments
 
UX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRATUX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
UX STRAT 2013: Josh Seiden, Lean UX + UX STRAT
 
Continuous validation (incl speaker notes)
Continuous validation (incl speaker notes)Continuous validation (incl speaker notes)
Continuous validation (incl speaker notes)
 
Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1
 
What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010
 
Devops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributedDevops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributed
 
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
OSMC 2015 | Testing in Production by Devdas Bhagat
OSMC 2015 | Testing in Production by Devdas BhagatOSMC 2015 | Testing in Production by Devdas Bhagat
OSMC 2015 | Testing in Production by Devdas Bhagat
 
OSMC 2015: Testing in Production by Devdas Bhagat
OSMC 2015: Testing in Production by Devdas BhagatOSMC 2015: Testing in Production by Devdas Bhagat
OSMC 2015: Testing in Production by Devdas Bhagat
 
Collaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API DevelopmentCollaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API Development
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Building a site for people with big imaginations

  • 1. BUILDING A SITE FOR PEOPLE WITH BIG IMAGINATIONS RedBubble
  • 2. Mark Mansour Software Developer Head of Technology at RedBubble Agile and Iterative development proponent
  • 4. 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
  • 5. Web App Development what makes web app dev hard?
  • 6. Web App Development not sure what makes web app dev hard?
  • 7. Web App Development not sure can’t say what makes web app dev hard?
  • 8. Web App Development not sure can’t say details evolve what makes web app dev hard?
  • 9. Web App Development not sure can’t say details evolve complex details what makes web app dev hard?
  • 10. Web App Development not sure can’t say details evolve complex details change direction what makes web app dev hard?
  • 11. New Product Development not sure can’t say details evolve complex details change direction
  • 12. What is the best way to build a new product?
  • 13. 1. Good People communicate provide solutions respectful can learn managers getting out of the way org encourages gtd and gtr
  • 14.
  • 15. 1. Good People communicate provide solutions respectful can learn managers getting out of the way org encourages gtd and gtr
  • 21. Communication Tools Campfire and IRC are real-time group collab tools Wikis IM is just a must
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 32. Management Tools What Issues - Bugs and new features Planning
  • 33. Management Tools What Issues - Bugs and new features Planning How JIRA, Trac, Spreadsheet
  • 34. Management - Story Board What is a story?
  • 35. 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)
  • 36. 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)
  • 37. 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)
  • 38. 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)
  • 39. 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)
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. 3. Simple Development Process KISS Agile and Iterative - Scrum and XP Process keeps everyone on the same page
  • 49. 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.
  • 51. RedBubble Practices There are no rules, there are only guidelines - if it doesn’t help you, then change it!
  • 52. RedBubble Practices 1. Good people There are no rules, there are only guidelines - if it doesn’t help you, then change it!
  • 53. 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!
  • 54. 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!
  • 55. 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!
  • 56. 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!
  • 57. 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
  • 58. What now? Try Agile and Iterative Development Try some new tools Make a difference
  • 61. 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”
  • 62. Resources Books “Getting Real” - 37 signals Websites wikipatterns.com
  • 63. Resources Software Subversion CruiseControl.rb Selenium Buildix - VMWare virtual appliance for agile dev JSUnit PHPUnit
  • 64. Resources Software (more) Rails Capistrano Rake Rails Migrations & LiquidBase Cake
  • 65. 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