4. Presentation Outline
Explain how Caktus interprets an RFP
Work through a short example
Offer high level thoughts and suggestions
Presentation will take 30 minutes
5. Projects in the Wild
Caktus sees project proposals of all kinds
“I have an idea”
All the way to full blown RFP
14. Now An Example
DLPA 8/2012 RFP
Short: only 7 pages
Summary: they want a website that will make it
easy and convenient for the public to access
digital library media
15. #1: Assign Lead Dev
Colin had the necessary experience
Familiarized himself with the RFP: read it
19. #4 Add Non-Dev Work
PM, QA, Feedback, Design, UX
Use static percentages of total development
budget
This is developer-centric and intentionally so!
20. #5 Schedule
In this case, RFP requires 32 weeks
Necessary to fit hours into schedule
Typically schedules change
21. Take Home Advice
Three specific points that will improve your RFP
outcomes:
1) Have developers write the RFP
2) Create user stories
3) Answer contractor questions fully: elaborate
22. Developer RFPs
Fuzzy requirements + fuzzy answers = Expensive
Quotes
Gear the RFP to the people who will estimate it
Often requires that someone in that profession to
help write it
23. Create User Stories
User stories are helpful, regardless of your industry
Here’s a good link that explains how to write useful
user stories:
http://www.subcide.com/articles/how-to-write-
meaningful-user-stories/
24. This is Not a User Story
“We want the site to be intuitive, clean, and
simple. Users should be able to understand what
they are doing at all times.”
25. This Is a User Story
As a site administrator with superuser privileges, I log in to modify a Twitter
hashtag via siteurl.com/admin. I am able to access the edit screen within
two clicks and search for an existing Twitter hashtag, receiving auto-
complete suggestions with available options.
Once I select a hashtag, I can save it in the Twitter Aggregator app and
have the site begin monitoring and collecting data immediately. The
aggregated data should be visible on the front end within 30-60 minutes.
Only users with superuser access privileges should be able to add
Hashtags, but regular admin users should be capable of removing them.
Once a Hashtag has been removed, the data associated with it should
be cascade-deleted from the backend.
26. Answer Questions
Respond quickly, be specific.
Example: “The RFP mentioned integrating with
Twitter to create front end visualizations, how is
this feature intended to work?”
27. A Bad Answer
“The site should show up-to-date information from
Twitter that monitors the impact of the site’s
popularity in real time. We would like to use the
visualizations to present to our stakeholders as
evidence of social media interest.”
28. A Good Answer
“We expect the contractor to use the Twitter API to aggregate and store
information about a specific subset of hashtags that will be managed via the
site admin by client staff members. The front end visualizations will consist
of 2 bar charts. The first will show the number of responses received during
a unit of time (we suggest reporting data by day). The second chart will
show the average number of links in the Tweets for the same period of time.
The data will not scale based on the Y axis of the chart, and there will be no
way for users to interact with the data. The underlying data should be
updated on page reload. Real-time updates will not be expected.”
29. The Difference
Specificity, attention to detail, an understanding of
what needs to be built.
First answer might produce an estimate for that
feature that is 4x higher.
30. Side Notes
Budgets help contractors enormously
Good developers won’t estimate work that isn’t
well defined.
The project management triangle always applies.
31. Conclusion
You now know how contractors think of RFPs.
You now have some tips for getting the most out
of your RFPs.
32. Shout At Me
Email: gsaines@caktusgroup.com
Website: www.georgesaines.com
Twitter: @gsaines
Link to that article about user stories: http://
www.subcide.com/articles/how-to-write-
meaningful-user-stories/