🌻 Ecobytes tender

ssedas
Tags: #<Tag:0x00007f9f021eb628>

#1

This document is a transcript from https://hack.allmende.io/s/ecobytes-transformap-20170613-tender

Answering the TransforMap Invitation for Tenders.
Ecobytes, June 2017

:repeat: Processual requirements

Ecobytes e.V., https://ecobytes.net, https://github.com/ecobytes

All.

We are collectively approaching these tasks and support each other mutually with design and implementation. There is one maintainer per User Story and Task. This is embedded in development community trainings, which aim at extensive skill sharing between the participating peers.

We stem our experience from building:

SSEDAS is a european research project which produces SUSY (SUstainability and Solidarity economY). It has embarked a joint venture with Get Active e.V. (Austria) to build mapping components for the TransforMap ecosystem, which are generally usable to present the SUSY Map.

This collaboration has been awarded a budget extension, which led to an invitation of tenders.

To answers this invitation, ecobytes e.V. is pooling responses and combining them into a collective proposal, which is described in detail below.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License by ecobytes e.V., June 2017.

:construction: Implementation sketch

In the following, we present conceptual notes about development and implementation vectors to persue. They stem from the User Stories and Tasks from the Invitation of tenders, where appropriate.

Participating peers

@acorbi
@gandhiano
@jum-s
@mrothauer
@ponder
@yala

Communication protocol

The group follows a multi-shell communication design, from a calmer, private inside to more publicly exposed and faster outsides. The shells are:

  1. Taiga ~ weekly sitins and quick reviews
  2. TransforMap Discourse ~ bi-weekly letters to the public
  3. Allmende Riot ~ ad hoc everyday

Additional participation in social coding platforms is implicit.

Overall view

This proposal seen as a pattern language.

EUR 2.000,00 :clipboard: #410 - User login

@jum-s and @mrothauer deploy and extend web services and their interfaces with federated identity and access control.

EUR 500,00 :checkered_flag: #425 - Deployment of an OpenID Connect Provider (OP)

@jum-s

This involves the deployment of hydra or a similarily simple solution into the TransforMap Testbed at Ecobytes.

EUR 750,00 :checkered_flag: #415 - Building the editor authentication as Relying Party (RP)

@mrothauer

This intends to implement the Implicit Grant flow at the editor.

EUR 750,00 :checkered_flag: #416 - Building the API authorization at Resource Server (RS)

@jum-s

This intends to implement the verification of HTTP bearer tokens against an authorization server during write access to data.transformap.co.

EUR 2.000,00 :clipboard: #407 - History queries and restore function

@ponder and @yala expose the prepared revisioning system in machine- and human-readable form.

EUR 1.000,00 :checkered_flag: #418 - Implementing endpoints for retrieving arbitrary versions

@ponder

This task is about adding additional endpoints to the data service for retrieving or aggregating views on the underlying database.

Checklist:

  • :ballot_box_with_check: /places/UUID/revisonUUID endpoint to retrieve arbitrary versions

Bonus:

  • :ballot_box_with_check: Implement changes feeds per endpoint and per user

EUR 1.000,00 :checkered_flag: #419 - Building an interface for restoring versions

@yala

In this task we add user interface components to expose the revision history of POIs to the Editor user, to allow her to revert previous ones if needed. Additionally we present user activity on a dashboard.

Checklist:

  • :ballot_box_with_check: list revisions for a POI in a specific view
  • :ballot_box_with_check: save a new version from an old version (restore), includes restored revision UUID

Bonus:

  • :ballot_box_with_check: welcome page to the editor, showing recent site activity as well as create and edit history of a logged in user

EUR 2.000,00 :clipboard: #424 - Ability to add media to POIs

@acorbi, @gandhiano and @yala implement an HTTP BLOB store following the FAIR Guiding Principles for (meta)data management by implementing Standards-compliant discovery mechanisms.

EUR 500,00 :checkered_flag: #426 - Deployment of FLOSS document management system

@yala

https://hack.allmende.io/s/ecobytes-20170621-mms-research

EUR 750,00 :checkered_flag: #427 - Integration with editor

@acorbi

https://text.allmende.io/p/Task_/timeslider#862

EUR 750,00 :checkered_flag: #428 - Integration with single sign-on service

@gandhiano

https://pad.co-munity.net/p/ecobytes-20170622-mms-oauth2

:bulb: Legend

:clipboard: User Story

:checkered_flag: Task

:ballot_box_with_check: Deliverable


@klytaimnestra

contributor of a Task


EUR 500,00

altered sum

:factory: Transversal produce

Additionally to the vertical integration of multiple tasks into user stories, a horizontal perspective connects peers that work on the same end product. These could be tags to the Tasks in Taiga once implementations start getting documented there.

  • Editor
    T415, T419, T427
  • OAuth2
    T425, T415, T416, T428
  • Data
    T416, T418
  • Other
    T422, T426

:money_with_wings: About budgeting and estimation

The actual budget distribution will be reassessed collectively by the whole group after individual deliveries. When laying out needs and costs for development activities, we follow an agile procurement approach.

:warning:

This model requires acceptance of some budget uncertainty: the total cost of delivery of software may not be fully known in advance.

However, one can, alternatively, fix a budget and accept some uncertainty over features delivered.

We emphasize that this limitation is not a limitation of open source but of software in general. As the maxim goes: in software development you can have any two of features, time and budget – but not all three.

Traditional tendering with its fixed requirements, fixed timeframes – and implicitly fixed costs – exists in an illusory world where one can have all three and implicitly imagines that buying software is like buying traditional goods like chairs whose features, usage and cost are all well-known up front.



