Thoughts on Technical Project Management and Its Intersection with Blockchain's Disruptive Potential

Yearly Archives: 2017

Here’s What I’ve Been Doing in the Blockchain World

Published July 31, 2017 in Technical Project Management - 0 Comments

​I wrote an article earlier this year about the need for project managers in the blockchain space. I've started to do quite a bit of work in the space since then.

Here are some highlights -

1 - I'm the volunteer project manager for the Ethereum Name Service.

2 - I'm helping a high-profile crypto project, with a > $100 million market cap, develop their go-to-market strategy.

3 - I'm advising the founder of a promising crypto-project as he gets the project off the ground w/his co-founders.

4 - I follow the blockchain space very closely. I've contributed to early stage projects that have rewarded my contributions with tokens.

5 - I maintain a running Bitcoin P/E ratio chart.

6 - I'm doing business development, client management and project management work with a well-respected blockchain consultancy.

I also attended Consensus and the Token Summit earlier this year. Here's an article I wrote about my key Token Summit takeaway.

All these activities have taken some time away from the blog. Stay tuned as I continue writing about project management and blockchain. Like the blockchain world, this blog's an evolution.

I'm feeling excited to see where both of them go!

P.S. - Want to talk blockchain? Drop me a line here if you do!

Bitcoin Price to Earnings (P/E) Ratio Chart

Published June 14, 2017 in Experimental - 0 Comments

I first came across the bitcoin P/E ratio at the 2017 Token Summit. Chris Burniske of ARC Capital shared a slide which displayed a static version of it. He said he’d loved to see someone built it.

So I built it -

It’s a dynamically updating bitcoin price-to-earnings (P/E) ratio chart. The chart updates a rolling Bitcoin P/E ratio every 2 days. It uses data from blockchain.info.

Many thanks to Chris Burniske for sharing the idea at the 2017 Token Summit. All credit goes to Woobull since he first conceived it.​

Woobull's original Tweet about the Blockchain P/E ratio is here. This is Chris' talk at the 2017 Token Summit.

This post is a work in progress. I'll update it again as soon as I get some WordPress issues sorted out 😉 I also plan to add P/E ratios of other cryptoassets, as Chris suggests here.

Follow me on Twitter so you don't miss any updates.

And here's the embed code -

<iframe width="920" height="420" src="https://bitcoin-pe-ratio.herokuapp.com"></iframe>

P.S. — Need to buy bitcoin with USD? Click this link to use my Coinbase referral code to get a $10 bonus.

Would You Like Your Own buytokenswith.eth Subdomain?

Published June 1, 2017 in Experimental - 0 Comments

The Ethereum Name Service (ENS) replaces complicated Ethereum addresses with easy to use Ethereum names. I’m feeling excited for ENS’ potential to make Ethereum easier for more people to use.

I won the Ethereum Name Service (ENS) auction for buytokenswith.eth. I’m thinking about offering custom subdomains on it.

Example Use Cases​

Here are some use cases I’m considering -

[Names in brackets are placeholders.]

[yourname].buytokenswith.eth

This example could make it easier for an individual to buy and sell tokens.

[companyname].buytokenswith.eth

This example could make it easier for a company to buy and sell tokens.

[tokenauction].buytokenswith.eth

This example could make it easier for a token issuer to sell tokens. (Although they don’t seem to need help with this at the moment!)

[tokenamount.tokenname].buytokenswith.eth

This example could make it easier for an individual or company to buy or sell a specific amount of a specific token.

Sound Interesting?

I’m not sure how this would work yet. I’d like to gauge interest in the idea, before investing more time and resources figuring out the details.

Please submit your email address below if you’re interested in the idea. I'll only email you with updates about buytokenswith.eth subdomains.

You can also contact me here with feedback or questions about the idea.

Tags: blockchain , ens , ethereum

Here’s Why Planning is the Most Important Project Phase

I organize projects into four high-level phases. Doing this provides a simple and consistent frame of reference for everyone involved in the project. The first phase, Planning/Initiation, is the most important project phase.

The Planning/Initiation phase sets the foundation for the other phases. It’s often overlooked in the excitement and urgency inherent to launching a new project.

Here are the major activities in the Planning/Initiation phase -

-Develop client requirements

A project's dead in the water without these.​

-Present/align/iterate/confirm client requirements and expectations

This is a critical step. The excitement and urgency of getting a project moving causes this step to get skipped a lot.

-​Determine/assign required resources

You need to know who’s doing what.

-​Develop plan

This will be the roadmap for the project. Adjustments will be necessary to keep the project synchronized over its lifecycle. The best plans need to be flexible, since it’s impossible know what’s going to happen in “real life”, when a project starts.

