So, I spent the week-end in Berlin where we held the KDE Frameworks 6 Kickoff Sprint to start properly planning the work needed to prepare our transition from Qt5 to Qt6.
It officially started on Friday and ended on Sunday (today, as I’m typing this). To be there almost on time, I had to take an awfully early flight from Toulouse… needless to say Friday was particularly tough for me.
After settling in, hugging each other and putting the “Virtual David Faure”™ setup in place, we could start the work.
We used Friday mostly to give the overall tone for the sprint and determine the overarching goals for KDE Frameworks 6 (KF6). Indeed, when a new Qt major version is around the corner, we traditionally don’t just do a straight port to it, we also use the opportunity to improve things overall: clean up APIs, repay technical debt and so on. This is important to make this kind of extra work on a regular basis.
In the case of KF6, the overall goals are the following:
After determining those overall goals, we focused the discussion on a couple of big frameworks known to have issues in the corresponding space and started to discuss them altogether. That was a good way to take a peek at what was to come.
For that day, I had prepared some more structure to drive the work. Now that we knew the overarching goals, we still had to scrutinize as many frameworks as possible over the week-end starting from the Tier 3 section where most of the troublesome ones are.
We used the following approach: we randomly formed four teams and used a kanban board to drive the work. The work in progress column was limited to 4 items and we had a “waiting debrief” column which could reach 8 items. This way we could work in parallel as much as possible. When the “waiting debrief” was full, all the work would stop and everyone would gather for debriefing the results of what was done. This allowed to do other adjustments and give a voice to everyone while keeping those debriefing phases not too excruciating. Each time agreement was reached, a corresponding task was added on the KF6 Workboard.
Not seen in the picture here was an extra sticky not which we used as a token to know in which discussion “Virtual D4” would be involved. The system worked quite well in my opinion and we almost dealt with all the tier 3 frameworks during that day. Still… had the end of the day a couple of difficult ones were still on the board: KIO and XMLGUI. Since they would also benefit greatly from David’s input, we decided to keep them for Sunday morning when all the brains would still be fresh and do them as one team.
Sunday morning already! After an evening of frivolities, it was finally time to slain the beasts. Still, it took us the whole morning to collectively work our way towards plans for KIO and XMLGUI. With those finishing touches, our Tier 3 frameworks will be all much more orderly with clearer dependencies, they’ll also be much easier to reuse in non-desktop or non widgets contexts if applicable. I can’t wait to be there with an even stronger KDE Frameworks offering.
As you can hopefully feel from this post, we’ve been very productive! When I left we had around 200 tasks on the KF6 Workboard! Obviously this needs to be made manageable and discoverable for people wanting to join the effort, that’s why we had an extra topic inserted to tackle that problem to come. Expect some large changes in the workboard structure due to that, but I’ll make a separate post introducing it once the changes are online.
And that was basically it for me, since it was time to go home. When I left, the teams were preparing to go through the most strategic Tier 2 and Tier 1 frameworks. Obviously, I expect some interesting stuff to emerge from that work.
I’m typing this from Berlin’s Tegel airport waiting for my flight. There’s still a few of us still working in the office, but most of the event is done now.
And of course, thanks to the organizers (for their work in the shadows) and to MBition for hosting us in their awesome offices. As usual it was a pleasure to meet beloved gearheads to get work done.
Now, let’s deal with those tasks! This KF6 journey is going to be a very interesting one.