Friday, October 25, 2013

Agile Strategic Planning

There was a recent internal conversation at Mozilla about quarterly goals, what they are, and who defines them. I started to reply to the conversation, but then decided that my thoughts are a bit too verbose and also best to write in the open. The following are my thoughts on how to evolve traditional strategic planning and turn it into a living process.

What Is The Problem?

I have believed for quite a few years now that most long-term detailed strategic planning fails to deliver on the original goals. I have worked at organizations where I have been locked in a room for 2-3 days to come up with an annual strategic plan and review the previous year. I often see only 20-30% or the original annual goals being met at year-end and cringe at the time invested coming up with plans for the other 70-80% that will likely never happened.

Why Are Long-Term Plans So Error-Prone?

The world changes, problems happen, and new challenges arise that were never originally planned. Every industry has different rates of innovation and those of us who work with Web or Internet technologies have one of the most volatile envionments. I like the idea of coming up with high-level annual visions of what an organization or group would like to achieve based on their mission, but strategies and tactics should be done on an iterative basis.

At Mozilla, our projects rarely fit into nice three-month pockets of time and strategic planning should not be happening only at the quarterly time period. I believe just like the iterative software development practices that many of us use to build products, we should be taking the same approach with planning. Consider sprinting (like software makers) on your strategic plans and tactics on how to achieve success (however that is defined on your team). How are you tracking? Do you need to shift to new priorities? Annual and quarterly planning still have too many variables to be completely accurate. Monthly planning is a better approach and you should be able to predict the next 4 weeks better than the next 12.

The planning sessions do not need to be extremely complex. Just review what you are going to be working on the next 2 weeks or month and ensure everyone on the team is aligned. If what you going to be working on in the near future does not align, adjust priorities, drop projects, or shift resources. On teams where you are providing services to others, this may mean saying the dreaded "no" or better yet "not now" to make sure that your team is providing solutions and services that really have impact. If you work a lot with other teams on your projects, alignment will have to be something supported across the organization.

Take Baby Steps

Think of iterative planning like driving a car down the road, you do not lock the steering wheel into a single position, put the cruise on, and hope for the best. You are actually making constant adjustments to the steering direction and pedal inputs to navigate your way through variables that are in and outside of your control.

If you are constantly planning multiple steps ahead, unknowns just seems like another bump in the road. If you are not constantly planning and adjusting, and instead relying on truths from months ago, it is a going to be a rocky road. In our industry, reality changes constantly and thus we should be always recalibrating our focus.

Planning Takes Teamwork

The trick with all of this is that so many of our teams rely on each other to do things. There are not many teams at Mozilla that can do an entire project from start to finish without relying on another team to accomplish some task. If all teams are not recalibrating and helping adjust the focus together as a sub-team or a product team, it is very easy to block each other or have conflicting goals. Also, if teams do not iteratively plan together, one disruptive project could have a "butterfly effect"-like impact on many other teams.

Unplanned work and disruptive projects are a reality of the world and while minimizing chaos is ideal, sometimes that unplanned work can have a big impact. One of the benefits of doing short-term iterative planning is that when there is an unknown factor, you can assess the situation and recalibrate. My recommendation is to be always planning and adjusting your focus if needed and if those plans line up nearly in a quarter, great, and if they do not, keep moving! 

Thursday, December 22, 2011

The Secret Sauce of Project Management

I just got back from a 3-day seminar called Turning Knowledge into Performance - A Learning Simulation, which was put on by the Project Management Institute. The seminar was part discussion, part game, and full-time engagement. This was the first training I have ever attended where you were not looking at your watch or drinking caffeine to stay awake.

A Game? Tell me more!

A basic timeline and complete requirements were already created, so the first step was to set up a kickoff meeting with the customer and stakeholders. Even though this was a simulation, I experienced much of the same politics where everyone feels their perspective is "right" and that you should listen to only them. As the virtual project manager, I was in charge of everything on the project including:
  • Hiring and releasing team members
  • Scheduling team, stakeholder, customer, and sponsor meetings
  • Populating the work breakdown structure
  • Setting the timeline for all of the major tasks
  • Monitoring the budget and allocating money to one of dozens of line items
  • Praising and disciplining the team
  • Generating reports
  • Monitoring expected completion dates and critical paths
  • Putting out fires and make sure the project is moving forward
