requirements & drupal: planning for successful projects

40
September 13, 2012 Requirements & Drupal: Planning for Successful Projects R.J. Townsend, Manager, Drupal Solutions - NavigationArts Jon Riekse, Director of Business Analysis - NavigationArts

Upload: acquia

Post on 17-May-2015

7.533 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Requirements & Drupal: Planning for Successful Projects

September 13, 2012Requirements & Drupal: Planning for Successful Projects

R.J. Townsend, Manager, Drupal Solutions - NavigationArtsJon Riekse, Director of Business Analysis - NavigationArts

Page 2: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts2

• Comprehensive user-centered design

methodology that aligns business goals

with user needs, creating user

experiences that drive enterprise value

• Best-in-class technology and software

development skills that deliver the user

experience through rich front-end

development, configuration of complex

interaction functionality, and integration

of enterprise applications and data

• NavigationArts is unique in the web space. We combine best practices in User Experience

Design and Technology Consulting, excelling where these practices overlap.

NavigationArts: Market Position

Page 3: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts

• Requirements Overview

• Requirement Types & Samples

• Translating Requirements to Specification / Development

• Requirement Activities

• Drupal Requirements

• The Business Analyst & Drupal

• Functional Re-use

• Requirements & Contributing back to the Open Source Community

Agenda

3

Page 4: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts

Sorting through the baggage

• Requirements != Bureaucracy when done intelligently

• Describing something complex should be easier/faster/cheaper than actually building it – when using the appropriate level of abstraction

• It’s about the right people giving the right input at the right time

• Promoting mutual understanding

• 75% communication, 25% documentation – should be the product of communication, not the means of communication

• Keep the docs interesting, meaningful, digestible, and productive – a means to explain and educate

Requirements: What are they good for?

4

Page 5: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts

• We don’t have the time or budget to document requirements

• Seems like too much paperwork, let’s build something already!

• Our project is too small to necessitate requirements

• Our project is too large to necessitate requirements (we will never know everything until we start developing)

• We use agile

• We like to change our minds

Requirements: The Case Against

5

Page 6: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts

• Taking planning seriously, adding some formality, mitigating risk – meeting the formality of your clients/stakeholders

• Doesn’t assume we are all talking about the same thing or speaking the same language, leaves a paper trail (and not just a cluttered inbox)

• Describing and agreeing to the end state before it’s done (for clients or your internal business teams), documenting scope for budget/resources

• Agreement to the outcome - how do we know when we’re done?

• Managing change - being on the same page as your project sponsors/clients

Requirements: The Case For

6

Page 7: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts

• A requirement is a description of what the website will do.

• A requirement can consist of a text description or a visual representation (annotated wireframe, design, model, diagram) – whatever it takes to get the point across.

• A requirements document is a collection of consistent requirements – can describe the same thing a few different ways to ensure understanding

• The goal of requirements is to describe as precisely as possible what is to be built, giving more attention to the most complex aspects, where the highest level or risk can occur (using your time wisely)

• Defines the boundaries of the website/system. Helps avoid scope creep.

Requirements Overview

7

Page 8: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts8

Sample Model: Integration Diagram

Page 9: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts9

Page 10: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts

Warning: Abstraction Ahead

10

Page 11: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts11

Types of Requirements

Page 12: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts12

• Aligning the business goals to the project

• Very useful for prioritizing functionality and defining phased approaches

• ‘How do you envision success for the project and how is it measured?’

• Drupal: The value of Open Source Technology

• Drupal: Leveraging all available modules/code

• Higher Ed examples: More applicants, updating the brand, more efficiency/easier maintenance, SEO based redesign, increased level of satisfaction of prospects through the enrollment process. Measure with # of qualified applicants, rejection rates, analytics (# of unique visitors, time on site, decreased bounce rates), run a recurring survey.

Business Requirements

Page 13: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts13

• The User Experience (UX) – aligned to the business goals of your organization

• Think from the outside in, empathize with your website visitor’s point of view

