hide

Read Next

Leading a Scrummy lifestyle: Part One

We've been using the Scrum agile development framework (or just "scrum") at Socialize since early this year.  Hats off to Jason, our VP of Engineering, for really championing it and to Sean and Isaac for implementing it with the developers.  Our workflow is to use Basecamp to discuss ideas (Basecamp is like Democracy: it's not great, but it's the best thing out there -- you can read my rants & raves about Basecamp here), then Github for issues & code repository, and Pivotal Tracker to manage our dev process.  We do fast iteration cycles with one-week sprints, planning meetings every Monday and daily stand-ups to reconnect.

I'll explain what all that means below, if you don't already know, but here's the point of this blog post:  Scrum has worked so well on the dev side -- what if it was possible to implement scrum across an entire company, including its non-development components like user acquisition, sales, even accounting, HR & finance?

We decided to find out.  I'm going to write a series of blog posts with our experience implementing Scrum throughout our company, with a focus on the non-development parts of the organization, as I haven't really seen other companies do this yet.  I figure this is a good opportunity to share our knowledge and learn from yours, so please post your experiences with Scrum, agile and general, and other workflow approaches in the comments.

In this first blog, I'll talk about what scrum is (at least to me) and show you a video of Jeremia, our developer evangelist, and Christine, our wordsmithstress, discussing the pro's & con's of implementing scrum in the user acquisition department (the first non-dev team we decided to test it with).

There are individuals within our organization that know scrum way better than I do because they're using it every day -- Jason, Sean, Isaac and our incredible developers, for example, and I'll invite their comments.   Our goal is to institutionalize this agile mentality throughout the company.

We've been using the Scrum agile development framework (or just "scrum") at Socialize since early this year.  Hats off to Jason, our VP of Engineering, for really championing it and to Sean and Isaac for implementing it with the developers.  Our workflow is to use Basecamp to discuss ideas (Basecamp is like Democracy: it's not great, but it's the best thing out there -- you can read my rants & raves about Basecamp here), then Github for issues & code repository, and Pivotal Tracker to manage our dev process.  We do fast iteration cycles with one-week sprints, planning meetings every Monday and daily stand-ups to reconnect. I'll explain what all that means below, if you don't already know, but here's the point of this blog post:  Scrum has worked so well on the dev side -- what if it was possible to implement scrum across an entire company, including its non-development components like user acquisition, sales, even accounting, HR & finance? We decided to find out.  I'm going to write a series of blog posts with our experience implementing Scrum throughout our company, with a focus on the non-development parts of the organization, as I haven't really seen other companies do this yet.  I figure this is a good opportunity to share our knowledge and learn from yours, so please post your experiences with Scrum, agile and general, and other workflow approaches in the comments. In this first blog, I'll talk about what scrum is (at least to me) and show you a video of Jeremia, our developer evangelist, and Christine, our wordsmithstress, discussing the pro's & con's of implementing scrum in the user acquisition department (the first non-dev team we decided to test it with). There are individuals within our organization that know scrum way better than I do because they're using it every day -- Jason, Sean, Isaac and our incredible developers, for example, and I'll invite their comments.   Our goal is to institutionalize this agile mentality throughout the company. So what is scrum, really?   To me it's simply a way of thinking about getting things done.  There are traditional development models like waterfall development, which (like a waterfall) takes a staged, or phased approach to development.  I'm going to abstract "development" into "workflow" for the purposes of this blog, since we're talking about using these models in a larger sense throughout the company's divisions. The magic of scrum is that it takes time out of the equation.  Or to put it another way, assuming you have employees that are dedicated and are working hard, things take as long as they take.  You're not doing anyone any favors by setting arbitrary deadlines.  "This project needs to be finished by Friday" or "This deliverable is due in 60 days" cause way more problems than they solve.  When the team inevitably misses the goals, everyone is disappointed -- the goal setters blame those responsible for stepping up to an arbitrary date, and the implementers resent having a date put on them that didn't reflect reality. The scrum attitude is that things take as long as they take, so the best thing to do is embrace that reality and instead of setting deliverable-based goals, instead focus on prioritizing everyone's time effectively so the most important and value-added items are being worked on first. It's a very simple but monumental shift in thought.  Things take as long as they take.  Focus on what matters. Here's a video of Jeremia & Christine talking about implementing scrum in the UA department.  In the next blog, I'll discuss some of the difficulties we've had implementing scrum in a non-development environment. >