The simulation used a typical waterfall approach and I asked if it could be done with agile methodologies, but the instructor made it clear that agile will not work. I was hoping that we could be a little less rigid in our approach, but the application was not programmed to work how we wanted it to. Our team decided to use some parts of the waterfall methodology with a sprinkle of agile, and it really paid off for us.

The seminar was 20% classroom discussion and 80% running a computer-based simulation on the building of a web-based product. The project would include hardware, software, and a virtual team of 30 people. We had a $512,000 budget and 22 weeks to launch the application.

Who attended?

There were 14 people in the seminar, and the first day started out with introductions around the room. There were a lot of people who were project or program managers for large companies like FedEx and Lockheed Martin. Many of the people in the room had fancy titles and a lot of formal project management experience. Half of the attendees were existing Project Management Professionals (PMP) and were throwing out many acronyms that are the staples of how most traditional companies run projects.

I was on a team of 3 people, and we quickly realized that we would work well together given our personalities and background. I explained that Mozilla has traditionally work well with very little process, but growth and competition are driving us to adopt best practices. It was hard for most people in the seminar to come to terms that at Mozilla we don't have personal offices, they provide free food and drinks, pets are welcome, and that many of us love our jobs. All those things seemed very foreign to many in the room.

I did feel a little out-ranked, given that many of the attendees were corporate people with seasoned background and big titles. I was the odd person with my Mac, iPhone and jeans, since most other attendees had PCs, Blackberrys, and wore dress pants. Even though I have been doing project management for nearly a decade, I have worn many hats, and it was never my only role. I remember that I was once going down the corporate-world path, but my stint in higher education and now at Mozilla has gotten me back to where I think I can be most effective and happy. I traded in my Blackberry over a year ago and will never look back!

How did your team do?

At the start of the project, we decided on the following project standards based on feedback from executive management meetings:
  • Schedule: Fixed
  • Scope: Chosen
  • Cost: Adjustable
We got feedback from the CEO of the virtual organization that the schedule was extremely important due to a competitor releasing their product in the near future. We decided keep the scope somewhat in check and adjust the cost to make sure we hit the schedule on or before the 22-weeks.

To make the project even more challenging, the simulation was programmed to introduce to random major change to the project to see how we would adapt. During week 9, executive management asked us to move our launch date back two weeks to 20 weeks total. This was halfway through our project; we had to re-adjust many of our timelines, and non-critical paths now became critical.

After the 3-day simulation, our team did really well. Of the 4 teams, we finished further ahead of schedule than anyone else, had the lowest amount of defects, and had the highest team satisfaction. Our team was pretty happy and it was a great experience.

We finished simulation with the following project metrics:
  • 1 week ahead of schedule (including the 2 week schedule compression)
  • $9,800 over budget (less than 2% of the overall budget and we expected this)
  • 82 defects (100 defects was the maximum defects)
  • Team satisfaction: high
  • Client/customer/sponsor satisfaction: high
Why did your team rock?
  • Hired the best people for the team with the most appropriate qualifications for the task
  • Scheduled two scrum-like 1/2 hour meetings every other day to remove blockers and discuss quality or schedule
  • Praised people on any sign they were doing a good job or showing effort
  • Scheduled a two-day team building event after we hired most of the people on the team
  • Limited overtime to when schedule was behind on the critical path
  • Rewarded people with gifts when they went above and beyond
  • Asked a team member who put in their resignation and who was needed on a critical path task to work an extra 20 hours his last week. We felt slightly bad about this situation, but he pulled it off perfect and kept the project on track.
  • ...and the final element of our success: We had a pizza lunches every week for everyone on the team!
In conclusion, what worked for our team and project was to hire good people, keep team moral high, and ensured transparency and clear priorities. If you have good people on your team and they know what they should be working on, you only have to make minor adjustments to the project to keep it on track.

So, what is the secret sauce?

Great People + Good Environment + Clear Direction + Free Food

What have you found that works well to keep project teams successful? Please comment below and let me know your thoughts.

Friday, August 12, 2011

