Unawarded [Sphereon] Core Development Project Manager

Status
Not open for further replies.
Secured
#1
The decentralization of the core development has started in early stages, with several developers, like Who (Factomize), Luap (Luciap) and Adam S Levy (Canonical Ledgers), Laurens (BIF) starting some work on the Factom protocol core development besides Factom Inc.

This has created the need for coordination of the work and the priorities. A backlog with epics and stories, a sprint planning, technical roadmaps - demo and - retrospective are common practices are part of this and should be established.
This will also make the development be more transparent and measurable.

Sphereon is willing to take the additional risk (in case subsequent grant applications would not be granted), to employ and provide a project manager/scrum master to coordinate the core development efforts. Sphereon will also share in the cost of this resource.

The budget for this application is 2,000 FCT. This grant will have a repetitive nature, meaning Sphereon must continue to deliver and Sphereon takes the risks involved.

Sphereon will do all in its power to make this person available in the future to any foundation potentially being created for Factom that would take part in core development.
 

Attachments

Last edited:
Secured
#2
As the Core Developers will be looking to improve TPS, the probability of my supporting this grant will increase if the would-be manager promises to ask every Core Developer for their TPS Reports each day.


In seriousness, as most of the new Core devs will spend a reasonable amount of their initial 3 months just learning the code, is this necessary at this juncture? I'm not saying it's not. I see the value. I'm just curious as to your perspective as to why this should be implemented now rather than in three months.

Thank you!
 
Last edited:
Secured
#3
Thank you for your proposal.

This is a generic question I ask in each grant thread.
This is currently the 3rd grant round. I consider that one of the very important criterion to select a grant (apart from its potential value) is the capacity of the grantee to deliver in time what it pledged. Therefore past grants can be used as an indicator.

If you did receive grants in previous rounds, could you please fill the following fields? This would increase transparency and help the standing parties to select grants.

- Have you, or one of your partners, previously received grants : Yes/No. If No, then you can stop here :)
- List of grants received : grant X1 from round Y1, grant X2 from round Y2...
- Status for each grant : grant X1/Still ongoing or Completed, grant X2/....
- Description of the work accomplished so far and Links supporting it : Discord Group/Factomize thread/Github/Reports/...
- Description of the residual work to be completed : XXXXXX

Thank you for your cooperation.
 
Secured
#4
@David Chapman Yes, any new developer will need time to familiarize him-/herself with the code as it is very complex, certainly the core parts.
However, there are several good reasons why we would need this function to come on board right now:
  • Coordinating the development plans with Factom Inc and the different external developers already working on core development will require a couple of months
  • Setting up a system will require time as well
  • The longer we wait with bringing someone in and up to speed, the more complex and time consuming it will be
  • Onboarding new developers would also be one of the tasks this person would be coordinating
  • New core developers will start with building tests, which will also need to be coordinated
 
Last edited:
Secured
#5
This position of core development coordinator is a great idea and will be useful to ensure a productive collaboration of all the different parties involved in core development, whether they are full-time, part-time or occasional contributors. I also agree that those first 3 months are a good opportunity for the person to ramp up. For instance that person could go through all the currently open github issues in the Factom repositories, answer them, narrow down the scope, start prioritizing etc.

The biggest risk of this grant is probably the human/social factor to get everyone to work along. I hope you will be able to find a talented person able to tackle that challenge.

We'll support this grant.
 
Secured
#6
Thanks for the initiative, however at this time, for several reasons, I don't think we can support it

1. We believe that recurring grants should be sustainable even at a depressed floor price range of .0007 - .001. If we consider all the current recurring grants right now, we are already over that threshold.

2. The % of the grant pool going to the core development initiative would be higher than what we feel comfortable with. Having too much money going to core development is going to delay the funding of other good initiatives like good documentation/good open source libs/marketing/small, open source proof of concepts that are going to help enterprises integrate Factom.

3. While having a stable network, more TPS, etc is desirable, we believe that allowing projects to develop,test and integrate Factom at a cheaper cost is a bigger priority to us at this point. More EC burned will improve the price which in turn will improve our ability to support this initiative. If Factom Copy Cat is 50% cheaper to develop and test on because of the better supporting tools, we might lose a lot of interest from outsiders and the better network might not be enough of a selling point at this time. We would like to not be the Betamax, blockchain edition, with a better overall technology/network but too costly to develop on vs the competition .

4. The signal we are perceiving from Factom Inc is that the network infrastructure might be sufficient for now. If this was a priority to them, we believe they would not try to subsidize 100% of their maintenance/development contribution to the community and would take more risk on that side. They would invest further instead of seeing this as an opportunity cost.
 
