You are on page 1of 17

Scope of Works -

Treasury Registry Sprint 2

Prepared for John Manoochehri, Managing Director


Treasury Spatial Data, Inc

Version 1.1
Thursday, 10 November 2022
Scope of Works - Treasury Registry Sprint 2 2

Project Details

Treasury

Client Name

John Manoochehri

Client Contact and Contact Telephone

Treasury Registry Sprint 2

Project Name

Martin Dick - 07969 459952

mmtm Contact and Contact Telephone

14 / 11 / 2022

Expected Start Date

We look forward to
working with you

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 3

The Services
What is in scope in relation to the Services

mmtm will provide design and development services to Treasury to build the feature set
conforming to the scope described by the User Stories in Appendix A.

mmtm will configure the Treasury Inventory on Heroku in a production environment as well as
development and staging environments.

mmtm will fix any technical issues or bugs noticed during the acceptance testing period that
causes the application to fall out of scope after the initial completion of the scoped work.

What is out of scope in relation to the Services

• mmtm performing any penetration stress tests on the application

• Fixing any technical issues or bugs that cause the application to fall out of scope,
beyond 60 days from passing the acceptance testing of the scoped work

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 4

The Team
Who is in scope in relation to the delivery of the services

Six members of the mmtm team will contribute to this project.

Rupert Maspero Lukasz Czapiewski Martin Dick

Louis Davis Merryn Hurley-Rawlins William Neal

mmtm reserve the right to substitute the above members of the mmtm team with personnel of
equivalent qualifications and expertise if necessary in order to deliver the project in the
desired timeframe.

Who is out of scope in relation to the delivery of the services

No current members of the mmtm team are out of scope.

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 5

The Site

What Locations are in scope in relation to the Services

mmtm will develop the project at its offices at Unit H, The Courtyard, Tewkesbury Business
Park, Tewkesbury, GL20 8GD. The scope will also be developed by mmtm team members
working from home.

mmtm reserves the right to develop at alternative locations providing advanced written notice
is provided to Treasury.

What Locations are out of scope in relation to the Services

There are no current locations out of scope.

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 6

Project Plan

When will the Deliverables be delivered and what is the scope in relation to any
Acceptance Testing

Subject to mmtm receiving any documentation, information, instruction and assistance from
Treasury and its employees, agents, sub-contractors and third parties which it may rely upon
in order to deliver the Deliverables, the Deliverables will be delivered by mmtm to Treasury
within a period of 12 working days commencing on contract signing and expected start date.

The development of the application includes feature specification and unit testing that will
ensure that the app operates to scope. In addition, mmtm will perform:

• Platform testing (Windows, Mac, iOS, Android)

• Web browser testing on all major browsers (Chrome, Firefox, Safari and Microsoft
Edge 13+)

What Deliverables are out of scope in relation to any Acceptance Testing

There are no deliverables outlined in Appendix A that are out of scope to acceptance testing.

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 7

Customer Obligations

What Specific Customer Obligations is the project dependent upon?

mmtm’s ability to deliver the Deliverables in accordance with this Scope of Works is
dependent upon Treasury providing the following information:

• Card details to set up a Heroku account for Treasury

• Providing access to the Treasury domain on Cloudflare and any DNS records (if
necessary)

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 8

Charges & Disbursements


What is included in the Charges as part of the Services

The charges payable by Treasury to mmtm for project’s development is the Total sum of
£16,560 (No VAT). The charges will be invoiced by mmtm in two sums:

1. On contract signing: £8,280 (no VAT) - payable within 30 days

2. On completion of Deliverables to Treasury: £8,280 (no VAT) - payable within 30 days of


acceptance

If Treasury wishes to adjust the scope within the fixed fee, mmtm can investigate the story
points required and replace the old functionality with features that represent an equal number
of story points as per the attached user stories.

Changes will only be made to the scope of project with written consent from both parties and,
unless such consent is given, mmtm agree that the project will only be considered complete
once all of the user stories described in Appendix A have been addressed.

Additional Information

Any additional work agreed between mmtm and Treasury outside this Scope of Works shall be
confirmed in writing and invoiced monthly in arrears by mmtm with payment 30 days from
the date in invoice as per mmtm standard terms of business.

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 9

Additional Terms

Are there any specific licenses or consents required to perform the Scope of Works
and if so, who is responsible for obtaining those?

mmtm does not believe any specific licences or consents are required but Treasury shall
confirm if any specific licences or consents may be required for the project.

Are there any specific Data Protection issues arising under the Project or do the
Standard Terms provide sufficient protection?

From the information provided by Treasury, mmtm does not believe any specific data
protection issues to apply to the Deliverables but Treasury shall confirm if any data protection
issues apply to the Deliverables within the project. The services provided will keep Treasury
GDPR compliant.

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 10

mmtm Limited Standard Terms and Conditions for the Supply of Services apply subject to the
amendments agreed between the parties to the services and products provided under this
Scope of Works.