How a tragic celebrity death increased my web traffic by 2,000+%

Anyone that has known me for very long knows that I have this strange obsession with the number 27. I don't commit much time to do it anymore, but I still get comments and emails from people around the world. When I was a kid I started to notice the number 27 popping up more often in my life, pop culture, and science. At first I just ignored, but I later found out I was not the only crazy person that thought they saw more then a coincidence. For about a decade now, I have been cataloging anything I can find on the number 27. I used to ranked number one on Google for common searches that included the number 27, but I lost rank when I changed my sub domain. Google's Blogger does not allow any custom 301 redirects thus all the rank accumulated at the old URLs was lost.

Before the domain name change, I was receiving 300-400 daily visitors and now I only receive 30-40 daily visitors. The 27 visitors are an extreme sub-sub culture and many of these people's stories and emails were just mind blowing. Outside of collecting 27 information, it gave me great pleasure constantly to annoy my friends with additional "number 27" sightings. The more I annoyed my friends, the more I looked. It was a strange cycle, but it was in all good fun. :-)

When Amy Winehouse seemed to be losing herself to drugs and her music career was starting to fade, I made a comment that she will more likely fall into the same fate as other notable music stars who died at age 27. When the news broke on July 23rd that she was found dead in her apartment at age 27,  I expected an immediate increase in traffic to my 27 website. Some people are aware of the "27 Club" which is a mysterious coincidence where many famous musicians all died at the age of 27. A good book to check out is called "The 27s: The Greatest Myth of Rock and Roll", which documents the deaths of 34 rock stars who all died at age 27.

Notable 27 club members:
  • Jimi Hentrix
  • Janis Joplin
  • Jim Morrison
  • Kurt Cobain
  • Brian Jones
So, how did the death of Amy Winehouse affect my 27 website?

Visitor's increased 2,500%:

How were people finding my website?

What countries where most people coming from?

How were people finding the website? Search!

I then took the traffic a step farther and created two Google Ads to drive additional traffic, which costs me $100.00. My ads appeared on websites and Google search a half million times and drove an additional 2,500 people to the 27 website.

What did I learn with this short-live traffic increase?

If you are in charge of online advertising, keep a reserve of funds available for strategic advertisements and promotions during times when you can piggy back of another event. Just be aware of the backlash and perceptions of your organization if you do not seem genuine. Case in point: When a giant orange Tide detergent truck shows up immediately after a natural disaster. Be careful finding a balance between proving a service/information and self-promotion. The ads I created for the number 27 around Amy Winehouse's death was just an experiment to see if it works and if there would be any residual search engine rank increase over time.


My rank in Google did NOT change from pre-Winehouse news numbers. Stick to building rank organically through great content, SEO, and use online advertisements to complement regular search traffic. If you rely on advertisements only, you quickly spend more money then the return you will receive from the additional traffic. If you have a large advertising budget and have the money to burn, online advertisements are a quick and dirty way to drive web traffic.

Wednesday, July 27, 2011

Joining Mozilla Firefox

A New Chapter

I am now three months into my new job (much more then a "job") at Mozilla Firefox and it is pretty much a dream come true. I had an amazing three year stint at Penn State AgSci where we went from hundreds of disparate websites to a much more cohesive web presence. While it was hard to leave my old team and my home state, this was an opportunity I could not turn down. I have always been a fan of Mozilla from an innovative perspective and also their philosophical position on the "Open Web". Regardless if you use Internet Explorer, Google Chrome, or Safari, you have to give it to Mozilla for staying true to their roots and putting users first.

I am now based out of Palo Alto, California, which is thousands of miles away from Pennsylvania -- the only state I have previously lived in. While I will miss my friends and family, I already feel more connected to the community and culture than I ever did in Pennsylvania. I don't know if it is the weather, opportunities, free spirit, or all of the above, but everyone just seems happy here. Regardless if you are in the service industry, programming web applications, or running a company, everyone gives 100% and maintains a positive attitude. It is rock stars galore in Silicon Valley!

What Am I doing At Mozilla?

