1 / 39

September 13, 2012

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

jaclyn
Télécharger la présentation

September 13, 2012

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Agenda 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

  3. Requirements: What are they good for? 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

  4. Requirements: The Case Against 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

  5. Requirements: The Case For 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

  6. Requirements Overview 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.

  7. Sample Model: Integration Diagram

  8. Warning: Abstraction Ahead Talking abstract concepts about an abstractsystem – using language A picture is worth…a lot Know your audience, and your risks Avoid documenting the documentation – when you have documentation to reference other documentation you are starting down a slippery slope Use common sense, trust your intuition over the ‘correct’ way to document requirements Keep it grounded, at the end of the day if it doesn’t make the product better it wasn’t worth it. Quality Assurance starts with this work.

  9. Types of Requirements

  10. Business Requirements 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.

  11. User Requirements 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

  12. Higher Ed User Segmentation Example • Alumni • Donor • Parents of Prospective Student (18-22) • Current Faculty • Prospective Faculty • General Public • Current Student • Industry Executives/Corporations • International Students • 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

  13. Use Cases Sample: Add SharePoint Service

  14. Functional Requirement Sample – High Level

  15. Functional Requirement Legends

  16. Functional Requirement Sample – Detail Level

  17. SJU Functional Annotation Example

  18. 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

  19. Device/Browser Support 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, iOS3.x, iOS4.x Webkit Android 2.x

  20. Progressive Enhancement / Responsive Design 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 ondrupal.org

  21. Aligning Requirements to Drupal Functionality Communicating to the client the benefits of open source Code available Re-using code is going to reduce time/budget to implement Finding the right module (80-20 rule) But customizing when needed Contributing back to the community

  22. Translating Requirements to Specification / Dev 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

  23. Translating Requirements to Specification / Dev 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 architectureRequired modules (core, contrib, custom, features) and high-level config settings for eachNaming conventionsOur CMS spec is used in conjunction with PSD files and requirements docs; it does not live by itself.

  24. NMWA Example CMS Spec

  25. Requirement Activities 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

  26. Elicitation: Moving the conversation forward 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 3rd 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.

  27. Drupal Specific Requirements – Workflow Simple Define more granular permissions. For example, if there are authors who can only change certain sections of the website Define email copy

  28. Workflow Advanced

  29. Structured vs. Unstructured Content 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.

  30. WYSIWYG vs. Plain Text Corresponds to structured / unstructured data Is really the crux of the User Experience of the back end

  31. CKEditor Customization Re-use when possible, even for training documentation

  32. Taxonomy Often based off of our Information Architecture work Use requirements for internal teams and stakeholders to start thinking in Drupal, establishing a common vocabulary Use a Spreadsheet: • Vocabulary Name • Vocabulary Description • Taxonomy Primary Terms • Taxonomy Secondary Terms • Content Types applied to

  33. Block Configuration & Reusability Identify re-usable blocks in initial visuals (low fidelity wireframes). Need to think about modularity early

  34. D6 to D7 Migrations 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

  35. The Business Analyst & Drupal 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

  36. Functional Reuse for Client Services 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

  37. Contributing Back 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?

  38. Q & A Open Floor Connect with NavArts Call: (703) 584 – 8949 Tweet: @navigationarts Email: sales@navigationarts.com Visit: www.navigationarts.com

More Related