-​Confirm plan with client

Again, this is another critical step that’s often overlooked. Do what it takes to get your client’s attention long enough to confirm the plan with them.

-Agree to a process to introduce and implement changes to the original plan, as required​

The best plans need to be flexible, since it’s impossible know what’s going to happen in “real life”, when a project starts. This step introduces the possibility of change early and reduces resistance to change later in the project.

Don’t skip the Planning/Initiation stage of your project. Don’t let your client convince you to, either.

The project will have a much greater chance at success when this phase happens. You and your stakeholders will be happier as a result.

P.S. Planning/Initiation is the first of my four dead simple project phases. Read this post to learn about all four phases.

[Updated — The ENS Relaunch was a Success!] How a Project Manager Can Help the Ethereum Name Service Launch Succeed This Time

Published March 23, 2017 in Technical Project Management - 1 Comment
Timeline from Nick Johnson’s Postmortem

How a Project Manager Can Help the ENS Launch Succeed This Time

The first attempt to Launch the Ethereum Name Service (ENS) failed. Here’s how a project manager can make the next try successful.

The Ethernet Name Service (ENS) launched for a short time on March 14, 2017. The ENS community discovered two major security flaws shortly after launch. The team and community behind ENS decided to roll back the launch and try again.

Updated — I joined Nick Johnson and Alex Van de Sande on the ENS team shortly after the first launch attempt, to help with the relaunch. The relaunch was a success!

You can find the latest ENS news here.

I give the team a lot of credit for — 

  • Trying to launch the service in the first place
  • Getting the project to launch
  • Having the awareness to acknowledge problems and address them
  • Making the hard decision to pull back and try again
  • Their transparency in acknowledging what didn’t work and why
  • Their commitment to getting it right, by trying again

You can read about how things unfolded and security flaw details in -

Like Nick’s approach, I hope this post identifies places where a blockchain project manager can help projects like this succeed. It’s not intended to criticize, point fingers or place blame, AT ALL!

It’s also my offer to donate some of my time to provide project management oversight for the project!

(Nick Johnson, if you read this, let me know if you’d like to take me up on the offer.)

How a Blockchain Project Manager Help the ENS Launch Succeed this Time

I’ve written a post about the value project managers can contribute to blockchain projects. This post is a case study to that earlier thesis about the need for blockchain project managers to manage blockchain projects.

This rest of this post -

1 — Lists the causes and issues mentioned by Johnson and Maurelian

Nick Johnson and Maurelian identified many of the same causes and issues in their post-mortems. Each also identified other issues. This post focuses on the issues mentioned by both of them, for the sake of brevity.

2 — Describes how a blockchain project manager could have helped prevent each cause and issue.

Spoiler Alert — The Takeaway

Technical people develop technical solutions to difficult problems. That’s what they do. That’s what they want to do.

What’s missing is someone keeping an eye on the big picture to -

  • Identify issues before they become problems
  • Coordinate resources, making sure there are enough and guiding them to where they can be most effective
  • Gracefully slow down the project, only long enough to help everyone pick up their heads, adjust the end goal as needed and stay synchronized toward the agreed-to end goal
  • Do the work developers don’t want to do, e.g. document the project, coordinate audits, confirm thoroughness of plans, develop contingency plans etc

A blockchain project manager keeps an eye on the big picture. Keep reading for more detail.

(You can also contact me to discuss how I can make your blockchain project a success.)

Causes and Issues

Issue 1 — Incomplete Test Coverage

Johnson — Although the registrar had a suite of unit tests, this testing was not comprehensive. The unit tests were written after the contract by a different author. No concerted effort was made to ensure that all code paths or use cases were thoroughly covered.

Maurelian — Both of the issues uncovered could have been caught with tests to verify proper behaviour of the registrar. The behaviours which the issues enabled were not edge cases, but rather specifically prohibited…only 13…tests were on the Registrar contract, which has at least as many methods and many more requirements than that.

A blockchain project manager could(’ve) help(ed) by making sure the unit tests covered all code paths or use-cases by -

  • Developing a checklist of code paths and use-cases
  • Coordinating resources to execute the unit tests
  • Consolidating the results
  • Coordinate issue resolution

Issue 2 — No Formal and Independent Audit

Johnson — No independent, comprehensive audit was done.

Maurelian — There was no formal audit. There is unfortunately no single document summarizing what review was done, and what was found.

A blockchain project manager could(’ve) help(ed) by — 

  • Running the process to select an independent third party to conduct a formal audit
  • Acting as the liaison between the development and audit teams
  • Developing the review summary document

