Top Banner
How to Write Amazing Functional Analysis Documents for your SharePoint Projects Nathalie Jard Franck Cornu SharePoint specialists • GSoft November 23 rd , 2013
47

How to Write Amazing Functional Analysis Documents for your SharePoint Projects

May 09, 2015

Download

Technology

GSoft

In this session you will learn how to translate business requirements into usable SharePoint
specifications? How to accurately plan effort and scope for a SharePoint project?
How to prepare a clear, complete and concise document for the development team? If these
questions keep you up at night this session is for you!

The following topics will be covered during this presentation:
 Requirements Definition
 Information Architecture
 Functional, and
 Non-Functional Specifications

Analysis templates used in the presentation will be distributed to attendees.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

How to Write Amazing Functional Analysis Documents

for your SharePoint Projects

• Nathalie Jard• Franck Cornu• SharePoint specialists• GSoft

November 23rd, 2013

Page 2: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

Thank you to all of our Sponsors!!

Page 3: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 3

• Scrum Master

• SharePoint Analyst

• SharePoint Analyst &

Developer

@najard

[email protected]

[email protected]

@franckcornu

Who

ARE WE?

Nathalie Jard Franck Cornu

http://www.gsoft.com/fr/blogue?categorie=sharepoint

Page 4: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

SharePoint Functionnal Analysis | 4

SESSION

Plan

Requirements definition

A1 - Define requirements

2 - Prioritize requirements

Functional analysisB1 - 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

Page 5: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 5

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

Page 6: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 6

Do you know the difference between?Define requirements1

SharePoint Functionnal Analysis

And

Business 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

Part

APa

rt B

Page 7: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 7

By writing a backlogDefine requirements1

SharePoint Functionnal Analysis

Very first documentIdentify what will be done in your projectDon’t neglect it

Used with agile methodologiesSprintable and releasable (ex SCRUM)PrioritizedFlexibleRequirements as stories• Independent analysis on each

This document can beA simple flat list• Avoid TFS…

A map (?!?)

BACKLOG

Page 8: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 8

User Story Mapping

Define requirements – Tools & Techniques1

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 domainsTools• Coloured post-it and whiteboard• Electronic format (SpecLog $)

*http://www.agileproductdesign.com

Page 9: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 9

User Story Mapping1

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?

Business

priority

User workflow

Define requirements – Tools & Techniques

Page 10: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 10

User Story Mapping1

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

Page 11: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 11

User Story Mapping1

SharePoint Functionnal Analysis

Example in real life

PS: Not mandatory to use a full wall

Define requirements – Tools & Techniques

Page 12: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 12

User Story Mapping1

SharePoint Functionnal Analysis

Summary

Focus on roles and responsabilitesWho can do what in the system? This, is governance.

Reveal information flowsThat they will help you in the future to design your information architecture

Live in a dream, don’t talk about SharePoint capabilitiesEverything is possible here !

Focus on requirements, not solutionsNo more: « I want a search engine » or « I want a SharePoint list with five columns »

Super effective but sometimes hard to assimilatePractice, practice and practice. Dont be afraid to try. All you need is listening and rigor.

Define requirements – Tools & Techniques

Page 13: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 13

Keep/Don’t keep

Define requirements – Tools & Techniques1

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 projectresult as impacts in your map (all levels)

Toolspencils and whiteboardpost-itfocus groups by functional domain

Overall design Reservation system

User alerts Not intuitive

Source: http://innovationgames.com

Page 14: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 14

Speed boat

Define requirements – Tools & Techniques1

SharePoint Functionnal Analysis

Definition

Identify what slows down user efficiency

Most problems lie deeperHelps you to identify impact priorities

Toolspencils and whiteboardpost-itfocus groups by functional domain

Low performance

Not user friendly

Ugly design

Source: http://innovationgames.com

Page 15: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 15

Why prioritize?2

SharePoint Functionnal Analysis

You have to start with something« I want it all » is not a valid response

Agile development guidelineFirst deliver features that give you the most value

Prioritize requirements

Source: http://innovationgames.com

Page 16: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 16

Buy a feature2

SharePoint Functionnal Analysis

Definition

Distribute your fake money on available requirements

Identify priorities

Toolsfake moneyproduct backlogtimebox

