On Sunday one of our major data centers experienced an unexpected complete power outage from 11:10pm until approximately 1:30am EST on Monday. All systems were restored normally when power to the data center was restored. However, we have continued to experience a number of residual issues with a few virtual machines as a result of this outage that have intermittently been impacting client sites. We are working around the clock to isolate and remedy the issues and will post here when we have more information.

As promised in last week’s post, we’re sharing details about system issues, outages or downtime as soon as we can after the incident occurs in order to keep our customers informed. We had a short outage this morning, so we’re posting details below:

Over the past few weeks, you may have noticed some slow response times while using CakeMail applications. We have been working very hard on optimizing the underlying technology used to provide the data to our application in order to improve response times and application speeds.

This morning’s service disruption and short outage was the result of an update designed to address this issue. Unfortunately, this change did not go as smoothly as expected and caused a brief interruption to API service and resulted in the unavailability of client sites for about 20 minutes.

While we always strive to deliver updates to the application with no (or extremely limited) downtime, it was not the case with this update. Everything is now back to normal and the application is now much more responsive.

If you continue to have issues with your CakeMail account, please get in touch with our support team.

When I was hired more than a year ago, one of the reasons was because of my knowledge of Agile management and being able to apply it on a large scale. As of today, we’ve come a long way and I felt it was time for me to share what in Agile we’ve adopted, what worked and what didn’t work.

There are a number of different methodologies in Agile like Extreme Programming and Scrum. The one we decided to adopt at CakeMail is Scrum. One thing we’ve done pretty well at CakeMail has been then adoption of Agile as the whole company was behind it. This is very important and also one of the main reasons why Agile will fail in a lot of cases. It’s very important that everyone, including the developers, the project manager and the stakeholders understand what Agile is.

Talking about roles, there are four key roles in Agile:

Team MemberThe ones who build the software. They are the ones who commit and execute the work.

Product Owner
The owner of the vision. He is the one responsible for defining and providing a clear vision to the team members.

Scrum Master The project manager. In Agile, the project manager is more a facilitator. As the team commits to the work and decide what gets done, the role of the scrum master is to make sure there is nothing blocking the team for achieving their goals.

Stakeholder The customer. They are the ones who will ultimately sign off on the project and approve budget.

At CakeMail, the developers are the team members. The company’s management team are the stakeholders. I play a hybrid role between product owner and scrum master. Although it’s not ideal to mix the two, we had to make this work mainly because of resource constraints.

Now that we’ve discussed how the roles work, the next big component of Agile is the Sprint. A sprint is basically an iteration at the end of which you need to have working software you can show to the stakeholders. At CakeMail, we have 2 weeks sprints. This is enough time to build some of the more complex features but short enough that we can learn rapidly from our mistakes. One of the things that has worked really well for us as been to define an overall goal for each sprint, like Billing or Social Media. Therefore, most of the work accomplished during the sprint is linked to that overall goal.

Some of the things we will have to improve on during the next few months include having a daily scrum meeting, doing proper sprint planning, and also doing formal sprint reviews. This hasn’t been a big issue so far for us as we are a fairly small team and mainly because we communicate very easily inside the company.

The last thing that is very important to us was the choice of the software to manage our sprint. We have been using Pivotal Tracker for the last year as it’s a very lightweight management software. It has been great so far, but we’re now looking into switching to Planbox as it offers some of the more advanced functionality our team is currently looking for.

To wrap this up, Agile as been very helpful at CakeMail because it drastically increased the performance of the development team. The one thing that is very important is that Agile is a process where you learn from your mistakes including the ones from the process itself. Learn what is working for your team and adapt to make your team more efficient.