Issue 3 — Insufficient Code Review

Johnson -The changes to the contract that introduced the bugs were subject to review in a Pull Request, but the review did not catch the bugs. In future, more care is needed when reviewing changes to critical code to ensure reversions aren’t accidentally introduced.

Maurelian — (Referred to this issue as thrashing.) It’s nearly impossible to audit an evolving code base…Many changes were made between the Ropsten launch, and the live net launch…I actually looked at the commit that introduced these issues, but it’s a large contract…the effort required to…understand the full implications of the change felt onerous.

A blockchain project manager could(’ve) help(ed) by maintaining documentation that would make it -

  • Faster and easier to identify changes between commits.

Which would -

  • Make change implications feel less onerous to developers, who are already time-limited, allowing them to be more comfortable conducting code reviews.

A blockchain project manager could(’ve) also help(ed) coordinate more resources to conduct code reviews.

Issue 4 — No Official Bug Bounty

Johnson — A good bug bounty has…real value up for grabs…this is hard to do on a test net, where the tokens have no value, and stuff is expected not to work…WeiFund’s live net bug bounty, which held over 200,000 USD worth of real value in deployed contract, is a good counter-example. Blockchains present an interesting opportunity for a “natural bug bounty”, we as contract developers should be taking advantage of this.

Maurelian — No clear indication was provided to the community as to whether ENS was covered by the Ethereum Foundation’s bug bounty process. Had it been announced that ENS was covered, more attention would likely have been directed towards the code at an earlier stage in the process, resulting in the bugs being found at a stage where they could be easily remedied without affecting the launch.

A blockchain project manager could’ve helped by coordinating — 

  • Development of a Wei-Fund-like bug-bounty.
  • Alternative motivational programs, to encourage others to take part in the bug-bounty process.
  • Communicating a bug-bounty marketing plan.

Issue 5 — Incident response planning

(This one was only mentioned by Maurelian. I thought it was worth a mention, since a blockchain project manager could play a very valuable role here.)

Maurelian — …but bugs were always a possibility, so the need to delay should always be considered in advance. A common approach is to have a play book, basically, “if X happens, we will do Y”. I think that the reaction so far has been suitably transparent and proactive, but would have been better organized if the decisions had been made beforehand.

A blockchain project manager could(’ve) help(ed) by — 

  • Developing the play book.
  • Managing responses during implementation, according to the agreed-to playbook guidelines.

Here’s the Takeaway — Again!

I figured a repeat of the take away’s in order, if you read this entire post. And thanks for reading if you did!

Technical people develop technical solutions to difficult problems. That’s what they do. That’s what they want to do.

What’s missing is someone keeping an eye on the big picture to -

  • Identify issues before they become problems
  • Coordinate resources, making sure there are enough and guiding them to where they can be most effective
  • Gracefully slow down the project, only long enough to help everyone pick up their heads, adjust the end goal as needed and stay synchronized toward the agreed-to end goal
  • Do the work developers don’t want to do, e.g. document the project, coordinate audits, confirm thoroughness of plans, develop contingency plans etc

A blockchain project manager keeps an eye on the big picture.

P.S. — Working on a blockchain project? Contact me to discuss how I can help make your blockchain project a success.

Here’s Why Your Project Needs a Blockchain Project Manager

Published March 13, 2017 in Technical Project Management - 1 Comment
blockchain project manager

You're a brilliant blockchain developer. You're excited about the potential blockchain offers your clients. Your clients are excited about the potential blockchain offers their businesses. They've hired you to help them realize that potential.  Here's why you need a blockchain project manager to make that happen.

You're both excited. You sign the contract. You and your team puts your collective head down. You do what you do well. You start coding. That's what the client's paid you to do, right?

You work through nights to hit deadlines. You tell your client's everything's looking good.You start to feel a disconnect between you and your client. You start to get frustrated. They start to get frustrated.

The initial excitement you both shared turns into frustration. You hesitate to contact them, since the conversations are getting tense. Instead, you put your head down and code more. That's going to fix the problem, you think.

What you're building digresses from what the the client wants. The frustrations builds. The tension does too.Timelines get stretched. Budgets get stressed. You keep working and your profit margin keeps shrinking. The client's budget keeps growing. They start wondering if they hired the right person. They start wondering if this whole blockchain thing is only smoke and mirrors.

Why is this happening?

You Don't Have a Blockchain Project Manager​

You don't have anyone managing the project or client expectations. You're doing what you're good at. You're coding away.

