Today, we released a new search syntax you can use to find your stories. You can use this in the search box at the top of every page, or in the filter field from an iteration. Click the "Search Options" link on search pages to bring up a dialog to help you build your search.
Here are some quick examples to get you started:
"#10" - Search for story #10
"star wars" - All stories that contains the text "star wars"
"assigned: mhughes" - All stories that are assigned to mhughes
"tag: bug" - All stories that are tagged with the bug tag
"assigned: mhughes, assigned: bob, tag: bug, star wars" - All stories that are assigned to either mhughes or bob and have the bug tag, and contain the text "star wars"
Type text into the box to search for it anywhere within the story or the comments of that story.
Example: "my search"
You can find a story by it's number by including the hash (#) symbol. Search for multiple story numbers by separating them with commas.
You can find stories assigned to someone by typing "assigned: " and their username.
Example: "assigned: mhughes"
Find stories of a particular status by typeing "status: " the the status.
Example: "status: done"
Find stories in an epic number with "epic: " and the number.
Example: "epic: 5"
You can search for stories either created or modified before or after a date.
Example: "createdafter: 2012-10-01"
Finds all stories created after October, 1st, 2012
Example: "createdbefore: 2012-10-01"
Finds all stories created before October, 1st, 2012
Example: "updatedafter: 2012-10-01"
Example: "after: 2012-10-01"
Both of these finds all stories last updated after October, 1st, 2012
Example: "updatedbefore: 2012-10-01"
Example: "before: 2012-10-01"
Both of these finds all stories last updated before October, 1st, 2012
For date format, you can use yyyy-mm-dd or mm/dd/yyyy
Example: "after: 10/1/2012"
Search for stories in a specific category with the category (or cat) keyword.
Example: "category: bug"
Example: "cat: bug"
Search for stories with a specific tag with the tag keyword.
Example: "tag: release_1"
You can separate criteria with commas to search for more than one. Internally, we do an "or" within the same criteria and an "and" between different criteria.
Example: "assigned: mhughes, status: done"
Searches for stories assigned to mhughes that are also done.
Example: "assigned: mhughes, assigned: jdoe"
Searches for stories assigned to mhughes or jdoe
Example: "assigned: mhughes, assigned: jdoe, status: done"
Searches for stories assigned to either mhughes or jdoe and that are also done.
Example: "assigned: mhughes, assigned: jdoe, star wars"
Searches for stories assigned to either mhughes or jdoe and are marked done and contain the text 'star wars'
After performing a search, you can bookmark the URL of the results page, or email it to colleagues to repeat that search at a later date.
Today, Amazon Web Services went down for several hours, taking ScrumDo down for part of that. It was a major outage that took down a significant part of the internet including giants like Reddit, Minecraft, and Foursquare. Unfortunately, for some of that time we were at the mercy of Amazon and unable to fix anything because the very tools we use in this sort of situation were also down. We apologize for the inconvenience and will be working hard in the upcoming months to come up with solutions to avoid this sort of thing.
For the technically inclined, here's what happened...
Around 1:45PM EST, ScrumDo became unavailable. We were notified and immediately began diagnosing the situation. It turns out that the load balancer (ELB) we were using was unable to contact any of our application servers. This is odd, since we host both our app servers and our DB servers in multiple Amazon availability zones to avoid exactly this sort of situation.
Our first plan of attack is to launch additional app servers. While those were starting up, we began investigating the root cause of the failures. It turned out to be a problem with the load balancer itself. We could directly access ScrumDo using arcane internal DNS names without issue. At this point, it would have been a simple matter to point our DNS for www.scrumdo.com directly at one of those app servers and be up and running.
Unfortunately, both the control panel and the command line API tools for changing DNS were not working.
At this point, we remembered that our beta site doesn't use a load balancer. We tried that, and it was working fine, so we tweeted, and made an announcement on our facebook page letting our users know. A few people successfully started using that.
Shortly after that, we were able to get the DNS for www.scrumdo.com switched over to one of our single app servers (luckily, we had spun up an oversized one earlier). This was about an hour in, but suddenly the site was accessible to some people, and after DNS changes propagated accessible to everyone.
All was fine for a few minutes, until too many people started using it. It turns out that Amazon was also having a problem with performance on their storage solution (EBS). Performance was fine for a couple users, but once a few hundred people all started hitting it at once, our search server was overwhelmed, and it caused requests to be timed out, making the site unavailable to most people again.
It took us a few minutes to figure out what was going wrong at that point. Once we did, we disabled our search server, once again restoring access for most people. At this point, ScrumDo was working, minus search.
In total, about an hour and a half of downtime. We're really frustrated by this and want to do better in the future.
We'd like to thank all of our users for being patient through this.
We recently added two new chart styles to iterations in ScrumDo. Let's take a minute to look at three charts from the same iteration to see why you might want different views of the data.
The first chart that we added was a burndown chart. The main benefit to a burndown is that it's the simplest chart you can use to see progress through a sprint. It answers the single question of "How much work is left." Looking at this chart, I'd tell a story something like this
We started our iteration, and after a couple days added a couple stories. Then, towards the end of the iteration a lot of work came together to finish off most of the work.
ScrumDo has had burn up charts since we launched. While slightly harder to read than burndown charts, they give the additional benefit of seeing how the total amount of work has changed over an iteration. This chart tells this story:
We started our iteration, and after a couple days added a couple stories. Then, towards the end of the iteration we finished a lot of work and decided to add a little bit more. We nearely completed all of the work by the end.
The stacked charts are the hardest to read, but give the most complete picture of what went on in an iteration. It lets you see how stories moved through their various statuses on their way to being complete. On this particular team, an engineer will mark a story as "Reviewing" when it's implemented, and a QA engineer will mark it done.
We started our iteration, and after a couple days added a couple stories. The engineers made steady progress and ran out of work in the last few days, so we pulled some more stories in. The QA team had a slow start, but made great progress through the end of the iteration. One story got blocked, and we were unable to resolve that by the end of the sprint.
Today, we rolled out a new extra for Basecamp. This one only supports the new version of Basecamp, and our older extra is still there for Basecamp Classic support. You can enable the extra via the extras menu in your project.
This version of the extra is far simpler to use than the previous one. To authenticate, you merely need to click a few buttons instead of tracking down an API key and entering your URL.
Please give it a try and let us know what you think.
Are you looking for a way to help your team collaborate better? They guys over at Flowdock have an interesting solution centered around a group activity feed and realtime chat. In the last update to ScrumDo, we made it easy to get the activity from ScrumDo into that activity feed. Simply head over to your Extras page for a ScrumDo project, enable the Flowdock plugin, and type in the API key that you can find on Flowdock.
Here is our Flowdock flow for ScrumDo showing a couple commits from GitHub plus a new ScrumDo story that was written: