Hi Opium Community.
Getting back to you with my analysis results. It took a while for me to investigate everything.
Let me go through the topics one by one.
Dropping tokens on the market
I totally understand you as holders of Opium tokens and understand how important to keep high liquidity of it.
Still, Codemotion is a classic outsourcing software development company with hired in-house developers as employees. We have an obligation to pay wages to our employees in a timely manner in FIAT.
Therefore, we’ve been transparent with you all the time, that we need to receive payments in stable coins (at least). All our invoices from the beginning of our cooperation (from Nov 21) have been represented in the United States dollars. When we posted proposals for pre-payments and payments we were always indicating the amount of Opium that is equal to the amount of the United States dollars on the posting date.
Unfortunately, we’ve never considered token exchange as an issue for the collaboration.
The very detailed estimate with breakdown, budget, and timeline was posted on the 2nd of March. Everyone had access to it and we were fully transparent from the beginning on all numbers. We received 100% approval via signal voting.
Regarding the concern about possible changes in the estimation. It’s our mistake we didn’t use IPFS to store the PDF version. Anyway, we’ve made the estimation document with full edit access for everybody so you can check the versions history and see no changes were made after March 2 (you should be logged with any google account to see versions history, it’s not visible for anonymous access, unfortunately). You can find the link to the file in this post Proposal: Support the development of community version of Opium Finance - #23 by Codemotion
Budget reports and project duration
Regarding project duration, we want to pay your attention that we have almost met our deadlines. According to the 29 of May, we had already spent 11 weeks (with included public holidays) instead of 9. We admit that the timeline was gone beyond 2 weeks, taking into account that there was some unexpected time for us with finding solutions and with consultations on the already operating Opium Finance that were tightly connected with “Oh My Opium”.
When you ask anybody about the alternative quote make sure they study the whole specification with all details to make sure they are aware of every small piece of functionality from the specs posted on the 2 March in this topic. Personally, I also like to give very optimistic numbers before digging into details. But specification stands to put everybody on the same page - what is expected and what should be delivered.
Project management hours
A good project manager takes control of a project from beginning to end, ensuring that the initiatives and goals are strategically aligned and everyone is on the same page. He is the main person who ensures and guarantees the budget and timeline fit for the project.
Eventually, we delivered the project with high quality, and we fitted into the budget and deadline, which was done successfully according to all criteria.
We admit that for some tasks there was a reallocation of resources and overspending. This was compensated by speeding up on other tasks.
Following the estimation link mentioned above, you can find described Project Management Routine (please, skip the lines with Daily client update / Client daily grooming / Sprint grooming with the client as it’s not applicable to our cooperation)
Team composition and qualification
Regarding the team composition which is shown in our proposal (attached to our first post Proposal: Support the development of community version of Opium Finance Nov 21 ) is the possible team for the project.
We started our development phase on the 28th of February. Since 3 months after posting the proposal, the development team was changed as there could be lots of reasons such as an allocation of resources on other projects. We can keep the same team in case the project starts immediately. Otherwise, we allocate similar resources.
We’ve made steps towards budget optimization during the development. This was possible thanks to the more experienced front-end developer assigned to the project.
You may notice that the time dedicated to technical management (48-64h) was almost not spent. This is due to the fact that we were able to optimize the team and not involve a much more expensive specialist there because our front-end developer has such competence. Accordingly, our front-end developer, in addition to his planned tasks, was also involved in refactoring, optimization, acceptance of work from himself and the HTML developer, and conducted a code review. Due to this, his hours of work have increased, but his rate is lower than the rate of a Tech lead.
DevOps hours (10-12h) were also taken over by our front-end developer, so we skipped the additional time of the team on onboarding and further communication with a new team member. Therefore, these hours also moved to the spent time of the main front-end developer.
Going Beyond Task Evaluation
We understand all your concerns about tracked hours, and exactly that you are confused by front-end development hours, which basically really looks like something that went beyond the original estimate. But we are open to you and ready to go through some technical issues more clearly in order to analyze them in more detail.
During the development, it turned out that this feature is not stable, we additionally added new texts and interdependencies with networks, which also tracked into this task (additional 23h). Anything small that appeared on the wOpium convert page due to edits or style conflicts was also included in this task.
My stake filtering
In the process of work, the developer found two bugs there and, accordingly, tracked them in the same task (33,5h). Also, the time for searching for staked pools is tracked here, they have not been displayed and the developer was searching for a reason, and the time for developer tests when working with pools has also gone here. The thing is that there was no separate call in the system to simply make a request and get all the pools that should appear in the My Stake section and only after testing, searching, and consultation it turn out that this data should be obtained by referring to the balance.
This includes time both for investigation and for some test work related to the deployment. And here we did not take into account many moments that were not known to us at the evaluation stage, so this task was stretched out because of the risk of working with a technology that was new to this developer. At first, the developer tried to build through the desktop app, but it didn’t work, and only then did he manage to do it through fleek.co
Yes, the time spent here really looks inefficient and we admit it. We agree that it is fairer to take part of hours (30h) as our risk because it is our fault that we did not conduct this investigation more thoroughly in the BA phase and that we spent additional time during development.
This task is also not as easy as it looks at first. There were 2 options to implement such component - slider or stepper. At different points in the implementation of the task, the team had new edits and had to rewrite some elements, as the developers changed the component several times. And of course, they made it up and changed the functionality several times. Because it was difficult to decide in which of the components all design elements can behave as they should. Ir was regarding filling in the points of the current phase, showing the correct date, showing the progress of the line, and the possibility of a slider in the mobile version of each of the phases.
Here, too, we agree that we must take out this time that the HTML developer additionally spent (20h) due to incorrect team decisions made at the beginning.
In total, the overall picture looks like some tasks really took longer than expected, and some really could have been done more efficiently like IPFS and Stepper (part of Details of pools). But this did not affect the budget negatively due to the reorganization of work on other tasks.
We deduct 50 hours of inefficient work (30 hours of front-end and 20 hours of HTML developers) which is equal to $2,150.00.
As a result, the project total amount spent of $34,607.00 is close to the original Optimistic estimate of $33,397 instead of $42,687 in a Realistic scenario.
I can’t find any critical mistake from our side.
As I mentioned previously we are a classic outsourcing company with 11 years of history with a proficient team and what is more important well-established delivery processes. We have 200+ in-house developers and delivered more than 150 projects launched live.
We guarantee and take full responsibility for the quality, budget, and timeline fit. And this approach has helped us to grow from a team of a couple to a current team of 200 people without any external funding.
I’d be happy to provide you with references to our existing long-term customers who work with us for years so you can hear direct feedback.
I’m a technical person myself and was coding for more than 8 years. And I understand that obviously, some skilled developers can do the same amount of work faster and cheaper. But the questions are: can he be trusted? can he guarantee the quality? fit in the budget? keep a timeline and properly plan his load? can he overcome accidental sick? can he just get money and do nothing? And in the case of a single developer/freelancer, you take all these risks on yourself.
You make the same choice when e.g. you make an apartment repair work - you either take all risks working with a single construction worker or you hire a trusted company with guarantees. And then you understand the value of why you are paying more.
In the case of working with a trusted company, you avoid all these risks. And when a company makes a mistake it fixes it on its own. We were very clear initially that we are not a company that is cheap or cost-cutting but we are reliable and give a guarantee.
That’s why for me as a business founder and person who keeps his word it’s strange we are facing this issue right now when previously agreed budget and estimation are reconsidered after agreed works are done.
We are focused on long-term and transparent cooperation with Opium Community that’s why if any of the community’s members want to have a call with us and discuss any questions regarding our results, we are open to it.
Additionally, we want to highlight that applying for the development of a community version of Opium Finance means that our work is going to be very transparent and evaluated by senior tech experts as you are. Such kind of cooperation is possible only when an agency has a strong development team and solidly established processes. Also, we work transparently and don’t use the “black box” or “man-in-the-middle” model as most agencies do. We publish all reports and provide access to all collaboration tools. That’s why cooperation with the community is possible for us.
As a next step, our team will send the updated report for works done.