• Defining your audience segments, their needs/concerns, what tasks do they need to complete

• ‘What relationship does your organization have with your visitor segments (donors, members, investors, consumers, partners)?’

• Informing your Information Architecture / Sitemap / Taxonomy

• Going from the analog to the digital, eventually into roles & permissions

User Requirements

Page 14: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts14

Higher Ed User Segmentation Example

• Prospective Student – Undergraduate (18-22)

• Transfer Student – Undergraduate (18-22)

• Prospective Student –Undergraduate (22+) (9 credit)

• Prospective Student – Graduate – Full Time

• Prospective Student – Graduate – Part Time

• Prospective Student - Non-Accredited Adult Learner

• Prospective Student - Online

• Alumni

• Donor

• Parents of Prospective Student (18-22)

• Current Faculty

• Prospective Faculty

• General Public

• Current Student

• Industry Executives/Corporations

• International Students

Page 15: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts15

Use Cases Sample: Add SharePoint ServiceGoal Name Add SharePoint Service to User

Level (Business or System) Business

Primary Actor(s) Customer Administrator

Trigger Customer Administrator wants to add the SharePoint service to an existing user.

Pre-conditions • Customer Administrator has purchased SharePoint.• Customer Administrator is logged in to the System and has an

active session.• At least one non-resource type mailbox has been created in

the System.

Pre-conditions Use Case # 18. Authentication

Post-conditions SharePoint service added to user.

Normal Case Steps 1. Customer Administrator navigates to the 'Users’ area of the portal.

2. Customer Administrator selects a link to ‘View All Users’.3. Customer Administrator selects the End User they want to

add the SharePoint service to.…

Page 16: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts16

Functional Requirement Sample – High Level

Page 17: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts17

Functional Requirement Legends

Page 18: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts18

Functional Requirement Sample – Detail Level

Page 19: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts19

SJU Functional Annotation Example

Page 20: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts20

Tech / Non Functional Requirements (NFRs)• Be afraid, be very afraid

• Performance requirements – baselines, internet connection speeds,

geographies

• Availability requirements

• Security requirements – keeping Drupal patched! SQL injections, cross

site scripting, hosting infrastructure security, vulnerability assessments

• Capacity requirements

• Analytics

• Compliance

• A bucket for anything you want other technical stakeholders to review

Page 21: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts21

• Mobile and tablet requirements are causing a paradigm shift in how we think and plan for website projects. Prototyping with a framework like Drupal is critical.

• It is almost always in the client’s interest to receive modern, maintainable code that is not ‘hacked’ for older browsers. But verify this is the case (for example an internal site where users have to use IE7)

• Step 1: review current analytics, figure out what the %’s are, look at mobile/tablets, factor into initial planning

The website shall support the following browsers, rendering full functionality and visual aspects:• IE 8.0, 9.0• Firefox 3.x, 4.x, 5.x• Chrome’s Latest Stable Version• Safari 5.x, iOS 3.x, iOS 4.x• Webkit Android 2.x

Device/Browser Support

Page 22: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts22

• The employed CSS3 techniques shall be employed as progressive enhancement, providing the richest experience to modern browsers, while still making an effort to accommodate older, less capable browsers.

• Take screenshots of your websites in IE7 – show no drop shadows, no rounded corners and give your clients a piece of mind ‘that it won’t be that bad’.

• Responsive Design

• Leverage any docs on

drupal.org

Progressive Enhancement / Responsive Design

Page 23: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts23

Aligning Requirements to Drupal Functionality

Page 24: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts24

• Requires a thorough understanding of the client, documentation (SOW, wireframes, functional req’s, etc), and how Drupal works

• CMS spec maps out requirements to modules / technical components

• Most, if not all, of your spec document / dev plan should be determined by the time requirements are approved

• Your spec document should provide framework for how the site will be built

• CMS Spec compliments photoshop design files and requirements document

Translating Requirements to Specification / Dev

Page 25: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts25

• Our CMS spec documents usually include the following:

