SlideShare a Scribd company logo
It’s not just about code...




                    Dan Pickett
It’s about
efficacy in solving a
           problem
Don’t Reinvent
    minutiae
Don’t Reinvent
           minutiae

Leverage Frameworks
    to solve problems
Effectively Solve Problems With Frameworks:
    •   Brainstorming

    •   Conceptualization through Sketching and Design
        Constraints

    •   Writing User Stories and Acceptance Tests with
        SCRUM and XP

    •   Automated testing with RSpec and Cucumber

    •   Refining processes and working with a team...
CODE
CODE
Ok, well maybe a little code...
Agile        SCRUM

        XP
Agile          SCRUM

         XP


        WTF?
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
“        I believe that the hardest part of
     software projects, the most common
                source of project failure, is
    communication with the customers
                and users of that software      ”
           - Martin Fowler
Conceptualization

•Identify the problem
• Brainstorm on solutions
• Sketch Ideas
Identify Who Cares
New Hampshire Rubyists Want Us to Build Them A Site...




               Who should we talk to?
http://www.flickr.com/photos/spine/263214639/




 Listen,
then Ask
Why?
“I want a calendar”
• “...Why?”
• “So our users can stay up to date”
• “What do they want to be up to date
  about?”
• “Our events and other local tech events.”
• “What other local events?”
Why?

 Why?

 Why?

 Why?



Why?
Challenge
http://threetreesstudios.com/andscifi/tag/star-wars/




Brainstorming
Brainstorming Fundamentals

• There are no dumb ideas
• Don’t criticize other people’s ideas
• Build on other people’s ideas
• It’s about quantity, not quality
• Have a facilitator that enforces rules above
Affinity Grouping
Mind Maps
It’s about brain power...
Courtesy: Jason Robb




Sketching
Failure In Design
Design With Constraints
More on Sketching...
Words Matter...
             http://www.flickr.com/photos/peterwalshprojects/




Maintain a Glossary
Words Matter...

              http://www.flickr.com/photos/enovember/3471675615/




Tell An Illustrated Story
User Stories
What’s a user story?
• indicates the person who is seeking some
  type of value from the software
• describes functionality that delivers that
  value
• includes acceptance tests that verify the
  value is realized
User Stories

    As a ...           In order to...
    I want to ...      As a...
    So that ...        I want to...


As a NH rubyist
I want to post a job advertisement
So that interested candidates can inquire
User Stories
Independent
Negotiable
Valuable to users or customers
Estimatable
Small
Testable
Notice...
  Independent?
  Valuable?
  Small?

• Editing?
• Search?
• Deletion?
• Archiving?
• Permissions?
More on User Stories
Acceptance Tests
Convey Stakeholder Expectations

•   If I don’t enter a title or description, I should get
    an error and the job should not be posted

•   I should get a success message when I’ve entered
    everything properly

•   The listing should be publicly viewable upon
    successful posting

•   A job should display a title and description

•   I must be logged in to create a new job
User Stories +
  Acceptance Tests =
           Cucumber
Features



features/post_a_job.feature
Scenarios
Scenarios
Scenarios
Scenarios
You’re the developer...




Are we done yet?
Wait!




Valuable to the user or customer
Most Importantly,
  Assert Value
Steps
features/step_definitions/user_steps.rb




Then statements should have assertions
Lessons Learned

• AST Tables are no fun
• bmabey’s database_cleaner is awesome
• avoid sharing instance variables
• refactoring steps proves difficult
• slow
It's Not Just About Code
It's Not Just About Code
Lessons Learned
• AST Tables are no fun
• bmabey’s database_cleaner is awesome
• avoid sharing instance variables
• refactoring steps proves difficult
• slow
Track
Iterate
Don’t just be sorry.
             Think for a second!!!!
         Who broke the *#!?!#% build?




Continuous Integration
Don’t work in what you do
   Work on what you do
Learning
“ As the number of people on a project
increases, however, so does the number
      of communication paths. It doesn’t
    increase additively, as the number of
            people increases, it increases
  multiplicatively, proportional to the
        square of the number of people.
                                             ”
                         - Steve McConnell
Don’t Work With Bozos




   Love the ones you work with...
Love what you do...
Love what you do...
obsess about how to make it better
Thanks!!!

Twitter: dpickett
Site: www.enlightsolutions.com
IRC: #railsbridge on FreeNode

More Related Content