This is actually more complicated, because my title is not very explicit or well known. My official title is "Sr. Web Product Engineer", but let's break it down:
  • Sr: I've been around the block a few times....
  • Web: The Web will be the heart of all my projects.
  • Product: Everything I work will be made up of many pieces that are turned into a single deliverable.
  • Engineer: A methodical approach will be used ensure high success rates.
Still unclear? Basically, think about the word "engineer", but from a project perspective. I will be engineering technical projects to make sure I have the right people, good requirements, and a solid process to keep the ball rolling. Removing roadblocks, meeting with stakeholders, and keeping momentum behind multiple projects will be the core of this position. This is a pretty long explication, so I usually just say "I manage technical projects on Mozilla's WebDev team." and leave it at that. :-)

Want to learn more about the team and how we are going to manage Web projects? Check out Ryan Snyder's blog and video from our team's presentation on April 29th, 2011.

Want To Change The World?

Dedicated individuals from around the world help make the web a better place for all of us. Get involved as a contributor, join live chats, and help create even more awesome.

Wednesday, December 1, 2010

Article: Teambox Case Study

Article Date: 12/1/2010


Penn State’s College of Agricultural Sciences need for a collaboration tool like Teambox surfaced and a project was initiated to solve several issues. Through our college strategic planning sessions with academic leaders, it was determined that the college needed to focus around five key areas. It was also decided that these areas would function like centers that pull faculty from multiple disciplines into a common team.

Read more:

Friday, November 26, 2010

How to compare multiple segments in Google Analytics without "All Visits"

If you have used Google Analytics for very long, you probably have noticed that there are a few quirks in the system that you usually just have to deal with. It is hard to compare the features and flexibility of Google Analytics (GA) to other enterprise-level tools, especially when it is "free" to use.

I use GA at Penn State's College of Agricultural Sciences to analyze our hundreds of websites. The aggregated data over that many websites provides some really amazing trends and insights. We are even able to predict the spread of some common household pests based on some of our well ranked web pages.

30-day trend for all college websites

I use Advanced Segments in GA to filter down the traffic to specific criteria that I have defined. One example that I tried recently is to create an advanced segment called "Social Media Traffic". The segment was defined to look for referring traffic from many of the top social media websites. I then wanted to compare the social media segment to the built in segment called "Mobile traffic". I wanted to see if there was a correlation between increase refers from social media websites and the use of mobile devices.

When you go to select your advanced segments, you are presented with a menu like this:

Advanced Segments menu

Next, you would normally select your second segment like so:

You can also deselect the "All Visits" segment, but you will soon see that it will not matter. Since we want to compare social media to mobile traffic, we next want to select the mobile traffic segment.

Seem perfect, right? Well, when we click "Apply", you are presented with the following graph.


If you look at this graph, you will notice that there are 3 segments now selected. "All visits", "Social Media traffic", and "Mobile traffic". In this example, we really just wanted to compare two segments. It is difficult to compare these two small segments, when the "All Visits" is overwhelming the chart.

After scratching your head, you go back up to the advanced segments drop down window to find the following:

You go to deselect the "All Visits" segment and the darn thing is grayed out! You cannot deselect it, so you are stuck with always comparing multiple segments to "All Visits". If you have a lot of aggregated traffic as I do, this is very frustrating.

So what can you do about this? Deal with it? No way! Read on to for a simple solution.

If you are a web developer, then you probably use Firefox as your default browser. If you are a web developer and use Firefox, then you surely have Firebug installed. If you don't, do it now! After you have Firebug installed and understand how to use it, return back to your "3 segment paradox" issue described above. After you open up Firebug, you will have something like the following:

What you need to do next is to display the advanced segments drop down menu. With Firebug open, click the inspect tool, and mouse over the "All Visits" check box as shown below:
Click your mouse on the "All Visits" check box, and within Firebug, it should now have the HTML input box highlighted in blue. As seen below, right click on the input element and click "Delete Element". Now, with the magic of Firebug, you have removed the "All Visits" check box from the advanced segments drop down menu!

Viola! All Visits is gone!
Now, all you need to do is to apply the advanced segments, and you will finally have what you originally wanted. A comparison between two segments!

A "hidden" trend is revealed after "All Visits" is removed.
You can do this is with other advanced segments when Google tries to step in and select the "All Visits" check box for you. Check back soon for another blog on how you can use this same method to compare more than two segments at one time.