List of all content types, fields, views, contexts, panels, blocks, theme, etc., naming conventions for each, and required config settings (pathauto, etc)

Deployment architecture

Required modules (core, contrib, custom, features) and high-level config settings for each

Naming conventions

Our CMS spec is used in conjunction with PSD files and requirements docs; it does not live by itself.

Translating Requirements to Specification / Dev

Page 26: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts26

NMWA Example CMS Spec

Page 27: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts27

Gathering Requirements

•Talking to the right people at the right time

•Analyzing the right artifacts / analytics

•Ask the same question different ways to ensure understanding especially with non-technical audiences.

•Prioritizing requirements and resolving contradictions

•Rinse and repeat

Documenting Requirements – writing it down

Managing Requirements – updating and change control

Requirement Activities

Page 28: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts28

• Do not avoid ‘how’ when appropriate. There are many levels of what -> how -> what -> how.

• Do not try to stay at the same level of abstraction. If workflow cannot be defined early, but a 3 rd party API integration is confirmed, document as much detail as possible, as early as possible.

• Work forwards and backwards, what do we need to know to build the website

• Use your brain and experience to realize if you are making too early an implementation assumption, but don’t let it scare you from moving the conversation forward.

Elicitation: Moving the conversation forward

Page 29: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts29

Drupal Specific Requirements – Workflow Simple

Page 30: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts30

Workflow Advanced

Page 31: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts31

• Has significant implications to the maintenance of the website

• Need to know your content managers: do they know HTML, CSS, how technical savvy are they?

• Avoid misunderstanding on how the CMS backend will work

• Structured data can take more effort, but can ease the maintenance burden and offer more front end interactivity.

• Rules for structured data: what fields are included, sort orders for list, min/max # of elements, descriptions of empty results, and controls for paging or filtering larger sets of data

• Unstructured is harder to maintain, but can offer some flexibility without making coding/config changes.

Structured vs. Unstructured Content

Page 32: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts32

• Corresponds to structured / unstructured data

• Is really the crux of the User Experience of the back end

WYSIWYG vs. Plain Text

Page 33: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts33

• Re-use when possible, even for training documentation

CKEditor Customization

Page 34: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts34

Taxonomy

Page 35: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts35

• Identify re-usable blocks in initial visuals (low fidelity wireframes).

• Need to think about modularity early

Block Configuration & Reusability

Page 36: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts36

• Functional Analysis: what has to stay, what has to be added, what is deprecated.

• Content type inventory

• Custom module inventory

• Functional to D7 module mapping

• Content migration strategy

D6 to D7 Migrations

Page 37: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts37

• Strategic: creatively figure out how to help projects succeed. Strategy and ideation is fun – but this has to be grounded in technical reality

• Helps to have a development background (and to know Drupal, even from a power user standpoint)

• Helps to be an extrovert, likes to communicate and explain technical concepts to non-technical people

• Has to be flexible!!

• Runs logic/system interference with the business stakeholders for the development lead and resources

• Is often a system thinking vs. purely visual thinkers – likes to think about patterns

The Business Analyst & Drupal

Page 38: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts38

• The BA and Drupal Lead should know what the development teams are working on

• They should connect the dots between various projects

• Help put reusable functionality in front of other clients

• Be familiar with the technical LOE

• Always talk with the developers post-mortem, what worked, what took too much time, what was abstracted for reuse

• Don’t reinvent the wheel

• Establish a functional library in your organization if you are dealing with multiple projects, establish process for updating

Functional Reuse for Client Services

Page 39: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts39

• Requirements & Contributing back to the Open Source Community

• Visual examples

• The community can contribute with documentation and examples, not just code.

• Requirements section on Drupal.org?

Contributing Back

Page 40: Requirements & Drupal: Planning for Successful Projects

(703) 584 – 8949 www.navigationarts.com @navigationarts40

• Open Floor

Q & A

Connect with NavArtsCall: (703) 584 – 8949

Tweet: @navigationarts

Email: [email protected]

Visit: www.navigationarts.com