Back to posts

One month into development cycles.. How is it going?

One month into development cycles.. How is it going?
Tommerty

Tommerty

Updated on 15th Mar, 2024

For those not keeping up with the lore, a few days into the beta we discussed about going into a "cycle" based launch for updates and tweaks. This was our first time going into something like this, and I've some thoughts on the matter as the proclaimed "project manager"..

What are cycles?

So a development cycle is basically we only launch every X amount of days/weeks, similar to sprints in agile development. According to Linear, the definition is:

Focus your team priorities over a set period of time. Like sprints, cycles group work by time to keep up your team’s momentum. Unlike sprints, cycles are not tied to releases. A familiar workflow, refined to create healthy routines and focus teams on what work should happen next.

So basically there's a deadline every two weeks, and we just grind out as much as possible to get it what we can done. Anything not completed is moved over to the next cycle.

The good

It's really helped us align and prioritise certain issues. We have a project board where we track every feature request, bug, and improvement. 

It's also really helped us with our release notes and changelog. We can see everything that's come out, and manage our notes accordingly.

A main good it provides is also helping us let you guys know when something is coming! Each Cycle we prioritize some major features (usually one or two) and then for the remaining time we focus on little things like UI improvements, small tweaks, problems from the previous release, etc.

The bad

With a deadline set, it creates urgency. This release for example (v0.1.13) has been a little rough and caused some burnout. There's something mentally draining about taking an issue and clicking the "move to next cycle" button, and with our list of feature requests ever growing, this gets worse.

We're now finding ourselves pushed at the end of every cycle to complete what we want to do, and holding a new feature hostage for a few weeks because there's something else that isn't ready yet. And that's just not fair in my opinion.

For example, we've had custom pages ready for about two weeks, but not released the update yet because there's some issues like new blocks for latest YouTube video and an email block not ready.

Why can't we release custom pages even though they're ready? Because we put an artificial barrier on it.

The solution

Let's break down these artificial walls we've built. Our community is very understanding in our progress. Some things take weeks, some things take hours. And these things are likely unrelated, so why set a "2 week window" on something.

Here's the plan:

  • When something is finished, we release it
  • We go back to choosing what gets done when
  • If something takes a bit more time to be done, it's likely not as important as other things on the list of things we need to do

The important thing to remember is that we're just two dudes writing the code. With Trent tacking the backend and functionality and myself building the UI for it to come together, there's only so much we can do, especially as Doras isn't our "job", but a project. We both work real jobs, study in school, and do other things and I know you guys know that.

What does this mean for future releases?

  • Less time between updates for the most part
  • Releases are likely based on specific features, rather than a group of things
  • Not every release with have a specific version and notice in the changelog. Only things that we feel warrant it!

We'll try this out over the next few weeks, and that gives us exposure to two methodologies of releasing (cycle releases vs continuous integration releases) and we'll see what we find best, and what you guys think (if you even notice!)

Much love and appreciation as always ❤️

Enjoy this post?

Share it to help others find it!