We’re not moving as fast as we’d like to. Why? What can we do about it?
Two weeks ago, we had a meeting among Codidact’s leadership: leads, group leaders, and admins. It was called for a number of purposes, but principally it was because we haven’t been making enough progress and needed to find a solution.
There were, as we saw it, two options:
- Continue with C# core development and try to spur progress somehow (how?)
- Move to developing QPixel into our vision for Codidact MVP and come back to C# later.
We had a bunch of good discussion about this, including looking at ways to spur progress on C#, and ultimately it went to a vote, which came out as 5:3 QPixel:C#. @MasonWheeler and @luap42 generously volunteered to make another effort to spur progress and get us to a particular point by April 4th - today - so we adjourned to let that effort play out.
Now, it’s April 4th. We’ve seen some more progress on C# core these last two weeks, which is great, but ultimately it’s not at the point we aimed to be at by now and isn’t likely to be in a reasonably short timeframe. That makes the decision for us.
We’re going to move forward with developing QPixel to our MVP standard.
We’re doing this primarily because we think it’ll get us to MVP faster. We’re not doing this for reasons of tech choice: Rails is not better than C#, and vice versa. QPixel is further along in its development, which should mean that migrating it to use our MVP spec doesn’t take as much work as developing from scratch, because all the groundwork that we’re currently bogged down in is already done.
I’m going to be going round today talking to specific folks who are affected by this, but please rest assured we’re not throwing our progress away. This decision is intended to spark progress by building on a more active project that’s already further along, not to pull the rug out from under people.
What we’re not going to do is stop any development on C# at all. We’ve got some talented developers working on our C# solution who may not be able to switch to Ruby, and it would be a waste to leave them with nothing to do. Practically, this decision is likely to run more like running both solutions in parallel - development on C# will keep going, just with the pressure taken off, giving the team the time to make sure it gets done right.
The work our docs and design teams have been doing has helped make this decision easier: we have a solid spec and database schema, and we’re working on use cases and wireframes that solidify what we’re working towards on both projects.
If you have Ruby/Rails knowledge, or you want to learn, there’ll be a list of tasks up on the QPixel repo soon that you can get stuck into. If you have C# knowledge, you’re still more than welcome to contribute to the C# core solution. I’ll be making some lists of who’s responsible for what available soon, to make it easier to find the assistance you need to contribute.
I know this seems like a big thing out of the blue, but what we’re hoping for is not a huge change to our processes. What’s already going on will keep going; we’ve already got QPixel running communities as a stop-gap, so what we’re doing now is a simple switch from maintenance mode on QPixel to active development towards MVP.