Prioritize requirements – Tools & Techniques

Source: http://innovationgames.com

Page 17: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 17

Summary5

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

Page 18: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 18

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

Page 19: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 19

With SharePointFunctional analysisB

SharePoint Functionnal Analysis

Methodology

9 simple stepsBased on functional questionsSharePoint OOTB oriented

Applies on a single storyBuilding little autonomous subsystem with its own functional analysis

All steps are not mandatoryDepends on your user story • « Read » oriented VS « Write » oriented

12

34

56

78

9

Available on skydrive

Nathalie Jard
Il serait bon de nommer les 9 steps comme intro aux prochaines diapos
Nathalie Jard
Aussi expliquer que l'on fait ça pour chaque requirement
Page 20: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

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

| 20

With SharePointFunctional analysisB

SharePoint Functionnal Analysis

Top SharePoint analysis facts

The SharePoint trap: when the means condition the needsTell me what SharePoint can do, I will tell you what you need…

2

1

Solutions are not close enough to users day to day needsIT department is not often the best resource to determine whole user requirements…

3

Page 21: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 21

Your functional analysis with SharePoint

Methodology summaryB

Visualize the requirementDescribe informationDefine relationships between data typesEffectively storing informationDetermine the data flow directionsDefine data access pointDefine criteria for data recoveryDefine relational behaviorsDefine the information display

1

2

3

4

5

6

7

8

9SharePoint Functionnal Analysis

Page 22: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

SharePoint Functionnal Analysis | 22

How to access data in SharePoint ?Prerequisite0

Benefits

Disadvantages

Requires defining each field involved in the query.

Suitable for Access to targeted metadata Access to content subject to

continuous changes

No need to know the field names in which to look for.

Easy query building

Represents the search index reality and not the SharePoint content database one.

Keywords based search in "Free Text" mode

Access to relatively static

content.

Benefits

Disadvantages

Suitable for

Represent the SharePoint database reality at the moment of the query.

Retrieves linked items quite easily.

Structured Query Language Search languageVS

Nathalie Jard
Pas certaine celle là
Page 23: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 23

What does the requirement look like?Visualizing the requirement1

SharePoint Functionnal Analysis

Wireframe(s)

Nathalie Jard
Expliquer ici que la visualisation doit se faire pour chaque user story
Nathalie Jard
Est-ce que l'on ajoute des tools de design que j'avais mis dans mon ancienne présentation
Page 24: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 24

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

Nathalie Jard
Référence Onglet "Describe Information"
Page 25: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

Project

Project Member

Commer cial Pr oject

Inter nal Pr oject

Volunteer Pr oject

Project Document

Type

Document

Title

Item

Title

Name

TitleDate

Title

Shar ePoint Context

Busines Context

| 25

With SharePointDescribe information2

Nature of information (Root types)

Subtypes

Type

Metadata

Content Types and Columns

SharePoint Functionnal Analysis

Page 26: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 26

What are the relationships between these data items?

Define relationships between data types

Relationships possibilitiesOne to one

One to many

Many to many

3

SharePoint Functionnal Analysis

Project Project Document0

N

1

N

Project Project Member1

N

1

N

Project Project Checklist1

1

1

1

Page 27: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 27

With SharePoint

Define relationships between data types3

Lookup Fields

Managed Metadata

Documents Sets

Folders

Possibilities

SharePoint Functionnal Analysis

Page 28: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 28

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 information4

SharePoint Functionnal Analysis

Page 29: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 29

With SharePointEffectively storing information4

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 /

/commer cial projects

/volunteer pr ojects

/internal pr ojects

/pr oject documents

/pr oject member s

http://collaboration

/pr oject management

Commer cial project

Volunteer project

Inter nal project

Project document

Project member

Content types

SharePoint Functionnal Analysis

Nathalie Jard
Autre section du document, on peut y faire référence
Page 30: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 30

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 directions5

SharePoint Functionnal Analysis

Page 31: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 31

With SharePoint

Determining the data flow directions5

Storage in a SharePoint site.

Access from the same site.

/sites/pr ojects

/commer cial projects

/volunteer pr ojects

/internal pr ojects

/pr oject documents

/pr oject member s

http://intr anet

/

