Réussir son analyse fonctionnelle SharePoint

309
-1

Published on

Réussir son analyse fonctionnelle SharePoint

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
309
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Réussir son analyse fonctionnelle SharePoint

  1. 1. SHAREPOINT USER GROUP- MONTRÉAL By Franck Cornu 2013-12-03 Une méthodologie simple pour concevoir vos applications OOTB SharePoint de A à Z.
  2. 2. | 2 • SharePoint Analyst & Developer franck.cornu@gsoft.com @franckcornu Who AM I? Franck Cornu http://www.gsoft.com/fr/blogue?categorie=sharepoint
  3. 3. | 3 SESSION Plan Requirements definitionA 1 - Define requirements 2 - Prioritize requirements Functional analysisB SharePoint Functionnal Analysis 1 - Prerequisite 2 – 9 steps method 1. Visualize the requirement 2. Describe information 3. Define relationships between data types 4. Effectively storing information 5. Determine the data flow directions 6. Define data access point 7. Define criteria for data recovery 8. Define relational behaviors 9. Define the information display
  4. 4. | 4 Part A SharePoint Functionnal Analysis Requirements definition Focus first on the ''What''? “The value of an idea lies in the using of it.” - Thomas A. Edison
  5. 5. | 5 Do you know the difference between? Define requirements 1 SharePoint Functionnal Analysis AndBusiness analyst Understand business process Read documentation if exists Identify super users or product owners Identify actual problems on process or current solution Animate workshops Understand SharePoint mechanisms Knows possibilities with SharePoint and transcribe them to functional questions. Link between IT and business Product owner(s) best friend Functional analyst
  6. 6. | 6 By writing a backlog Define requirements 1 SharePoint Functionnal Analysis Very first document Identify what will be done in your project Don’t neglect it Used with agile methodologies Sprintable and releasable (ex SCRUM) Prioritized Flexible Requirements as stories • Independent analysis on each This document can be A simple flat list • Avoid TFS… A map (?!?)
  7. 7. | 7 User Story Mapping Define requirements – Tools & Techniques 1 SharePoint Functionnal Analysis Definition Organize and prioritize user stories in a backlog(*) make visible the workflow or value chain show the relationships of larger stories to their child stories help confirm the completeness of your backlog provide a useful context for prioritization plan releases in complete and valuable slices of functionality. Workshops (maximum 4 peoples) Identity product owners per functional domains Tools • Coloured post-it and whiteboard • Electronic format (SpecLog $) *http://www.agileproductdesign.com
  8. 8. | 8 User Story Mapping 1 SharePoint Functionnal Analysis Concept Why you do it? Who will use it? What are their responsibilities on it? What are their tasks within those responsibilities? Business goalsImpacts Actors/Profiles Activities User stories Is there any constraints (IT, functional, human..) on? User workflow Define requirements – Tools & Techniques
  9. 9. | 9 User Story Mapping 1 SharePoint Functionnal Analysis Example Improve collaboration External access required IT Department Share IT projects Add a project Improve employee performance Web accessibility standards required Big amount of data IT Director Search for a project Process an IT equipment request Lambda user Novice with IT Manage user requests Submit requests See available IT equipment Ask for an IT equipment Search for information Search corporative documents Add an item to IT equipment catalog Critical information Abstract profile Information workflow Define requirements – Tools & Techniques
  10. 10. | 10 User Story Mapping 1 SharePoint Functionnal Analysis Example in real life PS: Not mandatory to use a full wall  Define requirements – Tools & Techniques
  11. 11. | 11 User Story Mapping 1 SharePoint Functionnal Analysis Summary Focus on roles and responsabilites Who can do what in the system? This, is governance.  Reveal information flows That they will help you in the future to design your information architecture  Live in a dream, don’t talk about SharePoint capabilities Everything is possible here !  Focus on requirements, not solutions No more: « I want a search engine » or « I want a SharePoint list with five columns »  Super effective but sometimes hard to assimilate Practice, practice and practice. Dont be afraid to try. All you need is listening and rigor.  Define requirements – Tools & Techniques
  12. 12. | 12 Keep/Don’t keep Define requirements – Tools & Techniques 1 SharePoint Functionnal Analysis Definition Identify what users like or don’t like in their actual system or process particularly suitable for a system upgrade/revision project result as impacts in your map (all levels) Tools pencils and whiteboard post-it focus groups by functional domain Overall design Reservation system User alerts Not intuitive Source: http://innovationgames.com
  13. 13. | 13 Speed boat Define requirements – Tools & Techniques 1 SharePoint Functionnal Analysis Definition Identify what slows down user efficiency Most problems lie deeper Helps you to identify impact priorities Tools pencils and whiteboard post-it focus groups by functional domain Low performance Not user friendly Ugly design Source: http://innovationgames.com
  14. 14. | 14 Why prioritize? 2 SharePoint Functionnal Analysis You have to start with something « I want it all » is not a valid response Agile development guideline First deliver features that give you the most value Prioritize requirements Source: http://innovationgames.com
  15. 15. | 15 Buy a feature 2 SharePoint Functionnal Analysis Definition Distribute your fake money on available requirements Identify priorities Tools fake money product backlog timebox Prioritize requirements – Tools & Techniques Source: http://innovationgames.com
  16. 16. | 16 Summary 5 SharePoint Functionnal Analysis Priority User Story Priority 0 – Must have Add a project Search a project Search corporative documents Priority 1 – Should have Process an IT equipment process See available IT equipment Ask for an IT equipment Priority 2 – Nice to have Add an item to IT equipment catalog Prioritized business requirements list (MoSCoW) Prioritize requirements – Tools & Techniques
  17. 17. | 17 Part B SharePoint Functionnal Analysis Functional analysis Focus next on the ‘How''? “If you can't explain it simply, you don't understand it well enough.” - Albert Einstein
  18. 18. | 18 With SharePoint Functional analysis B SharePoint Functionnal Analysis Methodology 9 simple steps Based on functional questions SharePoint OOTB oriented Applies on a single story Building little autonomous subsystem with its own functional analysis All steps are not mandatory Depends on your user story • « Read » oriented VS « Write » oriented 1 2 3 4 5 6 7 8 9
  19. 19. Analy…what?? SharePoint is like Legos®, you can do anything, for better for worse. It’s up to you to choose the right brick for the right use | 19 With SharePoint Functional analysis B SharePoint Functionnal Analysis Top SharePoint analysis facts The SharePoint trap: when the means condition the needs Tell me what SharePoint can do, I will tell you what you need… 2 1 Solutions are not close enough to users day to day needs IT department is not often the best resource to determine whole user requirements… 3
  20. 20. | 20 Your functional analysis with SharePoint Methodology summary B Visualize the requirement Describe information Define relationships between data types Effectively storing information Determine the data flow directions Define data access point Define criteria for data recovery Define relational behaviors Define the information display 1 2 3 4 5 6 7 8 9 SharePoint Functionnal Analysis
  21. 21. SharePoint Functional Analysis | 21 How to access data in SharePoint ? Prerequisite 0 Structured query languages Search languages Database Search index CAML SQL LINQ KQL FQL Search SQL Benefits  Represent the SharePoint database reality at the moment of the query.  Retrieves linked items quite easily. Disadvantages  Requires defining each field involved in the query. Suitable for  Access to targeted metadata  Access to content subject to continual changes Benefits  No need to know the field names in which to look for.  Easy query building Disadvantages  Represents the search index reality and not the SharePoint content database one. Suitable for  Keywords based search in "Free Text" mode  Access to relatively static content. Structured Query Language Search language
  22. 22. | 22 What does the requirement look like? Visualizing the requirement 1 SharePoint Functionnal Analysis Wireframe(s)
  23. 23. | 23 What are the information types present in the requirement? Describe information Static or dynamic information? Reusability concerns Types hierarchy? Subtypes, specializations Metadata? Visible and hidden 2 SharePoint Functionnal Analysis
  24. 24. Project Project Member Commercial Project Internal Project Volunteer Project Project Document Type Document Title Item Title Name Title Date Title SharePoint Context Busines Context | 24 With SharePoint Describe information 2 Nature of information (Root types) Subtypes Type Metadata Content Types and Columns SharePoint Functionnal Analysis
  25. 25. | 25 What are the relationships between these data items? Define relationships between data types Relationships possibilities One to one One to many Many to many 3 SharePoint Functionnal Analysis Project Project Document 0 N 1 N Project Project Member 1 N 1 N Project Project Checklist 1 1 1 1
  26. 26. | 26 With SharePoint Define relationships between data types 3 Lookup Fields Managed Metadata Documents Sets Folders           Possibilities SharePoint Functionnal Analysis
  27. 27. | 27 With SharePoint Define relationships between data types 3 Lookup Field SharePoint Functional Analysis
  28. 28. | 28 With SharePoint Define relationships between data types 3 OR Member 3 Member 2 Member 1 Projet Project B Project A Project C Title Member 1 Member 2 Member 3 Member list Title Project A Project B Project C Project list Member Project Notes Member 1 Member 2 Member 3 Project A Note 1 Project B Note 2 Project C Note 3 (lookup) (lookup) (text) Relationship metadata Project B Project A Project C Title Project Membre 1 Member 2 Member 3 Project A; Project C Project B; Project A Project A Project Title Project A Project B Project C Project listMember list With join table With multiple values Lookup Field SharePoint Functional Analysis
  29. 29. | 29 With SharePoint Define relationships between data types 3 Managed Metadata SharePoint Functional Analysis
  30. 30. | 30 With SharePoint Define relationships between data types 3 Managed Metadata SharePoint Functional Analysis
  31. 31. CLIENT NAME | CLIENT PROJECT | 31 With SharePoint Define relationships between data types 3 Document Set
  32. 32. | 32 With SharePoint Define relationships between data types 3 Indirect relationship aggregator Client Project document Project Client N 1 1 1 1 N 1 1 No direct link Titre Document Set SharePoint Functional Analysis
  33. 33. | 33 Data distribution criteria Volume • What is the amount of data? Information security • Who need to access these data? Business context • Does the structure have to follow a business hierarchy? How should data be stored within a requirement? Effectively storing information 4 SharePoint Functionnal Analysis
  34. 34. | 34 With SharePoint Effectively storing information 4 Web applications Sites collections Sites Lists and libraries List items Example  Each type has its own library or list  Internal projects have their own permission level / /commercial projects /volunteer projects /internal projects /project documents /project members http://collaboration /project management Commercial project Volunteer project Internal project Project document Project member Content types SharePoint Functionnal Analysis
  35. 35. | 35 Output flow (data read) The system displays information to the user Input flow (data write) Users add or edit data through the system components Within my SharePoint data structure, how does the data flow? Determining the data flow directions 5 SharePoint Functionnal Analysis
  36. 36. | 36 With SharePoint Determining the data flow directions 5  Storage in a SharePoint site.  Access from the same site. /sites/projects /commercial projects /volunteer projects /internal projects /project documents /project members http://intranet / /project-management.aspx Reading stream Writing and update stream List View Web Part   Content Query Web Part   Search Core Results Web Part   RSS Viewer   Content Search Web Part   Case #1 3 cases SharePoint Functionnal Analysis
  37. 37. | 37 With SharePoint Determining the data flow directions 5  Storage in a SharePoint site.  Access from another site in the same site collection. /commercial projects /volunteer projects /internal projects /project documents /project members http://intranet / /sites/projects /project-management.aspx /reports List View Web Part   Content Query Web Part   Search Core Results Web Part   RSS Viewer   Content Search Web Part   Case #2 3 cases SharePoint Functionnal Analysis
  38. 38. | 38 With SharePoint Determining the data flow directions 5  Storage in a SharePoint site.  Access from another site in a different site collection. /sites/projects /commercial projects /volunteer projects /internal projects /project documents /project members http://intranet / /project-management.aspx /sites/publishing / List View Web Part   Content Query Web Part   Search Core Results Web Part   RSS Viewer   Content Search Web Part   Case #3 3 cases SharePoint Functionnal Analysis
  39. 39. | 39 Determining the data flow directions 5 SharePoint 2007 SharePoint 2010 SharePoint 2013 Maximum range Language used ListView Web Part Lists & Libraries CAML Content Query Web Part Site collection CAML Search Core Results Web Part Web Application KQL RSS Viewer Site collection - Content Search Web Part Web Application KQL ListView Web Part Lists & Libraries CAML With SharePoint Components SharePoint Functionnal Analysis
  40. 40. | 40 According to the data storage distribution and flow, where are the data access points and what types are exposed? Define data access point 6 Raw data Plain text not related to any specific type • Ex: A welcome text Data aggregation Compilation of data from different data sources • Ex: Dashboards Typed information Single Item metadata view Visualization of data corresponding to a specific type • Ex: A project sheet SharePoint Functionnal Analysis
  41. 41. | 41 With SharePoint Define data access point 6 Raw data Wiki Pages Data aggregation Web Parts Pages Typed information List Forms Publishing Pages /sites/projects /commercial projects /volunteer projects /internal projects /project documents /project members http://intranet / /project-management.aspx SharePoint Functionnal Analysis
  42. 42. | 42 With SharePoint Define data access point 6 Project Item Title Title Date Description List FormsTyped information SharePoint Functionnal Analysis
  43. 43. | 43 With SharePoint Define data access point 6 Document Project sheetPage Title Title Title Publishing pageTyped information SharePoint Functionnal Analysis
  44. 44. | 44 With SharePoint Define data access point 6 Publishing page  Control Visual Style via multiple page layouts  Manage approval cycle  Familiar to an end user (display and data are combined)  Force to link with a « Page » Content Type, i.e. a document based type  Storage location is imposed (the famous « Pages » library) Cross Site Publishing as an alternative Typed information SharePoint Functional Analysis
  45. 45. | 45 With SharePoint Define data access point 6 Cross Site Publishing Model Project sheet Titre Project Titre Date Description Pages Web Parts Data /project-management.aspx /project-sheet.aspx?Name=MyProject All projects Project = « MyProject »  Condensed view  Aggregation  Manipulation  Relationships  Single item view Operationnal Informative Typed information
  46. 46. | 46 Under which conditions should information should appear in the page? Define the conditions for information recovery 7 Are the recovered items have to correspond to reality at time T in SharePoint? Is there a sort needed on the elements? Are there any hierarchical constraints between elements? Are there any relationships between entities? Are these items must be targeted to a specific audience? Are there multilingual constraints? Must queries be reused? Are there conditional constraints on queries? What is the Information life cycle? SharePoint Functionnal Analysis
  47. 47. | 47 With SharePoint Define the conditions for information recovery 7 0x01 000761ECE182A1CE4FA1C8FA2DC4B9F04C 01 Item Project Commercial project The content type Id concept Via CAML Via KQL (Search) SharePoint 2007   SharePoint 2010   SharePoint 2013   Via CQWP option Via Search Managed Property Hierarchical information SharePoint Functional Analysis
  48. 48. | 48 With SharePoint Define the conditions for information recovery 7 Managed Metadata hierarchy Via CAML Via KQL (Search) SharePoint 2010   SharePoint 2013   Via CQWP option Via column configuration Project Canada Québec Bas-Saint-Laurent Mauricie Montréal Outaouais Ontario Nova Scotia Title Date Project location Description Hierarchical information SharePoint Functional Analysis
  49. 49. | 49 With SharePoint Define the conditions for information recovery 7 Managed Metadata Via CAML Via KQL (Search) SharePoint 2010   SharePoint 2013   Via CQWP OOTB Via search configuration trick Canada Québec ... ... Nova Scotia Canada Québec ... ... Nouvelle-Écosse Multilingual constraints
  50. 50. With SharePoint Define the conditions for information recovery 7 Query reuse  CAML  Web Part Export  Search  Search scopes and result sources (2013)  Permissions and Security  CAML  Audiences and views  Search  Search variables (User.Name, User.xxx, etc)…  User Segments (need custom development) Content targeting Conditional queries  Search  Best bets, Query Rules (2013) SharePoint Functional Analysis | 50
  51. 51. | 51 What are the relational constraints on the information? Define relational behaviors 8 Notions of filtering and connections in response to actions Ex: An user select an item in a list  an other value is selected in a other component. Ex: Language on the page has changed SharePoint Functionnal Analysis
  52. 52. | 52 What are the relational constraints on the information? Define relational behaviors 8 Members and documents by project Project filter SharePoint Functionnal Analysis
  53. 53. | 53 How is information displayed? Define the information display 9 What are the display details Metadata Style • Colours, fonts, etc… Should they appear grouped or alone Mixed types inside one container with visual distinction SharePoint Functionnal Analysis
  54. 54. | 54 With SharePoint Define the information display 9 Display management XSL JavaScript/HTML Commercial projects, volunteer projects, internal projects Project documents Project members Title Date and description Author and date Title First Name and Last Name Welcome text Dynamic elements Static elements  Limitations due to compiler version  Standard before SharePoint 2013 (but still present)  Display templates with result sources (search)  More powerfull but more complex  Standard with 2013 SharePoint Functionnal Analysis
  55. 55. | 55 Your functional analysis with SharePoint Methodology summary B 1 2 3 4 5 6 7 8 9 SharePoint Functionnal Analysis What does the requirement look like? What are the information types? What are the relationships? Where data is stored? What are the data flows? What are the page types? What are the display constraints? What are the behaviors on pages? How information are displayed?
  56. 56. | 56 Want to Methodology summary B SharePoint Functionnal Analysis Draw pretty schemas Define your backlog as a map Draw wireframes Brainstorm about taxonomy Define your backlog as a list If you Tools Recommend to you We Microsoft Visio Speclog http://www.speclog.net/ Excel, TFS Balsamiq http://balsamiq.com/ Xmind http://www.xmind.net/ Get more details about this method GSoft website www.gsoft.com (detailed ebook coming soon!)
  57. 57. | 57SharePoint Functionnal Analysis Conclusion Merci! Templates & Examples on SkyDrive
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×