A copy of the mmtm Limited Terms and Conditions for the Supply of Services as agreed
between the parties is enclosed with this Scope of Works. It is important that you read these
terms before accepting this Scope of Works and authorising us to proceed.

By signing this acceptance and authorisation you and we each agree to abide by and be
bound by the supply of services agreement we agree to supply the Services and you agree to
pay the invoice(s) as detailed in this Scope of Works.

IN WITNESS WHEREOF, the parties hereto each acting with proper authority have executed
this Scope of Works.

It’s your time to sign

Martin Dick John Manoochehri


Full name Full name

Director CEO
Title Title

Signature Signature

11 / 11 / 2022 11/11/2022
Date Date

Success!
Success !
Alldone.
All done

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 11

Appendix A
Dashboard Page
As a user, I see updated wording on the Dashboard page

• “Scenes Uploaded” to “Scenes Registered”

Fig 1. Mockups of the existing Dashboard Page

Lists Page
As a user, I see updated table columns for a List

• Rename “Name” to “Title” (so it aligns with elsewhere in app)

• Rename “Author” to “Lead Creator”

• Remove “Location” column

• Add a new “Priority column” (dropdown: High, Medium, Low)

Fig 2. Mockups of the existing Lists page table header & the proposed changes (in red)

As a user, I navigate between different Lists

• From the Lists page, I click the List card for the List I wish to view

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 12

• The table updates with that List’s content

As a user, I create a new List

• From the Lists page, I click the New List button

• A modal appears where I fill in the List title and click Create List

• The page refreshes and I see a new empty list

• If the list has no assets yet, I see a fallback message encouraging me to add an asset

As a user, I download the Import CSV template

• From the Lists page, I click the Import CSV button

• A form appears giving details on how to Import a CSV. I click the Download Template
CSV link.

• The CSV template is downloaded to my machine.

• Template CSV headers: Title, Category, Quality, Lead Creator, Priority

As a user, I upload a CSV of assets to a list

• From the Import Assets via CSV form, I click the Upload File button on the form

• I select my CSV file of users to upload to a programme and click Upload

• My CSV file uploads in the background. I click Start Import.

• If no CSV errors, I am redirected to the Lists page with a success message indicating that
the import has started in the background.

As mmtm, I validate the uploaded CSV

• As mmtm, we’ll check the CSV for any standard errors before starting the assets upload.

• Error checking: CSV file format, CSV headers align with template, Asset title is present on
each row, Category value is in applicable format (Proto Asset, Prelim Scene, Scene
Element, Full Scene), Quality and Priority is in applicable format (High, Medium or Low).

• If the import fails the validation stage, I receive an email explaining the CSV has failed to
import, reasons why, and what needs to be done to improve the CSV to get the import
working

As a user, I import a CSV of Assets to a List

• If the import succeeds, I receive an email letting me know that the import has been
successful

As a user, I edit a list item and it’s contents

• On the Lists page, I click in to a table cell I wish to edit

• If the cell is a string type, I can type in new contents

• If the cell is a dropdown type, the dropdown options appear and I can select a new one

• The changes are automatically saved

As a user, I add a new Asset to the bottom of a List

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 13

• At the bottom of each List, I click the New List Item link

• A new list item is added to the list for me to edit

As a user, I remove an Asset from a List

• On the Lists page, I click the checkboxes next to the assets I wish to delete

• I then click the actions dropdown and select the Remove from List button

• The page refreshes and my selected assets are removed from the list.

As a user, I click the Register Now link for a List Item

• From the Lists page, I click the Register Now link next to a list

• A spinner replaces the Register Now text, I then see a toast message indicating that
“Scene successfully created”

• The Register Now link updates to a new link called Manage

• I click the Manage link and get redirected to the Manage Scene page for the newly
created scene for that list item.

As a user, I sort the Lists table

• From the Lists page, I select a table header and the list is sorted in line with the header
selected

• I can sort by any of the columns: Title, Category, Lead Creator, Quality & Priority

As a user, I paginate through the Lists table

• From the Lists page, if my list is over 40 assets long, I see page pagination at the bottom
of the table

• I click forward and backward on the paginated list and the table refreshes with content

As a user, I delete a List

• I go the Lists’s action dropdown and click the Delete List link

• An “Are You Sure?” confirmation box is shown, I click confirm.

• My list is deleted and I am redirected to a different list. A toast message is shown


confirming that the scene was successfully deleted.

Categorise & Upload (Step 1 of Registering a Scene)


As a user, I see a re-ordered form inputs for Step 1: Categorise & Upload

• Input fields need to be re-ordered to match wireframe below

• Primary 3D Model → Primary Assets

• glTF Model → Model Preview

• Author is renamed to “Lead Creator” and moved from Step 2 to Step 1

• New input called “Priority” (dropdown values: Low, Medium, High)

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 14

Fig 3. Wireframe of the improved Categorise & Upload form

As a user, I upload multiple files to the Primary Assets input

• From the Categorise & Upload form, I drag and drop multiple assets in to the Primary
Assets input field.

