functional requirements: thinking like a pirate

28
Functional Requirements Think Like A Pirate Amye Scavarda - Bill Fitzgerald - June 2 - OpenSourceBridge

Upload: amye-scavarda

Post on 16-Dec-2014

4.205 views

Category:

Technology


0 download

DESCRIPTION

This talk was at OpenSourceBridge 2010: We covered professional services in open source and writing functional requirements to support your projects.

TRANSCRIPT

Page 1: Functional requirements: Thinking Like A Pirate

 Functional Requirements       

Think Like A Pirate Amye Scavarda - Bill Fitzgerald - June 2 - OpenSourceBridge

Page 2: Functional requirements: Thinking Like A Pirate

Howdy!Bill is:  • Founding Partner of

FunnyMonkey.com• Author of Drupal for Education• Really involved in making

better websites for education•  

[email protected]  @funnymonkey

Amye is:• Founder of Function

createfunction.com• Makes open source website

development hurt less for clients, developers and designers

[email protected]@msamye

Page 3: Functional requirements: Thinking Like A Pirate

And You Are?

Developers?Project Managers?Owners?Designers?Freelancers?People in companies of over 300 people?

We'll be taking questions on Google Moderator here: http://goo.gl/mod/wfYI But just ask us stuff.

Page 4: Functional requirements: Thinking Like A Pirate

Why We're Talking Like Pirates

Except we're not actually talking like pirates.   We're talking like people who run professional services and development companies based in open source. 

Page 5: Functional requirements: Thinking Like A Pirate

What We're Doing Here:

• Introducing Functional Requirements in a professional services setting

• Discussing a few models of functional requirements  • Giving you a checklist for your own functional requirements • Telling stories about how we came around to writing

functional requirements in Agile.

Page 6: Functional requirements: Thinking Like A Pirate

Because we like being able to make a livingRunning a professional services company in open source is an awesome model. 

Except for:Timetracking is a pain.Billing for your time is a pain. Being a consultant is a pain.

But this is a model for how to do the thing you love and not be a starving artist.

Page 7: Functional requirements: Thinking Like A Pirate

Managing This Is A Bear

 

Photograph by John Eastcott and Yva Momatiuk

Page 8: Functional requirements: Thinking Like A Pirate

Hours Worked  = Hours Paid

   

Page 9: Functional requirements: Thinking Like A Pirate

What are these function-whatsits?

• A way to know when your projects are finished• A way to mark out a good roadmap for what  your client

wants • An example of good business practices 

Page 10: Functional requirements: Thinking Like A Pirate

What are they not?

They're not:• A substitute for people who care about what they're doing• A substitute for operations support• A substitute for creativity and listening • The Holy Grail of Project Awesomeness

Page 11: Functional requirements: Thinking Like A Pirate

Your Treasure Map

We've established our motivations: running a successful business, doing work that matters, getting our people paid, getting our clients what they wanted.

Your motivations may be different from ours.We'll walk through a few different models.

Page 12: Functional requirements: Thinking Like A Pirate

Commonly referred to as SRS: Software Requirements Specifications. This is the management-approved, 15 different signatures for change control documents.  These include: • Scope• Referenced Documents, • Requirements (including all CSCI requirements) • Qualification Provisions• Requirements Traceability• Notes

Shall  - Will  - Must:

Page 13: Functional requirements: Thinking Like A Pirate

 Series of Checklists

Lists for:

• Discovery• Development Environment• Design Phases• Wireframes• Builds• Client Signoff• Launch• Post-Launch Support

Page 14: Functional requirements: Thinking Like A Pirate

 Hieroglyphics

Your documentation and roadmap as a graphic novel: 

Page 15: Functional requirements: Thinking Like A Pirate

Turning this:

David Rees - www.mnftiu.cc

Page 16: Functional requirements: Thinking Like A Pirate

Into this:

Rebeka Sedaca - http://www.boxesandarrows.com/view/comics-not-just-for

Page 17: Functional requirements: Thinking Like A Pirate

Answering the Big Questions

• Legacy Systems?• How Does This Development Support Their Long Term

Goals?• How Did Current Systems Come to Be?• What Would Happen If Nothing Got Done?

 My personal philosophy is not to undertake a project unless it is manifestly important and nearly impossible.

Edwin Land (Polaroid camera inventor)

Page 18: Functional requirements: Thinking Like A Pirate

Tools

• Client Intake Surveys• Stakeholder Interviews• Existing Technical Documentation• Existing End User Training Documentation • Organization Charts: who does what

Page 19: Functional requirements: Thinking Like A Pirate

How to make something that works for you:Written Requirements DocWireframesMilestones and Time EstimatesIdentified Communication Leads(a ticket system that works)

Page 20: Functional requirements: Thinking Like A Pirate

Answering the Immediate Timeframes

• Why is this project happening now?• What other pieces are tied to this project? • What pieces are your project anchors? 

 Beware the time-driven project with an artificial deadline. M. Dobson 

Page 21: Functional requirements: Thinking Like A Pirate

Answering the Long-Term Goals

Who is this system designed to support? For how long?Are there any plans to replace this system in the future? With what? 

telegraph.co.ukneospiel.co.uk

Page 22: Functional requirements: Thinking Like A Pirate

Creating a Scope of Work

• What can we do now? • Is it the best thing we can do now? • What can we do not-right-now, but later? • The importance of wireframes

Page 23: Functional requirements: Thinking Like A Pirate

Outlining Your Process

Communicating with Lead Stakeholders 

Having the 'What Does Agile Mean' conversation with your clients... Or not.

Page 24: Functional requirements: Thinking Like A Pirate

Marking Red Flags Ahead of Time

• What issues are a technical challenge for your team? (What do you mean by this COBOL thing?)

• What issues are a technical challenge for the client? (We can't even spell HTML)

• What kind of security does this particular project need to have? 

• What kind of bandwidth support?

Page 25: Functional requirements: Thinking Like A Pirate

Both Sides How Projects are Like a Tug of War

      

Each Side Has To Pull Equallyhttp://www.johannthedog.com

http://www.johannthedog.com

Page 26: Functional requirements: Thinking Like A Pirate

That Tricky Open Source Thing You Do

What happens when your product changes?  What happens when your team changes course? 

Page 27: Functional requirements: Thinking Like A Pirate

Wrapping it All Up

Using this as a guiding document for the rest of your project • With yourself • With your team• With your stakeholders

Page 28: Functional requirements: Thinking Like A Pirate

Thanks!

Google Moderator has questions. But we're sure you do too.  Amye Scavarda: http://createfunction.com Bill Fitzgerald: http://funnymonkey.com/blog