Last edited:
Secured
#7
@Miguel Proulx Thank you for your remarks. The points you bring up are all fair remarks.
It is true this is a question of priorities. We believe coordination is a must when we, as a community, are growing the core development pool of developers.
If the pool of developers have no system and process in place, we're wasting resources.
Also, today there is no transparency in the backlog , what is being worked on and the priorities that are assigned and be who.
I'm not suggesting in anyway that something 'fishy' is going on now, but as a true transparent, decentralized community, this must change.
Sphereon offers to provide someone part-time in order to limit the costs. But we have no problem with another ANO stepping up and take this over.
 
Secured
#8
Right now, I think it is fair to categorize core developers into two categories:
1. Factom Inc
2. Community/Non-Factom Inc

The goal should be to get to the point where everyone is working side-by-side (virtually) and we no longer classify either group. Instead, everyone is simply a "core developer." Obviously, this will take time. A project manager can help facilitate this process.

Additionally, integrating new developers requires the help of Factom Inc. I think it only fair that the community take as much work off Factom Inc's plate in this regard as possible. This is a place the project manager can help. Related Note: I hope Factom Inc puts in a backpay grant for their work in this regard in either Grant Round 4 or Grant Round 5.

The biggest risk of this grant is probably the human/social factor to get everyone to work along. I hope you will be able to find a talented person able to tackle that challenge.
We entirely agree. We fear a situation where a project manager is dictating too much to the non-Factom Inc core developers and the non-core developers get a bit disgruntled. Can you comment a bit about this @mboender ? Thank you

Go Immutable is close to supporting this grant, but feel it best if we dive a bit deeper before pledging full support.
 
Secured
#9
This grant sounds like a great idea, but I am a little scared how it will turn out in practice. As others have said, this is a very tricky role, which requires a very specific skillet along with coordination of people across different continents & differing backgrounds. Some questions regarding this:
  • what is the profile of the person you will be looking for?
  • how likely is it that you will find them within the next 1.5-2 months, especially given the difficulties with hiring good Golang developers (which IMO should be easier to find)?
Overall, my opinion is that it makes more sense for someone from Factom Inc to coordinate the development at this stage and maybe for one of the core developers that are currently getting on-boarded to transition to a project manager position at a later point, once they are up-to-speed and, of course, if they are willing to.

I would err on the side of keeping things as they are at the moment and seeing if the non-Factom Inc core developers could self-organize for now before introducing another person/layer into the mix. This is especially true as we don't know how many of the core dev grants will actually be approved at this point and several of the core developers (Paul Bernier and Adam, e.g.) will also be busy with FAT, so they will not be working on core dev full-time. We will most likely end up with ~3 non-Factom Inc FTEs working on the protocol in the next 3 months. All of those are experienced engineers that I strongly believe should be able to coordinate without a PM in these initial stages.
 
Secured
#10
@Matt Osborne
The role is a facilitating role, not a directive role. The person should provide the resources for all the team members to better coordinate their work. Tools like Jira, etc. where a backlog of task is kept. The team must decide what to work on and must pick their tasks themselves. It's like the Scrum Master role for a development team.

The scrum master is the team role responsible for ensuring the team lives agile values and principles and follows the processes and practices that the team agreed they would use.
The responsibilities of this role include:
  • Clearing obstacles
    • Establishing an environment where the team can be effective
    • Addressing team dynamics
    • Ensuring a good relationship between the team and product owner as well as others outside the team
    • Protecting the team from outside interruptions and distractions.
The scrum master role was created as part of the Scrum framework. The name was initially intended to indicate someone who is an expert at Scrum and can therefore coach others.
The role does not generally have any actual authority. People filling this role have to lead from a position of influence, often taking a servant-leadership stance.

I hope this clarifies our thinking.
 
Last edited:
Secured
#11
@Valentin Ganev

As you can see from the previous post, this must definitely be a person
  • with a lot of tact.
  • a facilitator, not a director. He/she must be seen as "non-partisan", above the parties.
  • able to have the team 'play' together.
  • have a lot of experience in order to earn the respect of the team members and other stakeholders.
As to how quick we can find this person: I believe finding the right person is more important than speed. Having said that, the longer we wait, the later that the coordination will be in place. This thing takes time and better to have this sooner than later.

As to the selection process: we intend to make that an open process. All the core developers, including Factom, Inc. must be on board for hiring someone: they must be able to work with this person.

As to Factom Inc. providing this function: I have no problem with that. If they will provide the systems and processes and with the responsibilities in the previous post, I'll be happy with that too. But in the intrest of decentralizing the core development, I think it would be better if someone else than Factom Inc. would have this task.

The cost for this grant will be reported transparently and any funds left-over (due to a later hiring or else) will be reported or carried over to a follow-up grant.
 
