We spend so much time focusing on conventional programming. Everyone focuses on standards, code clarity, testing, and what gems to use. Let's chat about what's done before your fingers hit the keys. Let's talk about brainstorming, requirements, stakeholders, mock-ups, and writing solid user stories and acceptance tests with Cucumber. Every project has a story - how will your next one end?
4. Don’t Reinvent
minutiae
Leverage Frameworks
to solve problems
5. 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...
10. 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
11. “ 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
17. “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?”
21. 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
32. 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
33. 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
38. 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
58. “ 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
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