Happy analyzing!

Friday, December 18, 2009

Blog vs Newsletter - What is the difference?

Here is the premise: you have been tasked to create a newsletter for your organization. You've traditionally created a printed publication, but now you want to go online to save printing costs. Do you create a newsletter formatted Web site or do you use a blog?

I've been asked this question many times and recently the answer has become increasingly clear. First, let's define what is a blog and newsletter. The definitions below are courtesy of Wikipedia.

A blog (A contraction of the term "web log") is a type of Web site, usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in reverse-chronological order.
A newsletter is a regularly distributed publication generally about one main topic that is of interest to its subscribers. Newspapers and leaflets are types of newsletters. General attributes of newsletters include news and upcoming events of the related organization, as well as contact information for general inquiries.
If you look at the definition of a blog and a newsletter there are not a lot of differences. Many of the differences that come to mind are because of what historically the words mean to us. Newsletters were originally printed pieces that came out on a regular schedule, usually monthly, on topics of interest to an specific audience. For organizations these newsletters range from human resources to information technology and most of us get PDF versions of newsletters with a wide array of readability and use.

What is the stigma with blogs?

The blog was one of the first Web 2.0 and social media platform. Blogs initially were given a bad name because the general public felt that it was only one person's opinion of a topic. This was true for a period of time in the early stages of Web 2.0, but is now one of the primary methods of communications between professionals. If you remove all preconceived notions about blogs, you have a simple platform to share information to an audience on a timely basis around single or multiple topics.

With today's blog tools many authors can contribute to a blog and can release a batch of "posts" on a regular schedule or release each post at a time. Tools are available to allow people to subscribe to the RSS feeds or even receive an email notification when new posts are published. Since blog entries are time based on a particular subject, they can be a helpful way to inform an audience on a timely basis.

Any benefits to a blog?

With today's technology there is not much difference between a blog and an online newsletter as a communication tool. Blogs by default are categorized or grouped by year, month and day. If you have a monthly newsletter, you could simply publish all your posts as they are completed. You could then send a link to just the blogs for that month via email or using automated method. Another benefit to using a blog format is that visitors can comment on the posts and easily share them on social networks.

Posting on a continuos cycle will also make the search engines happy because they will see content being updated regularly. When content is updated often search engines will index your site on a more frequent basis thus driving more traffic to your site by people searching on keywords.

When creating blog posts you can keep them in a private or draft state until you are ready to publish so it is not a continual stream of edits during the creation of an individual post. When creating posts you can also tag or categorize each one with simple words to allow visitors to see all posts related to a topic. For example, if a communications unit was creating a newsletter with a blog tool, you could categorize posts with topics like Web, marketing, publications, photography and so on. Visitors could look at all the posts related to a topic that specifically interests them and even beyond just the latest issue. Tagging is an important characteristic as most newsletters go out to an diverse audiences and this gives the visitor a way of creating a filter based on their interests.

At the core, a blog and a newsletter is simply a Web page. Each communication format can contain text, images, and formatting styles. The important distinction between blogs and newsletters from general Web sites is that they are time based and are for an intended audience. Blogger and WordPress are a few examples of free tools that will allow you to quickly create your online newsletter. Most content management systems can also be structured like a blog and provide many of the same Web 2.0 features.

Any common trends with newsletters online?

Historically, online newsletters are created using print publication software, like Word, and digitized into a PDF to be either emailed or placed on a Web site. Not only is this more work, but the PDF technology was not invented to present information for online reading. Creating an online newsletter using print software and PDFs may give more design freedom, but it does not benefit the consumption of the information or the ease of content creation. Online newsletters in PDF are usually created based off an author's experience with print newsletters and their comfort level with newer technologies.

Next steps

In closing, please try using a blogging tool to get your online newsletter content into a Web-friendly format that allows for easy reading and sharing with others. Once you get past the stigma of what a tradition blog is all about, you will find that a blog is simple just a tool with a wide variety of possible of uses. Blogs are one of the best tools to communicate content to an audience and is simple to create and maintain. Remember a blog is simple a Web page formatted a specific way to read content that is shared on a regular and timely basis.

Comments welcome!