SlideShare a Scribd company logo
Before The Project
The Pragmatic Programmer
Juan Manuel Rúa Trujillo
The Requirements Pit
● Don’t Gather Requirements—Dig for Them.
● A requirement is a statement of something that needs to
be accomplished.
● Work with a User to Think Like a User.
● UML use cases, so simple a child could do it!
● Don’t be a slave to any notation; use whatever method
best communicates the requirements with your audience.
● Don’t Overspecify
● Many projects failures are blamed on an increase in scope
● Use a Project Glossary
● Publish the project documents to internal Web sites
● You want to write them down and publish a document
that everyone can understand.
Solving Impossible Puzzles
● The secret to solving the puzzle is to identify the real (not
imagined) constraints, and find a solution therein.
● Don’t Think Outside the Box—Find the Box
● There Must Be an Easier Way!
Not Until You’re Ready
Listen to Nagging Doubts—Start When You’re Ready
Good Judgment or Procrastination?
The Specification Trap
Writing a specification is quite a responsibility.
Some Things Are Better Done than Described (Shoe example).
A healthy development process encourages feedback from
implementation and testing into the specification process.
Circles and Arrows
● Don’t Be a Slave to Formal Methods.
● Formal development methods are just one more tool in
the toolbox.
● Expensive Tools Do Not Produce Better Designs

More Related Content

PDF
How to be an effective Tech Lead
PDF
The magic of loops, markets and moxie
PDF
Iterate quickly with a prototype you can test
PPT
What every developer can learn from startups
PPTX
Rethink Drupal Support. Stop the Bleeding!
PDF
How to be a 10x Engineer
PDF
Better Design Feedback – Element UX Talks 2018
PDF
The Panda Hat of Doom
How to be an effective Tech Lead
The magic of loops, markets and moxie
Iterate quickly with a prototype you can test
What every developer can learn from startups
Rethink Drupal Support. Stop the Bleeding!
How to be a 10x Engineer
Better Design Feedback – Element UX Talks 2018
The Panda Hat of Doom

What's hot (20)

PPTX
Project management wisdom from the trenches
PDF
Turning humans into developers with Perl - London Perl Workshop 2017
PPTX
Design for all 2
PPTX
7 clients that you ever should not work with
PDF
How to Run a Design Sprint
PPTX
Activate Agile 2014 : roles, activities, behaviours in Agile Projects
PPTX
Unlocking your team's potential with pair programming (workshop)
PPTX
A journey in the world of UX Design for enterprise.
PPTX
Take it home applying design thinking
PPTX
Codesters
PPTX
Pct2010 product design
PDF
Design Sprint - Day 1
DOCX
2. proposal
PPTX
lavrova_pmday 2016
PPTX
Product design - ProductCamp Toronto 2010
PPTX
Agiles 2015 Feedback Wall
PDF
Using a Google Design Sprint as a product superpower
PDF
Product Design Process at Sorabel
PDF
Design Sprint
PDF
The Rise of Conversational Classrooms - Bett 2020
Project management wisdom from the trenches
Turning humans into developers with Perl - London Perl Workshop 2017
Design for all 2
7 clients that you ever should not work with
How to Run a Design Sprint
Activate Agile 2014 : roles, activities, behaviours in Agile Projects
Unlocking your team's potential with pair programming (workshop)
A journey in the world of UX Design for enterprise.
Take it home applying design thinking
Codesters
Pct2010 product design
Design Sprint - Day 1
2. proposal
lavrova_pmday 2016
Product design - ProductCamp Toronto 2010
Agiles 2015 Feedback Wall
Using a Google Design Sprint as a product superpower
Product Design Process at Sorabel
Design Sprint
The Rise of Conversational Classrooms - Bett 2020
Ad

Similar to Before the project (20)

