Electronic Arts Canada Inc.
The EA Forums are the central way for the company to communicate with its main customer base. The statistics on these forums is nothing to blush at. It serves 7 distinct countries, handling well over 5000 concurrent users, over 1M daily pageviews and storing a whopping 50M posts (combined). The responsiblity for the development and maintenance of this product was being transferred from the team in California to the team in British Columbia. JustPlainSimple was contracted to oversee the transfer of this responsibility, then manage the product and feature backlog going forward.
JustPlainSimple provided a team leadership and software development role to the cross-functional 6-person team. As a team, we were able to reduce the page load times to within 2 seconds, and scale the forums to handle the most popular game releases. As the forums became more popular, feature requests increased so we added a full-time QA team to oversee the testing of each release, including regression testing.
With regard to the increasing popularity of the forums, we needed to scale the system to match demand. There are no guidelines on how to scale a system, each application unique and performance is often hand-tuned. One such tuning the team performed was to implement read/write database separation, as we noticed that more customers read the forums than submitted content. We also tuned the request-response cycle of the forum software to add caching where necessary, and slim down the complexity of the business logic.
We were instrumental in transitioning the project into a monthly release schedule, including 3-week development period plus 1-week QA. The development methodology was changed so that developers were no longer stopped during the testing phase. The net result of this change meant that 30 releases were performed without rollback or major issue. The project was eventually converted into an ad-hoc release cycle (continuous delivery) as the feature requests and bugfixes decreased.
When the Digital Web Publishing team started to take on more projects, they noticed that it was taking longer for developers to familiarize themselves with the projects, maintain existing deliverables, and make the applications more efficient in Production.
JustPlainSimple was requested to provide technical leadership to a new team, the Platform team, which would provide tools and support to developers and system administrators. This team would not be bound to one project, but instead oversee the common elements in all projects and develop optimized solutions to internal teams. These solutions could come in the form of new custom-build tools or even new processes for developing and maintaining software.
Here are a few of the improvements we made for internal teams:
- created a detailed plan and training document to help teams transition from Subversion and Perforce to Git version control systems
- created a plan for teams to transition to a service-oriented architecture architecture for their websites.
- provided performance and profiling audits of various Drupal marketing websites. These audits resulted in major performance gains, which in turn reduced the required number of servers to host the websites.
- provided Web security audits and solution proposals on many public-facing marketing websites.
- developed and presented proposals for future Web platforms to deliver projects in a more time and cost-effective manner.
- investigated new ways to streamline the processes of website development and deployment.
- created automated provisioning scripts using Vagrant/Puppet to create full environments in 34 minutes without any user intervention or knowledge of product. The previous process took over 2+ hours of manual steps.
Battlefield 4 Teaser Website
The marketing team behind the Battlefield 4 game website came up with an idea for a teaser website. The only issue was that the team developing the game website had no extra time to implement the teaser website, and that the teaser needed to be finished in 9 days.
We were tasked with forming a 6-person team of highly technical, cross-functional members to create the teaser website from scratch and deploy it to Production before the deadline. Once the team formed, JustPlainSimple acted as team lead and senior developer to manage and implement the feature request backlog. Due to the compressed timeline, we opted for a modified Scrum version that produced daily sprints, where a set of feature requests were assigned to a team member every day, and at the end of the day we held an end of sprint demo. This allowed the team to quickly gather feedback from the customer and respond to change requests.
This website was created using Symfony due to its ability to build rapid prototypes. The project was able to achieve a 95% completion in 5 days.