A peek into startup infrastructure-- what goes on back there anyway?!

Tody I moderated a discussion today with Socialize executive team members Jason Polites, Isaac Mosquera and Sean Shadmand about how Socialize has created an infrastructure that supports over 7 million API requests per day, 2.5 million social actions (now creating over 1 million new actions per month), 100,000 new users per day, over 7,000 SDK downloads, thousands of live iOS and Android apps running Socialize, all doubling monthly.

I have been getting requests from many companies of all sizes asking how Socialize has built and scaled a large infrastructure with just an 8 person engineering team.  Other startups interested in offering APIs and SDKs have wanted to know what we've learned and what pitfalls to avoid, and larger, progressive Fortune 1000 companies have been interested in re-working their infrastructure to be more scalable and efficient.

A partner at Accenture recently told me that I should share some of the secret sauce for other companies to learn from.  The Socialize team believes in being as open as possible with non-proprietary knowledge sharing, to help others benefit from what we've learned, and in turn to be able to learn from others as well.

Socialize has created a drop-in social platform that greatly boosts mobile app installs and engagement. If you don't yet know what Socialize does, you may want to learn more about that here before watching this infrastructure talk.

Tody I moderated a discussion today with Socialize executive team members Jason Polites, Isaac Mosquera and Sean Shadmand about how Socialize has created an infrastructure that supports over 7 million API requests per day, 2.5 million social actions (now creating over 1 million new actions per month), 100,000 new users per day, over 7,000 SDK downloads, thousands of live iOS and Android apps running Socialize, all doubling monthly. I have been getting requests from many companies of all sizes asking how Socialize has built and scaled a large infrastructure with just an 8 person engineering team.  Other startups interested in offering APIs and SDKs have wanted to know what we've learned and what pitfalls to avoid, and larger, progressive Fortune 1000 companies have been interested in re-working their infrastructure to be more scalable and efficient. A partner at Accenture recently told me that I should share some of the secret sauce for other companies to learn from.  The Socialize team believes in being as open as possible with non-proprietary knowledge sharing, to help others benefit from what we've learned, and in turn to be able to learn from others as well. Socialize has created a drop-in social platform that greatly boosts mobile app installs and engagement. If you don't yet know what Socialize does, you may want to learn more about that here before watching this infrastructure talk. Here's the video, with a summary of the discussion points below: > In this 45 minute discussion, the Socialize executive team discusses: How Socialize approaches infrastructure from the perspectives of process and business logic How teams of one to two employees each for API, iOS SDK, Android SDK, Web and QA work together to create a modularized API infrastructure How Socialize teams use APIs to communicate internally within the company to create accountability, efficiency and speed Best practices in segmenting internal teams around APIs, including integration testing, unit testing, minimizing distraction and documentation How to then break APIs up into products which can be exposed beyond the company internally, and how each API has its own Pivotal Tracker, Github issue tracking, Sphinx auto-generated documentation and change-request systems How Socialize treats internal teams as customers of each other, and uses that approach to define and refine the scope of the product, and limits feature creep How the SDK team becomes the 'head of the product,' scoping and defining functionality back into the company as one of the teams The value of hardlining, staying away from perfecting an unreleased API, and getting good at creating a plan to deal with grwoth Using a specific approach to scrum Socialize calls "short-cycle scrum" and tools like Basecamp, Google Docs and Pivotal Tracker  to manage situation which often come up, such as capturing and implementing ideas from employees and customers in a structured, productive way, how to stay away from premature design discussions, and how to innovate asynchronously. How short-cycle scrum allows each team member to be a product lead within their team, Taking full advantage of Amazon services for databases, redundancy, queueing, hosting, scalability, load balancing, all done programmatically, which allows for spooling up of infrastructure literally in minutes The benefits of agile development methodologies, and specifically scrum, for those who haven't already used it for development, and how to trust scrum even though it is counter intuitive to remove dates from projects The importance and value of prioritization of focus, and how we use these methodologies to do that, and make the less important things fall away How Socialize is breaking up the Socialize action bar into modular components How on a micro level, within the code base, the Socialize SDK communicates across the stack using the same type of modular infrastructure Socialize employs as a company at a macro level Best practices around continuous integration with TeamCity, code coverage and testing, using GetSatisfaction for support, and how this approach makes support easy How Socialize has implemented Splunk not just for log monitoring, but also at the application level for business intelligence, reporting and alerting, and even exposing Splunk data to Socialize clients

Rendering New Theme...