The trouble is, it's hard to see the big picture at the same time. It's not your fault. It's not where you're hired to focus. Your focus is solving difficult problems with creative technology solutions. That's what you do well. That's why clients hire you.

This is a major reason what you build diverges from what the client needs. Another one is that clients, especially with an emerging technology like blockchain, need you to tell them what they need. Some clients need you to tell them a lot, others less. But they all need at least a little guidance.

This means aligning expectations is a critical function. It needs to happen at the beginning of a project, when everything's looking rosy.

Expectations needs to stay aligned during the project. Sometimes this means the conversations become a little uncomfortable. Having the uncomfortable conversations throughout makes the really uncomfortable conversations less likely to be necessary.

The comfortable thing to do is write more code. The uncomfortable thing is to have the uncomfortable conversation. Doing the comfortable thing in this case causes expectations to diverge even more.

This is why your blockchain project needs a project manager. This person will manage the alignment process. They'll keep your work aligned with client expectations. This will let you focus on what you do well, while ensuring the client's expectations get met.

A Blockchain Project Manager​ Makes Everyone Happy

Having a dedicated project manager in this role reduces frustration. This person will manage frustration skillfully when it does arise, since it will still arise here and there. A blockchain project manager will help make your project successful.

Everyone will be happier as a result. The client will realize the value of blockchain. You'll enjoy the satisfaction that delivering a creative solution for a happy client provides.

This is why your blockchain project needs a blockchain project manger.

Convinced?

Are you convinced a blockchain project manager can make your project successful? I'd be happy to manage your blockchain project. I'd also be glad to get your existing blockchain project back on track, if it's already gone awry.

Either way, contact me and let's talk!​

Not Convinced Yet?

Still want to go it alone, without a blockchain project manager?

Please at least read how I manage critical client expectations and try and do the same for your project. If you're able to do this, while still doing what you do best, you'll save yourself trouble down the road.

(Photo credit Bogden Dada via Unsplash.)

This is the Template I Use to Align Critical Client Expectations

Published February 16, 2017 in Freelancing - 0 Comments
align critical client expectations

Aligning client expectations at the beginning of a project is the key to their happiness and yours. Availability and communication expectations are two of the most important to align.

It's important for clients to know when and how they can reach you. It's also important for them to know when they can't.

And it's OK that they can't sometimes. I agree with Jason Fried, CEO of 37Signals, that sometimes work can wait

If you’ve used a modern chat, collaboration, or messaging app, you’ve probably noticed that there’s a growing expectation of being available all the time. Someone at work hits you up on a Saturday, you get the notification, and what are you supposed to do? You could ignore them, but what’s the expectation? The expectation is “if you’re reachable, you should reply.” And if you don’t reply, you’ll likely notice another message from the same tool or a tool switch to try to reach you another way. And then the pressure really mounts to reply. On a Saturday. Or at 9pm on a Wednesday. Or some other time when it’s life time, not work time.

…We believe Work Can Wait is an important notion. 9pm on Friday night is not work time. 6am on Wednesday morning is not work time. It may be for you, but it’s not for me. And I don’t want it to be work time for my employees either.

Jason Fried 
CEO, 37Signals

(My gratitude to Ian Patrick Hines for pulling out this version of Jason's quote in his post about fostering a healthy work culture in a client services business.)

Here's the template I use to set align my clients' expectations. I send a version of it to each new client I work with, at the start of our first project -

I find it helpful to set availability and communication expectations with new clients and partners. Here are a few notes about my availability and communication style.

I've learned these guidelines enable -

-You to do your work with minimal disruption and distraction, while not having to worry about what you hired me to do

-Me to perform at my best for clients

-A successful collaboration and project delivery

General -

A big reason I freelance is to maintain a healthy work/life balance. I have a strong appreciation for balancing hard work and well-being. This balance enables me to bring sustainable high performance to the work I do.

You can read more about this approach on my blog. 

Availability -

I'm generally available between 9A-5P US ET. I can be available outside of those hours if needed. The more advance notice given, the more likely I can be available outside that window.

Communication -

I believe in the power of asynchronous communication.

I've also learned it's important to have uninterrupted blocks of work time.

This is why I'm not tied to email or chat/IM at all times. I check email often enough to not miss key messages. I'm on chat/IM when we've scheduled a time to talk, etc.

It's also why I use Asana to manage projects. Using Asana helps us streamline our communications and keep our Inboxes clean! Hopefully most project communication happens in and through Asana.

If you need to get in touch with me right away, please text or call on [my mobile #]. I'll respond as soon as I'm able to.

(Photo credit Galen Crout via Unsplash.)

1 2 3 27