• On the page, I can see a visual representation of the files as they are uploaded so I can
see what I’ve uploaded and what I haven’t.

As a user, I upload multiple files to the Preview Model input

• From the Categorise & Upload form, I drag and drop multiple assets in to the Model
Preview input field.

• On the page, I can see a visual representation of the files as they are uploaded so I can
see what I’ve uploaded and what I haven’t.

As a user, I upload multiple files to the Thumbnails input

• From the Categorise & Upload form, I drag and drop multiple assets in to the Thumbnails
input field.

• On the page, I can see a visual representation of the files as they are uploaded so I can
see what I’ve uploaded and what I haven’t.

As a user, I search & select a Lead Creator (renamed from Author)

• From the Categorise & Upload page, I see a new input called Lead Creator

• In the input, I can search and select a Lead Creator

• If the Lead Creator is not recognised, this will create a new Lead Creator record in the
database

• NB. Lead Creators are scoped to my Organisation

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 15

Set Initial Metadata (Step 2 of Registering a Scene)


As a user, I see updated wording and inputs on the Set Initial Metadata form

• Rename the page to “Set Initial Metadata”

• Rename “Year Built” to “Year Created”

• As a user, I toggle a new input called “Live Data Feed”

As a user, I select “Concept” or “Imaginary” from the Design Type dropdown and the Location
Address input is hidden

• If Concept or Imaginary are chosen on the Design Type dropdown, the Location Address
input field is hidden.

• If Under Construction, Constructed or Hybrid are chosen on the Design Type dropdown,
the Location Address input field is shown.

As a user, I search and select a Location Address

• From the Location Address input field, I start typing the real-life address for the Scene

• Using the Google Maps API, locations are automatically suggested to me

• I select the appropriate location and save

• NB. The Registry will also save lat, long and other associated data for future features or
analysis

Minting Your Asset Modal


As a user, I see updated wording & a new redirect button

• From: “Please wait while we mint your #{scene_title} and associated data”

• To: “Please wait while we mint your #{scene_title} asset and associated data”

• Also change the button from “Go to Dashboard” to “Go to Inventory”

Syndication Details - (Step 6 of Registering a Scene)


As a user, I see new input fields on the form

• From the Syndication Details section (Step 6), I see a new text box input called Scene
Description.

• I fill out a Scene Description and click Save & Proceed.

Scene Inventory Page


As a user, I see updated wording

• Rename the page from “Scene Archive” to “Scene Inventory”

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 16

• Rename the “Asset Type” filter label to “Asset Category”

• Reword the page title sub-text to “Browse and manage Arup Group’s registered scenes”

As a user, I sort the Scene Inventory page

• From the Scene Inventory page, I click the Sort dropdown link and see the following
options: Title, Asset Category or Asset State

• I click one of the Sort options and the page sorts the scenes appropriately

As a user, I filter by a Scene’s State

• From the Scene Inventory, I see a new filter heading called Asset State with the following
options: Draft, Archived or Syndicated

• I click the filter options as desired and click the Filter button

• The page refreshes with my filter options applied.

Manage Scene Page


As a user, I see updated wording

• Update the page title from “Manage Scene” to “Manage #{scene.title}”

• Also move the state pill up next to the title

• NB. The three key scene states are “Draft”, “Archived” or “Syndicated”

As a user, I see updated scene values that reflect the updated Register a New Scene form

• Considering the updated inputs in the Register a New Scene user stories, I see these
reflected on the Manage Scene page

• Eg. I now see a new Priority field value, Primary Asset files, Model Preview files etc

As a user, I archive a scene

• If a scene is in the syndicated state, I click the “Archive Scene” button

• A pop-up warning is shown indicating the repercussions. I click confirm.

• The scene is reverted back to the “Archived” state and is no longer available on the
Discovery engine

As a user, I open and collapse each section in an accordion style

• Click on the grey section title to open and close

API Improvements
As an API user, I see updated scene values on the /scenes endpoint

Add the new scene fields from Sprint 2 to the serialiser

As an API user, I see scenes scoped to an organisation (eg. Zaha Hadid)

hello@mmtm.io
10 November 2022
Scope of Works - Treasury Registry Sprint 2 17

• Using my public and private key, I access a new scoped endpoint /


organisations/:organisation_id/scenes

• All the scenes for that organisation_id are returned in a JSON format

• NB. Martin will share a list of organisation id’s and their corresponding partners with
Andrew G once deployed. We will prioritise this ticket and deploy this first.

• NB. This is a cost-effective, short-term solution for Andrew G’s demo requirements

Other
As a user, I see updated wording on the navbar

• Rename “My Profile” wording to “Profile”

As a user, I see page titles inline with the Treasury logo

• Copy styles from https://treasury.space website

• Page title needs to be inline with the bottom of logo

As mmtm, we block Registry access to users in unapproved countries

• Countries to block:

• Cuba, Iran, North Korea, Syria, Russia, Belarus,

• Crimea, Donetsk & Luhansk of Ukraine

hello@mmtm.io
10 November 2022

You might also like