PPTX
From Engineering to Product Management
PDF
[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
PDF
Thinking visually for Software Testing Webinar Slides
PDF
Ux for beginners step by step process
PDF
How Do You Know if Your Project Is Any Good?
PDF
Practical DevSecOps: Fundamentals of Successful Programs
PDF
Getting Started in Project Management for Librarians - Metropolitan New York ...
PPTX
Product Management
PDF
Usability testing - have fun and improve your work
PDF
How to get your app or site built
PPTX
Agile Testing Agile Ottawa April 2015
PDF
Light Weight Methods to Drive Your Designs Forward
PPTX
Software Testing Overview
PPTX
Prioritization in Product Management
PDF
Design in the wild
PDF
2014 Evolving Your UX Process 1up
PPTX
UXUI Shanghai Meetup March 21st
PDF
UXSA - Preparing for the Interview - 3-12-20
PPTX
Getting it Built
PDF
Standing out as a new grad candidate
From Engineering to Product Management
[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
Thinking visually for Software Testing Webinar Slides
Ux for beginners step by step process
How Do You Know if Your Project Is Any Good?
Practical DevSecOps: Fundamentals of Successful Programs
Getting Started in Project Management for Librarians - Metropolitan New York ...
Product Management
Usability testing - have fun and improve your work
How to get your app or site built
Agile Testing Agile Ottawa April 2015
Light Weight Methods to Drive Your Designs Forward
Software Testing Overview
Prioritization in Product Management
Design in the wild
2014 Evolving Your UX Process 1up
UXUI Shanghai Meetup March 21st
UXSA - Preparing for the Interview - 3-12-20
Getting it Built
Standing out as a new grad candidate
Ad

Recently uploaded (20)

PPT
Introduction Database Management System for Course Database
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Online Work Permit System for Fast Permit Processing
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
history of c programming in notes for students .pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
ai tools demonstartion for schools and inter college
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
medical staffing services at VALiNTRY
PDF
AI in Product Development-omnex systems
PDF
How Creative Agencies Leverage Project Management Software.pdf
Introduction Database Management System for Course Database
Design an Analysis of Algorithms II-SECS-1021-03
Online Work Permit System for Fast Permit Processing
How to Migrate SBCGlobal Email to Yahoo Easily
Adobe Illustrator 28.6 Crack My Vision of Vector Design
history of c programming in notes for students .pptx
CHAPTER 2 - PM Management and IT Context
Which alternative to Crystal Reports is best for small or large businesses.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
ai tools demonstartion for schools and inter college
Design an Analysis of Algorithms I-SECS-1021-03
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Navsoft: AI-Powered Business Solutions & Custom Software Development
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Operating system designcfffgfgggggggvggggggggg
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
medical staffing services at VALiNTRY
AI in Product Development-omnex systems
How Creative Agencies Leverage Project Management Software.pdf

Before the project

  • 1. Before The Project The Pragmatic Programmer Juan Manuel Rúa Trujillo
  • 2. The Requirements Pit ● Don’t Gather Requirements—Dig for Them. ● A requirement is a statement of something that needs to be accomplished. ● Work with a User to Think Like a User.
  • 3. ● UML use cases, so simple a child could do it! ● Don’t be a slave to any notation; use whatever method best communicates the requirements with your audience. ● Don’t Overspecify ● Many projects failures are blamed on an increase in scope
  • 4. ● Use a Project Glossary ● Publish the project documents to internal Web sites ● You want to write them down and publish a document that everyone can understand.
  • 5. Solving Impossible Puzzles ● The secret to solving the puzzle is to identify the real (not imagined) constraints, and find a solution therein. ● Don’t Think Outside the Box—Find the Box ● There Must Be an Easier Way!
  • 6. Not Until You’re Ready Listen to Nagging Doubts—Start When You’re Ready Good Judgment or Procrastination?
  • 7. The Specification Trap Writing a specification is quite a responsibility. Some Things Are Better Done than Described (Shoe example). A healthy development process encourages feedback from implementation and testing into the specification process.
  • 8. Circles and Arrows ● Don’t Be a Slave to Formal Methods. ● Formal development methods are just one more tool in the toolbox. ● Expensive Tools Do Not Produce Better Designs