We believe that there are a lot of factors to developing software well, but we work best when there is a well structured, defined process that still allows for agile flexibility.
For most of our major custom software projects, we adopt a process we call Scrum Express. We started with the classic agile Scrum process and tweaked it over the years to only implement what we found most useful, throw out what we found unnecessary, and added our own features.
When participating in Scrum Express, it's good to discuss some of the guiding principles and philosophies. A lot of these are taking from Agile Software Development principles:
- Real software speaks louder than documentation - Documentation has a lot of built in assumptions and even when people give feedback based on documentation, it can tend to not represent how a user will truly behave when the actual software is delivered. With that in mind, it's better to deliver actual working software that user's can use rather than lots of documentation.
- Small Frequent Releases are better than waiting for the 'perfect' software - Scrum Express is built on getting real-world user feedback as soon as possible. To achieve this, releasing new features as fast as possible is favoured. This will mean releasing imperfect software frequently in the hopes of getting feedback and improving iteratively.
- Predictable Development Cycles and Patience - Scrum Express implements uninterrupted chunks of development called Sprints. Short Sprints create a predictable process that allows developers to work at their best while giving product managers good visibility on the length of time something will take to deliver. However, this does require patience that if an "urgent" request comes in, it might take until next Sprint to schedule it in.
- Stay agile - Development Sprints are meant to be uninterrupted chunks of development. However, everything outside of a Sprint is meant to be agile - which means priorities can change day to day. As new information and feedback comes in, re-prioritizing the backlog is encouraged.
How it works?
Now that you have a general idea of the philosophies that drive Scrum Express, how does it actually work on a day-to-day basis. To find out, read the following:
- Development Sprint
- How we use Trello
- Product Managers
- Project Leads (coming soon)
- Designers (coming soon)
- Developers (coming soon)
How this compares to classic Scrum
We call our process Scrum Express because we don't adhere to some of the stricter principles behind classic Scrum. Here are just a few of the things we DON'T use:
- Formal User Stories
- Sprint Burndown Charts
- Definition of Done
- Product Owner
- Scrum Master
Scrum Express wasn't really designed. It was more of an evolution of an attempt to implement classic Scrum. Overtime we stopped trying to implement every rule of Scrum and accept that what we were doing and how we were modifying the process worked for us.
That being said, Scrum Express is based on classic Scrum and a lot of its philosophies. A lot of this knowledge comes from a time way before Scrum Express was even called Scrum Express.
As such, we would like to acknowledge those who kickstarted a lot of this knowledge:
- Teldio - A lot of our founder, Casey Li's knowledge of classic Scrum came from his days working at Teldio. There he was given the opportunity to learn about Scrum, run Sprints and work with the Teldio team to tweak and refine the process. A lot of what was learned there still carries on today in Scrum Express.
- Agile Product Management with Scrum - At Teldio, Casey Li was given a book by CEO at the time, David Black. This book became the foundation for a lot of the philosophy that drives the Product Management decisions in Scrum Express. It is a short but very informative book and a lot of its teachings are used in Scrum Express. We highly recommend reading it. Buy it here
- Our clients - Our clients were and still are a huge part in helping us refine Scrum Express. They suggest new ideas and new processes and also give us the room to experiment and tweak this methodology.