What evidence can you share that demonstrates the impact of the engagement?
We were able to build a functioning platform that allows admins to build courses into the back end and students to take courses on the front end. In other words, Perpetual successfully implemented the underlying course creation architecture (which includes features such as multiple-choice questions, HTML, polls, videos).
However, we weren’t able to finish some of the customized features, such as a dashboard that showed students’ progress in every course, because other issues came up that the client’s internal team couldn’t fix. This was supposed to be a joint effort between Perpetual and the client’s internal team, so when the internal team didn’t have the expertise to do something, Perpetual took over. The internal team was very happy with Perpetual and voiced how they couldn’t have deployed the customized Open edX platform without them. Unfortunately, these issues significantly changed the scope of work and a lot of important features that we had originally agreed on did not get completed.
This really showed the importance of having a technical expert liaise with the product visionary (me, in this case) to prioritize development efforts and manage everyone working on the project to make sure that the most important features are implemented. The changing scope of work was communicated to the internal team but not to me, so I was caught off-guard to hear that some features wouldn’t be implemented.
How did Perpetual perform from a project management standpoint?
I met with Perpetual’s project manager once a week to review development progress. We would test new features during the call, which would last 1-2 hours.
It would have been more efficient for the project manager to have a crystal clear understanding of what we needed to accomplish so that she could test features herself rather than needing me to test over the call. She would often see the new developments for the first time when we would run through them together. Whatever gets developed will have a ton of bugs, and then those bugs need to be tested and fixed. Oftentimes, when those bugs are fixed, some new bugs will develop, which requires a constant iteration process. It would have been great if the project manager could have tested these herself and flagged issues to the dev team, and then flagged for me only the features that she believed were working accurately so that I could test and approve only those rather than me going through every feature every time and finding all sorts of new bugs.
This way, the call can be maximized so that we focus only on approving completed features and defining the next development sprints.
What did you find most impressive about them?
Their transparency was really helpful, and it was impressive how quickly they responded.
Are there any areas they could improve?
If they understand what things should look like, then they will develop it. It’s a matter of clear communication and checking in, as well as iteration. I can’t think of anything they could improve on because they have the project manager. It could be their responsibility to try and improve things, but if I were to do this over again, I would make sure there were more resources dedicated to them versus them trying to do anything different.
Do you have any advice for potential customers?
One piece of advice I would give anyone working with any development company is that they need someone with technical expertise to manage them. They are like a machine, so it’s up to the client to make sure they are doing what is needed. Clients won’t know if the product is turning out as envisioned without a ton of communication.
It’s important to know what language they are planning to use, as well as what their stack and database are. This allows visibility into whether the company or developer is going to create the project in a lean, seamless way that allows for future builds. Talk to developers who have done this before to know what key questions need to be asked, and then figure out who will go about it the best way.