Secured
#12
I agree that if we are going to throw our grant pool behind multiple core devs from the community - then a small grant to coordinate it all is obvious.

Especially, helping to compose or organise lessons learned, that can be re-used over and over in the future for newcomers, hackathons, protocol website etc.
 
Secured
#13
Hi, Thank you for your grant application.

This is a generic question I am asking of most ANO applicants:

Assuming the grant is funded please break down what will be delivered by this grant proposal funding and what will be delivered by your ANO efficiency set at 35% over the next 3 months?
 
Secured
#16
Currently Factom Inc. does quite a bit of Project Management of Core Development. I am a little curious how you feel the project manager you are bringing on is going to work with Factom Inc.? We are looking at how to open up more of our processes to outside core developers. But it might be pretty hard to insert an external project manager into a project that we have been managing for a while already. Do you see the new Project Manager as setting priorities, defining sprints, determining the road map?

And if we are trying to decentralize, how does a Project Manager help with that? This is one reason Bitcoin doesn't have a Project Manager, according to many Bitcoin Core Devs I have talked to.
 
Secured
#17
Hi @PaulSnow

No, this person would not set priorities, or defining sprints. That is the resposibility of the development team. He/she would be a facilitator, making sure the systems and processes are in place for the community of developers to use and work more effectively. I agree that the word Manager in Project Manager can have a different ring to it (like Master in Scrum Master), but these people are really just facilitators, not ‘directors’.

As to the decentralization, it is just like we are doing with the development itself. External core developers are being invited, and welcomed by Inc., to the development community. This is an important step in decentralization, also for the outside world. Appointing an external project coordinator is the same.
 
Secured
#18
Currently Factom Inc. does quite a bit of Project Management of Core Development. I am a little curious how you feel the project manager you are bringing on is going to work with Factom Inc.? We are looking at how to open up more of our processes to outside core developers. But it might be pretty hard to insert an external project manager into a project that we have been managing for a while already. Do you see the new Project Manager as setting priorities, defining sprints, determining the road map?

And if we are trying to decentralize, how does a Project Manager help with that? This is one reason Bitcoin doesn't have a Project Manager, according to many Bitcoin Core Devs I have talked to.
I agree the word manager does sound bad for the role being proposed. On the other hand you clearly state the a project manager would bring centralization, which I would agree with if it were a traditional role. On the other hand you also acknowledge Factom Inc does a lot of project management right now -> centralization ;)

And yes I get that Inc will be doing a lot of work regardless because of your knowledge of the project and this is not meant as critique. Just that we believe it is important to facilitate proper development to all parties and make sure parties work together on shared goals.
 
Secured
#19
Just that we believe it is important to facilitate proper development to all parties and make sure parties work together on shared goals.
Niels, although I liked this proposal initially, few thing are teasing my mind.

Do we really need some kind of manager/assistance for non-Inc's core developers?

1. If we have 5-10 core developers inside community (outside Inc), would not it be more convenient to let them directly communicate with each other? The point is that core developers (on my mind) have more competencies and the knowledge of the code and aims, than any hired manager/assistance, and direct communication should be better.

The second question I wanted to ask is about subordination, but Maarten already answered on it.

No, this person would not set priorities, or defining sprints. That is the resposibility of the development team.
Finalising my thoughts about this grant:

I found having a PM probably useful, but I think at first we should give a chance to the development teams to coordinate their works by themselves and set direct communication. If it fails (I don't exclude the probability of it), then we may try to bring someone on the role of PM.
 
Secured
#20
I agree the word manager does sound bad for the role being proposed. On the other hand you clearly state the a project manager would bring centralization, which I would agree with if it were a traditional role. On the other hand you also acknowledge Factom Inc does a lot of project management right now -> centralization ;)
Despite the dig on us as being centralized by doing project management, we are available for facilitation and coordination between what our developers are doing and what external developers are doing. What I am trying to figure out is what an external facilitator outside of the main stream of Factom development can really do. The main stream of development will still be at Factom Inc. for the next three months; wouldn't this role be better defined once there really is some significant external development?

And yes I get that Inc will be doing a lot of work regardless because of your knowledge of the project and this is not meant as critique. Just that we believe it is important to facilitate proper development to all parties and make sure parties work together on shared goals.
And if we need to "make sure parties are work[ing] together on shared goals," how will an external facilitator do a better job than the facilitators we already have (in Brian, Joy, Carl, @LUCIAP , @Niels Klomp , etc)?

After all, so far we only have a handful of external pull requests. We don't even really have a significant amount of external development yet. I think we might need external developers more than an external project manager at this point.
 
Last edited:
Status
Not open for further replies.