/pr oject-management.aspx

Reading str eamWr iting and update str eam

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

Page 32: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 32

With SharePoint

Determining the data flow directions5

Storage in a SharePoint site.

Access from another site in the same site collection.

/commer cial projects

/volunteer pr ojects

/internal pr ojects

/pr oject documents

/pr oject member s

http://intr anet

/

/sites/pr ojects

/pr oject-management.aspx

/r epor ts

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

Page 33: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 33

With SharePoint

Determining the data flow directions5

Storage in a SharePoint site.

Access from another site in a different site collection.

/sites/pr ojects

/commer cial projects

/volunteer pr ojects

/internal pr ojects

/pr oject documents

/pr oject member s

http://intr anet

/

/pr oject-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

Page 34: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 34

Determining the data flow directions5

 SharePoint

2007SharePoint

2010SharePoint

2013Maximum 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

Read

ing

flow

Writ

ing

and

upda

ting

flow

Components

SharePoint Functionnal Analysis

Page 35: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 35

According to the data storage distribution and flow, where are the data access points and what types are exposed?

Define data access point6

Raw dataPlain text not related to any specific type• Ex: A welcome text

Data aggregationCompilation of data from different data sources• Ex: Dashboards

Typed informationSingle Item metadata viewVisualization of data corresponding to a specific type• Ex: A project sheetSharePoint Functionnal Analysis

Page 36: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 36

With SharePointDefine data access point6

Raw dataWiki Pages

Data aggregationWeb Parts Pages

Typed information List FormsPublishing Pages

/sites/pr ojects

/commer cial projects

/volunteer pr ojects

/internal pr ojects

/pr oject documents

/pr oject member s

http://intr anet

/

/pr oject-management.aspx

SharePoint Functionnal Analysis

Page 37: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 37

With SharePointDefine data access point6

ProjectItem

TitleTitleDateDescr iption

List Forms

Typed information

SharePoint Functionnal Analysis

Page 38: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 38

With SharePointDefine data access point6

Document

Project sheetPage

Title Title

Title

Publishing page

Typed information

SharePoint Functionnal Analysis

Page 39: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 39

Under which conditions should information should appear in the page?

Define the conditions for information recovery7

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

Nathalie Jard
Cette section est compliquée. Moi je ne saurai pas faire le lien avec l'analyse fonctionnelle
Page 40: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

SharePoint Functionnal Analysis | 40

What are the relational constraints on the information?

Define relational behaviors8

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

Page 41: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

SharePoint Functionnal Analysis | 41

What are the relational constraints on the information?

Define relational behaviors8

Members and documents by project

Project filter

Page 42: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

SharePoint Functionnal Analysis | 42

How is information displayed?Define the information display9

What are the display detailsMetadataStyle• Colours, fonts, etc…

Should they appear grouped or aloneMixed types inside one container with visual distinction

Page 43: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

SharePoint Functionnal Analysis | 43

With SharePointDefine the information display9

Display management

XSL

JavaScript/HTML

Commercial projects, volunteer projects, internal projects

Project documents

Project membersTitle

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

Page 44: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 44

Your functional analysis with SharePoint

Methodology summaryB

1

2

3

4

5

6

7

8

9SharePoint 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?

Page 45: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

| 45

Want to

Methodology summaryB

SharePoint Functionnal Analysis

Draw pretty schemas

Define your backlog as a map

Draw wireframesBrainstorm about taxonomy

Define your backlog as a list

If you

Tools

Recommend to youWe

Microsoft Visio

Speclog http://www.speclog.net/

Excel, TFS

Balsamiq http://balsamiq.com/Xmind http://www.xmind.net/

Tested and approved

Get more details about this method

GSoft website www.gsoft.com (detailed ebook coming soon!)

Page 47: How to Write Amazing Functional Analysis Documents for your SharePoint Projects

Date & Time: Nov 23rd, 2013 @6:00 pmLocation: The Observatory Pub,

Algonquin Student’s AssociationAddress: A-170 on Algonquin CampusParking: No need to move your car!*Site: http://www.algonquinsa.com/ob.aspx

*Please drive responsibly! We are happy to call you a cab

Remember to fill out your evaluation forms to win some great prizes!

&

Join us for SharePint today!