Strategies for Mapping the eco-social and solidarity economy in soldarity
(Josef Kreitmayer) #2

Dear all participants in the tender,

congratulations to the setup of your collaboration.
Everything is set and ready to go.

Thank you
@acorbi
@gandhiano
@jum-s
@mrothauer
@ponder
@yala

for contributing your energy and ingenuity to this development process.

Your developments will benefit the mapping infrastructure of the fundsΒ΄ provider www.solidarityeconomy.eu, as well as the whole Transformap Ecosystem for mapping the commons, and Socio-Ecological Transformation movements.

Thank you Ecobytes and Jon Richter @yala for the tendering and coordination process.
Full consent with the agile redistribution of available funds, based on deliverables within the tender.

Please keep me up to date on the process once in a while.
Happy and fruitful coding,

Sincerely
@josefkreitmayer
Intermediary with the SUSY-Network (solidarityeconomy.eu)


(Jon Richter) #3

Dear @josefkreitmayer,

we are approaching the rolling releases of the first tasks

and start preparing the next wave

Can you and @gandhiano prepare a first installement of half of the overall budget to secure liquidity throughout the development cycles, please? We will have to recompensate the developers for the first tasks soon and want to make sure this part of the agreements is processed similarily in foresight.

Thanks in advance,

Jon


(Josef Kreitmayer) #4

@almereyda @gandhiano,

I will prepare accordingly for early next week.
A meeting early next week is very welcome from my side.
What time would be suitable for you?

for getting an overview on the work done and agree on the realting amount of payment, as well as the next installments and estimated timeframes. Based on the agreement of the tender the current installment will very likely not be 50%, but rather related to the current and rolling releases. I will do my best to provide the funds as required in the moment. It is important to get an overview, that I can communicate to the funders, and claim the funds. Currently you will receive them as an advance from our organization Get Active.

From following your conversations, I can see a lot of dedication! Some points seem to be a challenge from time to time, but the whole team moves forward piece by piece.

Cudos!!!


(Gualter Barbas Baptista) #5

As I have a new day job I could only meet after hours. Evenings around 21 could work.


(Josef Kreitmayer) #6

congrats @gandhiano to the new job, hopefully it is something you enjoy!

@almereyda from my side, I am available all day today and tomorrow. I thought of about 40% for the current installment, honoring the work your team puts in, even though the initial agreement is payment on delivery. A brief walkthrough to how you are doing would be my request.

I am not sure, if it is required to have @gandhiano present, but up to you to decide. I am available.


(Jon Richter) #7

Hi, let’s meet on Riot then! As delivery is a continuous process, procurement ideally follows.

For the walkthrough, it is important to state whom you adress your request to. We can request small statements from the developers upon merge of their PRs to master and said delivery of a testable artefact, yet I feel reluctant to centralise opinions and documentation in my domain. Although assigning something like an intuitive five star rating about maturity to each Task and User Story for an executive flash review sounds quickly doable. Would such an overview still suit your enquiry?


(Josef Kreitmayer) #8

@almereyda [quote=β€œalmereyda, post:7, topic:1385”]

an intuitive five star rating about maturity to each Task and User Story [/quote]

sounds very good to get an overview.

I am available tomorrow the whole day.
Could you suggest a timeframe?

It would be good if you could enable me to report some statement of progress and outline to the funders in order to get some of the budgeted funds. Our liquidity is currently fine, but with paying the current installment, we shortly thereafter need to unlock their next installment.


(Jon Richter) #9

For me it is important right now to proceed with ensuring liquidity. This means a guideline for a short title about what to invoice for and in which amount.

2nd level reporting duties are a field which was not specified in advance, why no attention had been allocated to it yet. Also I am not in posession of any written agreements between the funders and Get Active to provide sufficient information to a process whose conditions I don’t know anything about. Did we ever even clarify the relation between Ecobytes and Get Active in more future-proof, testable forms than oral agreements?

The invite for tenders was the first approach to have a documented way of collaboration. It states:

This said, only deployed artefacts can cause a payment. We did not further specify in which order we compensate, nor in which timeframe it happens. The uncertainty is welcome in so far, that we are still free to choose ourselves which practice suits the ongoing development processes best.

I am interested in seeing how reporting and procurement were initially preconceived for the relations mentioned above, before continuing with the five star rating and short summaries for each User Story and Task.

Coming from here, it appears possible to suggest we review the produce together and in the same time shift funds from Get Active to Ecobytes to be ready for collectively approved payments.


(Josef Kreitmayer) #10

I share that approach, we can go through it in conversation, and take notes as relevant for reporting and for invoicing to provide liquidity.
please suggest a time for meeting on riot.


I suppose, that we are both aware, that the process, as initially agreed upon, is not feasible for providing the currently requested liquidity. Based on our conversation next week, providing an overview on progress towards the deliverables, I would suggest to process about 40% of the payments now, 30% with working raw prototypes, and 30% after the initially agreed testing phase.


(Jon Richter) #11

This continued on September 4th in Riot

Hi Josef, I have estimated the following five star ratings for the current tasks. User stories infer their mean.

  • US410
    • T425 4/5
    • T415 1/5
    • T416 4/5
  • US407
    • T418 4/5
    • T419 1/5
  • US424
    • T426 3/5
    • T427 3/5
    • T428 5/5

During a call with Lena, Nora and Jan on October 11th we also concluded current developments, maintained payment flow and collected requirements for a third development cycle following this iteration.

An update of the five stars today looks as follows:

  • US#410 5/5
  • US#407 3/5
  • US#426 4/5