Hello Steemians, this post is our answer to the question "When SMT?" Also, in case you haven't heard, we just tagged a release for hardfork 21! If the Witnesses approve that code by a supermajority, the Steem blockchain will hardfork on 27th of August, 2019. You can find the release notes for that hardfork here.
Based on our current estimates, we predict the SMT MVP will be complete by September 20th. This is not a hard date, but simply an estimate which we expect to change over time. The burnup is primarily intended for our internal use to better plan the medium to long term roadmap for Steemit, but we wanted to share this with you to better communicate the current status of SMTs.
We resumed work on SMTs over a month ago when the Hardfork 21 release candidate was first released and have been splitting time between SMTs and Steem 0.21.0. Last fall, when we were previously working on SMTs, we were posting weekly progress updates in the form of a burnup chart. For those that aren't familiar with a burnup chart, it plots our actual progress on top of our ideal progress.
The ideal progress is a bit of a fuzzy concept, but in AGILE methodology it requires our team to size all work needing to be done and then estimating how much of that work can be done each week. It isn't an exact science, but over the course of the project can be quite accurate in tracking and predicting our progress.
Without further ado, let's take a look at our progress.
Not Starting From Zero
This chart looks a bit different from the charts that were posted last fall, and there is a reason for that. First of all, we aren't starting at 0. Prior to the restructuring last fall, and immediate change of priorities, we had completed 129 points out of 340. The second big difference is that we are tracking two different SMT completion targets. We have also had a small amount of scope increase. These were from things that needed to get cleaned up or small stories that we had not made issues for. This accounts for an increase of 13 points. Our two targets are 279 and 353 points. The first target we are calling the SMT MVP and the second target Full SMT.
Before we restarted development on SMTs we went through all of the outstanding work to determine what was really needed to get SMTs released. If there was any fat that could be cut without harming the usefulness of SMTs, we wanted to cut it or at least delay their release so we can get SMTs out sooner. We found 74 points that fit this category, which accounts for a little over 20% of the project!
Two Targets, Two Lines
You can see both targets on the burn up chart. The red line represents the MVP target and the yellow line is the full MVP. We predict the reduction in scope will allow us to get SMTs out around five weeks earlier.
These are not features that we are permanently cutting, but ones that we are not going to complete prior to deploying a public SMT testnet. Our plan is to continue development of these features as we test publicly. They may or may not be done by the time testing is complete. If we can include them without taking a step back in testing or significantly delaying the release of SMTs, they will be included in the release. Otherwise, we are still committed to developing these features, but they will be added in a later hardfork.
So what made the cut? Or better yet, what didn't?
Technical Debt Issues
There are a few issues that were included to cleanup code to make the maintenance of the SMT code a bit easier. We decided that this is a low priority and is not required to release SMTs.
Automated Market Maker
The Market Maker system is technically involved and not required for launching or using SMTs. This was an easy feature set to cut to get SMTs out faster.
SMT NAI DNS
This is a DNS system utilizing Steemit subdomains that would allow automated and easy conversion from on-chain Numerical Asset Identifiers (NAIs). Last fall we were already planning on developing this during the SMT testnet. This system is external to the blockchain. Plans did not change at all on this feature.
As of July 29th, we had 154 points completed but were predicted to have 171 completed. It would seem that we are already behind schedule. However, we have 37 points in review currently which encompass the remaining work on the ICO feature set. It is the middle of summer and some of our developers have been taking some much needed time off.
Because of this, work was still being completed, but was not being peer reviewed. When the pending work is reviewed and merged we will have 191 points complete, which would put us 5 points ahead of schedule at the end of the week! We won't count those points until they are actually complete because the code review process has some back and forth and delays do happen. But we do expect to be back on track by the end of the week.
One crucial feature of a burnup chart is the ability to predict when a project will be complete. Based on our current estimates, we predict the SMT MVP will be complete by September 20th. This is not a hard date, but simply an estimate. If a security vulnerability is reported to us and we cannot work on SMTs for a week or the scope of the MVP increases, this will cause the date to get pushed back.
The burnup is primarily intended for our internal use to better plan the medium to long term roadmap for Steemit, but we wanted to share this with you to better communicate what the current status of SMTs is.
Not a Hardfork Date
Expect that date to slip, but it is probably going to be in the ballpark of when SMTs will actually be done. This is also not a hardfork date, but an internal date for when we send SMTs to the testnet. We are expecting a testnet cycle longer than the usual 30 days due to the size and complexity of the feature set. There are also many libraries and applications that need to be updated to be able to utilize SMTs. All of this pushes out a potential hardfork date. We will determine our recommended hardfork date only when we feel SMTs are ready to go live and our community of developers has had to time to update their software to utilize the SMT feature set.
We plan to keep providing these burnup charts in the future, so if you find them informative be sure to follow @steemitblog for these and other updates!
The Steemit Team