PPTX
Wireframing and Prototyping Presentation
PPTX
Introduction to react js
PPTX
IF YOU GIVE A MOUSE A PLAYBOOK: 5 STEPS FOR GETTING IT RIGHT
PPTX
We design orientation class
PDF
Feature Canvas: how to start working on a new feature [UXIstanbul'18]
PPTX
Collaborative Sketching for UX
PPT
Nora McDougall-Collins - I Can Do That
PPTX
Is Mobile For Me? What Skills Do I Need?
Wireframing and Prototyping Presentation
Introduction to react js
IF YOU GIVE A MOUSE A PLAYBOOK: 5 STEPS FOR GETTING IT RIGHT
We design orientation class
Feature Canvas: how to start working on a new feature [UXIstanbul'18]
Collaborative Sketching for UX
Nora McDougall-Collins - I Can Do That
Is Mobile For Me? What Skills Do I Need?

What's hot (18)

PDF
"Content First." Presentation - 2014 MSU IT Conference
PPTX
To the Pattern Lab! Better Collaboration in Drupal Using Atomic Design Princi...
PPTX
Build a Recipe for Better UX Process with Fresh Lean Ingredients
PDF
Learning UX Everyday
PDF
The gordian knot
PPT
getting agile Final
PDF
UX Work Shop
KEY
Dear Designers Love Developers
PPTX
How to Write UX Specs That Make Developers Swoon
PDF
Top 10 Portfolio Questions for UX & Visual Designers
PPTX
Grassroots Design Thinking - AIGA SC
PPTX
#Techmeetupkz Askhat Murzabayev
PPTX
How to write a Developer CV/Résumé that will get you hired
PDF
Remote user testing ace conference - igor farafonow - uxeria
PPTX
Intro to Design w/ Pivotal Labs
PDF
Design-At-Scale-AIGA-Orange-County-pdf
PDF
Portfolio Storytelling
PDF
The precision blade
"Content First." Presentation - 2014 MSU IT Conference
To the Pattern Lab! Better Collaboration in Drupal Using Atomic Design Princi...
Build a Recipe for Better UX Process with Fresh Lean Ingredients
Learning UX Everyday
The gordian knot
getting agile Final
UX Work Shop
Dear Designers Love Developers
How to Write UX Specs That Make Developers Swoon
Top 10 Portfolio Questions for UX & Visual Designers
Grassroots Design Thinking - AIGA SC
#Techmeetupkz Askhat Murzabayev
How to write a Developer CV/Résumé that will get you hired
Remote user testing ace conference - igor farafonow - uxeria
Intro to Design w/ Pivotal Labs
Design-At-Scale-AIGA-Orange-County-pdf
Portfolio Storytelling
The precision blade
Ad

Similar to It's Not Just About Code (20)

KEY
So You've Got a Software Idea...Now What?
PDF
Agile- To Infinity and Beyond
PDF
Agile Software Development in practice: Experience, Tips and Tools from the T...
PPT
Arch factory - Agile Design: Best Practices
PDF
Software development is hard
PPTX
Y3 ICT Lecture 6 Planning
PPTX
PPTX
What it Really Means to Be Agile
PPTX
Agile marries itil
PPTX
CF Camp 2013 Software Craftsmanship for CFML Developers
PDF
Pair Programming, TDD and other impractical things
PDF
Introduction To Agile Refresh Savannah July20 2010 V1 4
PPTX
Technical Excellence Doesn't Just Happen - AgileIndy 2016
KEY
Essential practices and thinking tools for Agile Adoption
PDF
Managing international software projects interactively using scrum
PDF
Friday final test
PDF
It is a sunny day
KEY
Understanding Software Development Life Cycle
PDF
User Stories Applied
PDF
Big guns for small guys (reloaded)
So You've Got a Software Idea...Now What?
Agile- To Infinity and Beyond
Agile Software Development in practice: Experience, Tips and Tools from the T...
Arch factory - Agile Design: Best Practices
Software development is hard
Y3 ICT Lecture 6 Planning
What it Really Means to Be Agile
Agile marries itil
CF Camp 2013 Software Craftsmanship for CFML Developers
Pair Programming, TDD and other impractical things
Introduction To Agile Refresh Savannah July20 2010 V1 4
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Essential practices and thinking tools for Agile Adoption
Managing international software projects interactively using scrum
Friday final test
It is a sunny day
Understanding Software Development Life Cycle
User Stories Applied
Big guns for small guys (reloaded)
Ad

More from Dan Pickett (7)

PDF
Developing Developers Through Apprenticeship
PDF
Intro to jquery
PDF
Engines Lightning Talk
PDF
5 Of Our Favorite Ruby Gems
KEY
Refinery CMS: BostonRB CMS Showdown
KEY
VCR Lightning Talk
KEY
A Brief Introduction to JQuery Mobile
Developing Developers Through Apprenticeship
Intro to jquery
Engines Lightning Talk
5 Of Our Favorite Ruby Gems
Refinery CMS: BostonRB CMS Showdown
VCR Lightning Talk
A Brief Introduction to JQuery Mobile

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
Teaching material agriculture food technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MIND Revenue Release Quarter 2 2025 Press Release
Understanding_Digital_Forensics_Presentation.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Teaching material agriculture food technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
sap open course for s4hana steps from ECC to s4
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Network Security Unit 5.pdf for BCA BBA.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Programs and apps: productivity, graphics, security and other tools
Empathic Computing: Creating Shared Understanding
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

It's Not Just About Code

Editor's Notes

  • #2: TODO: Tell a better story Better transitions Show cucumber file structure Re-enforce idea of solving problems Show examples of AST Tables Show tagging example Maybe show generation and running of features Tell more of a story around solving problems? Joe w/ Factory Girl, Aslak w/ Cuke, DHH w/ Rails, etc etc