---------------
I think we can pretty much all agree that the 900lb problem with things at the current point is that there is no dedicated dev team, and there is a lack of process control/procedure. The current devs we have have done a great job getting us to this point, but they are only working part time (due to their perfectly understandable need to sustain themselves and pay their bills). We sorely need a dedicated team that can work on the core part of Mastercoin, and serve as a lynchpin over which the community ecosystem can form.
Our background
I happen to be an entrepreneur that runs a 15-20 person company (exact size fluctuates and it’s been rapidly growing lately) that both provides services and software for medium to large enterprises. My company has a demonstrable and proven history -- which I can disclose at the proper time, if this gains interest -- in developing software products for numerous Fortune 100 companies and the government, and managed services that we sell for 400-600K per year per client, with very high quality and up-time requirements, and very stringent process control (we play with the big boys). We have a dedicated dev team of 3 developers, and around 10 other engineers. We are entirely self-funded and profitable, with no debt.
I have over 18 years of professional software development experience, and have experience building and running numerous development teams (both on-site and distributed). I have written and sold software and IP that is in use by companies like Samsung, Nestle Waters, US FAA, US DOD, Cisco, etc. (the latter being an actual Cisco product that I developed for them). My business partner, with whom I have worked with for over 14 years in a variety of capacities, is a Cisco CCIE with experience as a CTO for a 1000+ person company, as well as at a number of startups. We have been watching and have both formed quite an interest in virtual currencies.
The proposal
In the interests of taking action and keeping Mastercoin at the forefront, I’m going to put forward a somewhat aggressive proposal here to the community and the board. For the right incentive (which I will get into), we will do the following:
- Hire and incubate a small dev team. Probably start with one team of 2-5, then grow. I have a highly qualified dev I could assign over full-time from my ranks immediately (as well as another one I could enlist as-needed). I am also in touch with a highly talented bitcoin developer in the community that is interested, plus we could utilize the existing mastercoin developers if they are interested (Tachikoma, zathras, etc). My company has a talented in-house recruiter as well if we need to bring in other folks. The goal is NOT to take over mastercoin development, or shut out the current developers, but to give Mastercoin that dedicated "core-team-in-a-box" it needs at least at this time, to allow it to move forward. Like I said, existing developers are welcome to join, if full-time makes sense for them.
- Dev team would utilize scrum (e.g. sprint.ly and github). I could serve as the team lead if the board and community desired. We could fold the PM that Ron is bringing on into this team, or if necessary assign one of our own existing PMs over to it.
- We take my masterdaemon I'm working on, convert zathras or tachikoma's code to python and strap it in (or use the integration with zathras’ library itself that’s already built-in), and make that the reference client. It would work just like bitcoind for bitcoin -- docs in development are at http://masterdaemon.readthedocs.org/en/latest/index.html, code is on github). Existing library development would continue as-is, but I believe the team needs a reference library/client to focus on at least for now, to avoid duplication of efforts (do not confuse this with me trying to pick favorites among the developers - the choice would be purely what makes the most technical and time sense)
- The team will focus on this client/library and other core tools first, and whatever else makes sense second.
- We would institute coding standards and QA standards, have 2-4 week dev cycles, burndown chart, community feedback procedures/policy to get and order items on the task backlog, etc.
- We would also implement the recommendations killerstorm made (in our client and working in conjunction with the other devs). I noticed the same problems he did and they are good recommendations.
- It would take probably around 3-4 weeks to get this in place if doing it full-time. I have a lot of it already done for our existing dev team.
- A separate LLC would probably be formed to do this. Team salaries could be paid for from the existing Mastercoin fund, or we may even pay our own internal guys ourselves for this initial period, if the incentive was generous enough.
- Our team would work off of the task list ordered by the community and the Mastercoin foundation members, in a democratic process. Beyond this, we would have final say over the running of our own team (as well as the people chosen). This is non-negotiable -- we need latitude to best run our team without a heap of politics -- let the performance speak for itself. However, what we work on is largely dictated by the community and board, and the Mastercoin foundation would of course be free to form a second dev team to work on complementary efforts, as they see fit. Our teams would coordinate via the PMs.
We actually specialize in getting into really messed up multi-million dollar projects/situations and getting a handle on them. I can point to several examples, with large hospital chains, commercial banks, etc. I have made all of these recommendations earlier, but it fell on deaf ears. I am bringing this up again now because I look at where this project is at, and straightening things out is something that could easily be handled with the right approach. We should have a bitcoin expert on the team, but beyond that, we can utilize developers with more commodity skillsets, since they will be building on standard interfaces such as JSON-RPC and SQL. We deal with this stuff every day, day in and day out.
What do we get out of it?
As part of doing this, we would commit to at least 6 months to 1 year of working on Mastercoin, and, upon the condition of this period being fulfilled, as well as multiple established milestones set by the community being reached during that period, our group would be entitled to some amount of MSC (and possibly BTC) from the dev MSC fund and/or JR as a reward. Depending on where things are at after this period, we can continue to move things along for much more modest pay, or collect our check and transition out of it -into the Mastercoin's foundations own dev teams and/or the community development community (which will be much more mature by that time, no doubt).
If there are any 3rd party devs on our team, a similar deal could be set up with them.
According to this link: http://mastercoin-explorer.com/addresses/15WrQhYhHts7jTMoGJ9rDCD12JuCTKy7MM
JR received around 53,000 mastercoins as a bonus alone (which, in itself is controversial to some members of the community – given he controlled the wallet he sent the funds to and thus had an arguably lower risk). Moreover, the Mastercoin dev fund will have 50-something thousand vesting on top of that. There is both ample Mastercoin and bitcoin here to carry this out and ensure that that Mastercoin retains and grows value in the long run. JR will still have way too many mastercoins () and the community gets a solid effort with a good chance of success.
As entrepreneurs, we are motivated by upside. This is risky, and I am potentially putting the health of my company up for grabs because I so believe in this idea. Thus, I want a large upside.
Benefits
The benefit from the community is clear:
- A dedicated dev team backed by individuals with proven experience is immediately formed
- The team quickly moves forward on keeping Mastercoin’s first-mover advantage
- If the team does not perform, it does not get paid
- The risk to the community is quite low (definitely much lower than the alternative of doing nothing)
- The community retains say over the order of features implemented, and the general development direction of Mastercoin
At the right time (i.e. if the board is interested in this proposal), I would be open to naming my company, and allowing the community to look us up.
-Robby