Friday, March 07, 2014
Thursday, March 06, 2014
Things We're Exposed to as Children that We Forget for Work
Oh Bert'n Ernie. I'd like to think that I am Bert most of the time, but I'm sure I'm guilty of being Ernie when describing the rationale for requirements to others.
If you didn't catch Harrison Ford make a reference to this with Glenn Close you need to watch Air Force One NOW. But seriously. Expectations management is hard. Scope creep is a bitch.
If you didn't catch Harrison Ford make a reference to this with Glenn Close you need to watch Air Force One NOW. But seriously. Expectations management is hard. Scope creep is a bitch.
This was the best Telephone game video that I could find on Youtube. It's surprising how often you see everyone in the room take little notes in their note pads to take off to their teams on what happened. Heck, I've seen this happen when people enter things in a spreadsheet, and then someone else has their own spreadsheet, and they work together to make one AWESOME spreadsheet!
Saturday, March 01, 2014
User Stories - Asking some Questions
If you're looking for me to spell out what specific elements a User Story should have, I'll just point you to test framework called Cucumber where you write "Cukes" to describe the behavior you're testing. When thinking about how you're going to test something, the User Story becomes pretty apparent.
But rather, when Business Analysts, Developers, Product Owners, whoever is writing user stories, there are a key questions to ask that can drive what your User Story should look like and more importantly, what supplemental information may aid in the development process.
Whose problem are you trying to solve or alleviate?
If this isn't the first question you're asking, you might as well go home. Now. You're home? Step outside. Walk a block. Ok. Go home. Look at cukes again. I'm not saying you should be using Cucumber for your test framework, but they have very good ideas.
How can someone validate this?
See the cukes.
Who's Going to Consume Your User Story? Who participates in the release cycle? Who are responsible for validating your implementation against the User Story?
To me, these are all the same question. However, you may get different answers to these questions, depending on who you're asking. This is something that's very specific to your project and organization. However, all the people that may be identified as answers to these questions can benefit from reviewing the User Story. Why is that useful? How often do you find yourself having to demonstrate a feature to someone to explain to them what the feature is? How often are THEY then demonstrating it to others to explain to them what the feature is? Your organization can have a slew of handoffs where a clearly defined User Story can save time and reduce the Telephone Effect. Here's an overloaded example:
In a conversation the other day, an IT manager that supports a huge bio-research organization mentioned that the largest challenge towards their adopting Scrum was that [non-developers] think that it's "just for developers." Without diving any further into the specifics, I feel that this is due, in large part, to some organizations not disseminating User Stories out to non-developers. In a more Waterfall environment, you may have a very extensive requirements and design document... that nobody reads.
One potential pitfall for a User Story when it's "just for developers" is when someone, in reality, is simply writing a technical task to be done. With that, I simply point back to Cukes again.
Do you need buy-in for your User Story?
This heavily depends on your organizational culture and how much trust everyone puts into the Product Owner. However, when seeking feedback, identifying potential gotchas, or simply being able to come up with a better design, answer the following as part of your supporting material can greatly provide food for thought.
| http://cukes.info/ |
Whose problem are you trying to solve or alleviate?
If this isn't the first question you're asking, you might as well go home. Now. You're home? Step outside. Walk a block. Ok. Go home. Look at cukes again. I'm not saying you should be using Cucumber for your test framework, but they have very good ideas.
How can someone validate this?
See the cukes.
Who's Going to Consume Your User Story? Who participates in the release cycle? Who are responsible for validating your implementation against the User Story?
To me, these are all the same question. However, you may get different answers to these questions, depending on who you're asking. This is something that's very specific to your project and organization. However, all the people that may be identified as answers to these questions can benefit from reviewing the User Story. Why is that useful? How often do you find yourself having to demonstrate a feature to someone to explain to them what the feature is? How often are THEY then demonstrating it to others to explain to them what the feature is? Your organization can have a slew of handoffs where a clearly defined User Story can save time and reduce the Telephone Effect. Here's an overloaded example:
Product Owner -> Developer -> QA -> Training/Documentation -> Support
In a conversation the other day, an IT manager that supports a huge bio-research organization mentioned that the largest challenge towards their adopting Scrum was that [non-developers] think that it's "just for developers." Without diving any further into the specifics, I feel that this is due, in large part, to some organizations not disseminating User Stories out to non-developers. In a more Waterfall environment, you may have a very extensive requirements and design document... that nobody reads.
One potential pitfall for a User Story when it's "just for developers" is when someone, in reality, is simply writing a technical task to be done. With that, I simply point back to Cukes again.
Do you need buy-in for your User Story?
This heavily depends on your organizational culture and how much trust everyone puts into the Product Owner. However, when seeking feedback, identifying potential gotchas, or simply being able to come up with a better design, answer the following as part of your supporting material can greatly provide food for thought.
- What's the current behavior?
- Why is it not optimal / desired at all?
When working towards buy-in for your User Story, it not only helps people feel more valued, but also increases the organization's trust in your being able to identify the overall direction of the product.
With that last sentence, if not to be more efficient, increase organizational cohesion, and increasing clarity in the process, just simply thinking about these questions when writing User Stories can make your life easier when people trust you more.
Sunday, February 02, 2014
User Stories - How they're Useful
All too often, organizations spend a stupid amount of time talking about what information should go into User Stories and how their content should be structured. They forget to ask the question, what do we want User Stories to do for us?
Typically, people see Users Stories as a tool to answer one question: "What do the developers need to code?"
Typically, people see Users Stories as a tool to answer one question: "What do the developers need to code?"
In a TDD oriented environment and, surprisingly to a lesser extent, when there is a separate QA team, User Stories, people use User Stories to answer the next question: "What needs to be validated to accomplished our goal?"
One question that doesn't get asked, though is "How do we keep the Product Owner accountable for what we produce?""That's not what we talked about."
When demo happens, what's demoed may not match what the Product Owner may have in mind. When this happens, the conversation can quickly devolve into a "well you said..." conversation where there is no record. This both negatively impacts the team's relationship with the Product Owner and wastes valuable time.
Stories provide a snapshot of requirements at a given sprint.
With a recorded User Story, the team and Product Owner can review the Story, review what was discussed in the story (ideally relatively close to when work started), and move forward.
By improving the story development process, a team can greatly reduce rework and avoid contentious conversations with the customer.
Without these scenarios in mind, User Story development can easily have a Fire and Forget mentality. This can lead to a lot of avoidable costs and negative impacts on customer/team relationships. Next time I'll talk about more questions people should think about when performing User Story Development.
Stories provide a snapshot of requirements at a given sprint.
- What was ambiguous in the Story?
- What Questions did we not ask? What did we not write down?
- How can we improve on our stories the next time?
By improving the story development process, a team can greatly reduce rework and avoid contentious conversations with the customer.
"Is this behavior by design or is it a bug?"
Far into the future into production support, the User Story can further aid in answering the super contentious question: "Is this behavior by design or is it a bug?" This is a pretty overloaded question.- When was this feature originally developed?
- What was the expected behavior at this time?
- Does the observed software behavior meet this?
- Do current customer processes meet these?
Without these scenarios in mind, User Story development can easily have a Fire and Forget mentality. This can lead to a lot of avoidable costs and negative impacts on customer/team relationships. Next time I'll talk about more questions people should think about when performing User Story Development.
Sunday, January 26, 2014
Cost Beyond Code #2
Some quick feedback on my rant mainly wanted some examples of a costly situation that is a result of poorly managed requirements. I'm going to use a lot of "probably's" and "likely's" so just bear with me :P
Ok you're investigating the code to answer Question #2. You're likely wading through code you're unfamiliar with. At this point a lot of people will argue that this like ability of the investigator, coding conventions, and quality of code will impact how efficiently this investigation will be accomplished.
The Project
- Requirements are maintained in word docs on a shared drive (not Sharepoint) where the filenames are along the lines of "Release - June 2007" that nobody's opened in years. Essentially, they're practically un-browseable and un-searchable in any decent amount of time.
- These requirements were never formally reviewed by anyone. People would show those groups like QA and End User Trainers "how it should work" in a 1 hour meeting.
- Developers tend to "own" things where one feature set is entirely done by a single guy. No recorded code reviews.
The Costly Situation
- Some piece of software has a feature that has been working in production for a couple years.
- An odd behavior comes up it is keeping an order from being Billable. For arguments sake, it is a scenario that hasn't come up in an extremely long time and there's no documentation in the IT Ticketing system of how this was resolved the last time.
- The guy who coded it is no longer with the company.
- None of the "expert" users know how the software SHOULD react in the given scenario.
Cost #1: Operations
The earlier you have that money in the bank, the earlier you're making more money for you. If this is visible to the customer, you run the risk of their simply cancelling and going with a competitor.
So let's say this IT ticket rises through the different levels of support and reaches you, the developer.
Question #1 - Have we ever encountered this scenario before? What did we do last time?
- If you're pretty immature about your requirements maintenance, chances are you're pretty immature about your bug tracking too. For me, this is a classic example of a Broken Window phenomenon in a software development project.
Question (set) #2 - Why is this happening? Is it a bug? Did the requirements cover this when the feature was developed?
There's absolutely no reason for you to look up the requirements. You're not going to try to wade through 10's or even hundreds of Word docs that were meticulously documented but whoever wrote them didn't really think about how to reference back to them. If you're not a developer, the one thing left to do is at least dork around in the stage environment to reproduce the issue.
Cost #2: Support Investigation
Even if the issue is reproducible, without the requirements from when this feature was developed, you probably can't answer the question "is it a bug?" "Why is this happening?" Without the context of the requirements, reproducing the issue can be a significant challenge.
You're still going to need a developer to look into this. However, it is extremely likely that in this scenario the first 2 questions aren't even asked so one could argue that this cost in labor isn't even accrued. :P
OK DEVELOPER SAVES THE DAY. Not Really.
Ok you're investigating the code to answer Question #2. You're likely wading through code you're unfamiliar with. At this point a lot of people will argue that this like ability of the investigator, coding conventions, and quality of code will impact how efficiently this investigation will be accomplished.
Question #3 - What is the context of this code?
Commit messages can help. Code quality can help. However you likely don't have any linkage from a commit message to the actual requirement. That would come in handy, but like we said, that stuff isn't there for you. So the differentiation between "this is by design" or "this is a bug" is close to impossible. It's going to take you some time to figure out what's going on in the code, describe it to somebody, and hopefully have a solution on what the user should do to keep the Order moving forward.
Cost #3: Developer Support
What could have been answered from a requirements lookup has now extended to any other full-up bug investigation in reproducing an issue and passing it onto a developer. You're going to have some back and forth between the developer and others in terms of trying to answer "why is this happening" question.
Question #4 - Is this by design?
You can't tell. Chances are this will be dependent upon your opinion of the guy who wrote it. Either way, it's going to be pretty hard to answer this question. It will be up to some pointy haired person to decide that it is a bug that needs to be resolved right away in the code, that the business needs to update their procedures to be aware of this scenario, or that some behavior change is required to go through some other channels of funding.
Cost #4: Aftermath - Because you haven't come up with what the requirements were at the time the feature was implemented, you can't hold the business accountable for what discussed, reviewed, and implemented. It is generally easier to get a customer to swallow the "this is by design" story if you have the documentation to back yourself up and simply update their processes.
Some people will say that some email will be required to accomplish this but that's in lieu of a decent requirements tracking system. Without this documentation, you're likely going to take up some time to discuss whether it's a bug (money from the IT Bucket) or a new feature that needs to be implemented (money from the Business Bucket).
Either way, in order to move forward, the relationship between business and IT runs more smoothly if the conversation goes down the path of "ok now we know what the thought was when we implemented this, but we'd still like to submit a change request," vs. "we're going to just have to agree to disagree so what are we going to do about it?"
There are a lot of pieces that need to be in place to reduce all the costs identified. However, requirements that are clarified, reviewed, and traceable are key to making all those pieces be in place (and alleviate the cost of that too).
A common reaction of all of this is "Documentation is always out of date when the code is implemented"
This is what User Stories in a Scrum process are meant to alleviate. I'll talk about this in some User Story post, but I'm already getting requests for describing the costs of getting a Release out after a Release Candidate has been cut so that might just be my next post.
Friday, January 24, 2014
Oh Hey This was in Draft for a Year
I had the opportunity to speak with someone who left the food truck business. Food trucks are an interesting beast as they are just now becoming a pretty common in the St. Louis area. Sure, there are some pretty well established hawker stands like that dude with the boombox at Olive and 6th, but the idea of getting your food off the street is still a new experience for a lot of St. Louisans during the workday.
Anyway. I was looking at my blog stuff and saw that I still had notes for a post here. I'm too lazy to see about actually putting these things into wordy-form so here they are.
Sporting Events? There were rules about the trucks that made it too much of a pain.
Tried to do catering events. That seemed to go well but again, that only worked well in warm weather.
Other Trucks - Sure they tried to organize with each other so that they wouldn't cannibalize each other's business but a lot of times some of the other trucks ignored it. You'd think you'd have a spot all to yourself and then boom. Your lunch crowd just got cut in half because another truck showed up.
What happened at the end?
The Partnership ended when one of them just didn't want to bother anymore. Business plan lady actually had a full time job so she didn't have time and they didn't feel like bringing in a new partner.
I personally thought the food was pretty decent and nowadays, lunch for $7 without a drink is pretty reasonable. I really appreciated her speaking with me.
Anyway. I was looking at my blog stuff and saw that I still had notes for a post here. I'm too lazy to see about actually putting these things into wordy-form so here they are.
The Idea
Provide a food truck meal with a gourmet twist. Meals that included a side and a drink started a $7.How it got Started
A loan for $50,000 from a combination of friends and family
3 partners - 2 ran the truck, 1 ran the business plans, supplies, and red tape. The lady I talked to was #3 and would sub in whenever one of the other two wasn't available.
Making Money
Stick with the city - County had way more red tape. Only ventured there for single-day events like Stl County ParksSporting Events? There were rules about the trucks that made it too much of a pain.
Tried to do catering events. That seemed to go well but again, that only worked well in warm weather.
Competitors
Brick and Mortar - there is a rule that you can't be so close to a brick and mortar competitor. That was annoying.Other Trucks - Sure they tried to organize with each other so that they wouldn't cannibalize each other's business but a lot of times some of the other trucks ignored it. You'd think you'd have a spot all to yourself and then boom. Your lunch crowd just got cut in half because another truck showed up.
What happened at the end?
The Partnership ended when one of them just didn't want to bother anymore. Business plan lady actually had a full time job so she didn't have time and they didn't feel like bringing in a new partner.
I personally thought the food was pretty decent and nowadays, lunch for $7 without a drink is pretty reasonable. I really appreciated her speaking with me.
Costs of Software Beyond Code
So I might as well end my blog posting drought with a stupid gripe.
The software development cycle is but a small subset of the actual software product release cycle.
Sure, a lot of people are talking about Agile processes and getting a new release every sprint and whatnot but cutting a release for most software development teams means the following:
- We have some features developed!
- It's passed some sort of regression testing!
Especially in larger organizations, this is far from what's required to get a release out the door.
I work for a company where the developed software typically has 3 types of consumers:
- Developers within and outside the company
- A couple hundred marketing/accounting/operations folk who are in the same physical location as us
- Thousands of marketing/accounting/operations folk that are scattered around the country
Oh by the way, bullet two govern rules for bullet 3.
Coming from a large "systems of systems" integrator-esque company, it comes as a surprise to me how little care people take for delivering to another developer team. Of course, they care when they're at the butt-end of the stick.
However, what's even more surprising is when a team isn't aware of all the work involved once a release has passed QA.
Especially for those thousands of folk scattered around the country, there's a boat load of preparation going on. Training material, help documentation, videos, webinars, and conference demos are done to ensure that major features or even changes to existing features are flowed out and can be referenced in the future.
... and THEN there's the support and any issue investigation in production.
The amount of personnel devoted to this is practically the same headcount as the development teams.
The absolute worst thing any team can do is simply provide these people some new features and say good luck! No release notes. No Requirements that fed into this. Nothing. Else. Awesome. You just tripled the cost of all the post-development work. You probably tripled the cost of QA since you probably did the same to them as well.
I am of the firm belief that solid requirements that are reviewed early on by everyone in the release cycle is the key to efficiency in any software project. The key words being reviewed and everyone. It's pretty much everyone's responsibility to ensure that this happens as early as possible. Unfortunately, what happens a lot is that everyone pretty much throws their arms in the air saying that it isn't their job and a combination of snowball and broken window effect happens.
I'll try to talk about a Shangri-la scenario in a Scrum perspective and also talk about what the overall deliverable set should be.
When I get around to it.
I'll try to talk about a Shangri-la scenario in a Scrum perspective and also talk about what the overall deliverable set should be.
When I get around to it.
Friday, October 05, 2012
Coworker: Hey. (says something indecipherable)
Me: Huh?
Coworker: What? You don't know? (says it again)
Me: I totally don't know what you're trying to say.
Coworker: Awww c'mon...(takes a swig of orange juice, looking at me expectantly)
me: Are you trying to say Orange in Mandarin?
Coworker: That's what I said. (says that indecipherable thing again)
Me: No, it's (Orange in Mandarin)
Coworker:
Me:
Phone: Orange!
Coworker: (tries to say it to the phone)
Phone: Meeting!
Coworker: (Tries again)
Phone: Alley!
Coworker: That phone is defective.
Monday, December 26, 2011
Gumbo Shop's First Facebook Ad
Ok so there are quite a few sites with how-tos about setting up a facebook ad... this one in particular is a little dated but is extremely detailed:
http://subliminalpixels.com/facebook/how-to-set-up-and-track-facebook-ads/
Rather than go into the mechanics of setting up an ad in general, I'm just going to talk about some of the rationale behind the very first ad created for the Gumbo Shop.
I'm actually pretty glad that it took me forever to write this post, because now there's a really interesting article discussing what people look at when presented with a Business / Brand page.
| http://mashable.com/2011/12/14/eyetracking-facebook-brand-pages/#38865CocaCola-Visual-Attention-Level |
So what demographic will have people who not only know of the Gumbo Shop, but are the likely people who enjoy the place and will click that "like" button without a second though?
At first I thought of the regulars - people who work in the vicinity of the Gumbo Shop and come on a weekly basis. The absolutely easiest way, of course, is to simply have a little sign at the restaurant "Like us on Facebook!" or something silly like that. However, in terms of filtering on Facebook, the biggest problems with that were the following:
- Will have to get a listing of all the businesses in the area: even a decent representation would be pretty hard. There aren't that many ginormous employers in that area where picking a couple will be good enough.
- Not that many people actually post where they work on Facebook anyway.
The next group of people that came to mind were people in St. Louis who likely sought out places like the Gumbo Shop: people who lived in states where Cajun food is much more prevalent. Unfortunately, Facebook doesn't have a filter for "where people used to live," so education was the next best thing.
| All the LSU guys I know in STL are Lawyers... |
So after doing a quick Wikipedia lookup of colleges where Cajun food is more prevalent, I went with pretty much all the Gulf States between Texas and Florida. As for the ad, itself, I simply wanted to convey "Hey, remember the Gumbo Shop? We have a Facebook page now." For that, I put up a pic of Gumbo Shop's logo and took my favorite Yelp quote on the place:
So I felt that this accomplished a couple things:
Also, the daily budget idea is a bit silly. This severely limits how often your ad is going to be shown, as once that budget is hit, your ad won't be shown for the rest of the day. Sometimes, on a Facebook heavy day (when people are home for the holidays, for example), you're going to hit that budget limit pretty quickly and then your ad will be pulled. That's just pretty lame. That, coupled with Facebook's relatively high automatic bidding, you're paying more for people to click on your ads while limiting how often your ad will be displayed.
So here're some of the metrics in the first month of that ad.
A "Social Impression" means that this ad was shown 1003 times where the target has a Facebook Friend who "likes" the Gumbo Shop. Initially I was pretty satisfied with the results of this... with some fiddling we go through September's results...
WHOA what just happened... numbers are WAY higher for some crazy reason and yet my (yet undisclosed) costs were practically the same. What the heck happened? (aside from that fact that these screen shots are from Google Docs and Excel, respectively?)
Well... hopefully it won't take me more than a month to post the next post to explain some of that crap.
- Identify the Gumbo Shop. Duh.
- Show a picture of yummy Gumbo. The people this is aimed at, I'm assuming, have already had gumbo before.
- Point out that there's a positive review on Yelp.com by an (awesome) Lisa C.
Ok. Now all that's left is to set a budget and maximum bid for clicks. This means that every single time someone clicks on the ad and visits the Facebook page, I will be charged however much the bidding went down. I don't really know how the mechanics all work, but essentially, the higher you place your maximum bid, the more likely your ad will be shown. When there are many advertisers going after the same demographic you are, the more expensive this will likely to be. I have recently found out that Women who are in a Relationship are quite expensive... but that's another post.
| Self Explanatory. http://sprott.physics.wisc.edu/pickover/pc/lifeexplained.jpg |
At first, I set a daily budget of $3 and let Facebook have its way with my max bids. In the end, I feel that this isn't the way to go. I personally don't think that Facebook really does have a decent way of figuring out how to "maximize" the value of your clicks and it doesn't take any other input for your goals. For example, your bidding and budgeting strategy can vary quite a bit if you goal was to get as many impressions (total times an ad is displayed) as possible in one month, as opposed to ensuring that you can get the best bang for the buck with at least so many impressions a day.
Also, the daily budget idea is a bit silly. This severely limits how often your ad is going to be shown, as once that budget is hit, your ad won't be shown for the rest of the day. Sometimes, on a Facebook heavy day (when people are home for the holidays, for example), you're going to hit that budget limit pretty quickly and then your ad will be pulled. That's just pretty lame. That, coupled with Facebook's relatively high automatic bidding, you're paying more for people to click on your ads while limiting how often your ad will be displayed.
So here're some of the metrics in the first month of that ad.
A "Social Impression" means that this ad was shown 1003 times where the target has a Facebook Friend who "likes" the Gumbo Shop. Initially I was pretty satisfied with the results of this... with some fiddling we go through September's results...
WHOA what just happened... numbers are WAY higher for some crazy reason and yet my (yet undisclosed) costs were practically the same. What the heck happened? (aside from that fact that these screen shots are from Google Docs and Excel, respectively?)
Well... hopefully it won't take me more than a month to post the next post to explain some of that crap.
Tuesday, November 29, 2011
Angle of Attack
Starting out with a fresh Facebook page, you want as many fans as quickly as possible. The easiest way to get that is let people who visit the Gumbo Shop to know that you, indeed, do have a Facebook page and that they should Like it to keep up-to-date on the goings on at their favorite restaurant ever. These people are likeliest to not only Like the page, but actually maintain that interaction with the page.
But what about the people who don't already go to the Gumbo Shop on a semi-regular basis? On the vast Internets, there are plenty of opportunities for one to come across your business online.
Search Engines
There are different ways you can try to ensure that your business shows up for a given search. At the very least, however, you should be ensuring that the information is up-to-date and spend some time to add some media such as pics. These guys are increasingly conglomerating more data from other websites as well to try to give as much information to people as possible. Therefore, checking out search results for your business will show you what other sites people may come across as they're searching more generic terms like "Cajun" or "Fried Catfish."
Business Listing Websites
Speaking of websites that people may come across before they hit your business's website or Facebook page, there is a plethora of websites that index data from databases and allow users to update data and provide whatever information may be applicable to a business. For restaurants in particular, there is an insane amount of Menu sites (SinglePlatform being a more recent one), review sites, or just meta sites collecting all that stuff together.
Probably the biggest monster out there is Yelp.com. They get so much traffic, they are almost sure to be the first couple hits if someone is searching for a particular item, or in the Gumbo Shop's case, a dish like "Blackened Catfish" in the St. Louis area. Not only that, many people go straight to sites like Yelp or Urbanspoon without even bothering with the search engines. These sites help people make conclusions whether they are going to check out a restaurant on their data alone, without even bothering to visit your website or Facebook page.
Same with the search engines, keeping this data up-to-date is the least you should do. Going all out on Yelp.com, however, means putting your own personal self out there to interact with those pesky Yelpers, but that's another post.
Online Advertising
Finally, what is perhaps the most obvious, is online advertising. According to emarketer.com, Google has an almost 50% market share, where Facebook has below 10%. So what would make one choose to advertise on Facebook than on Google?
To be honest, it takes far less effort to advertise on Facebook than on Google. With Facebook, you create an ad, filter out some demographics because people put almost all their likes/dislikes/hopes/dreams on Facebook, and just fling it out there. Google involves trying to figure out the actual behavior of the people you're going after and, on top of that, you actually need to do some photo-editing unless you're perfectly content with a plain text ad, and let's be honest, text isn't usually what draws you to an ad.
NEXT TIME, I'll finally talk about the thoughts that went into putting up my first Facebook Ad for the Gumbo Shop and talk about its performance.
But what about the people who don't already go to the Gumbo Shop on a semi-regular basis? On the vast Internets, there are plenty of opportunities for one to come across your business online.
Search Engines
There are different ways you can try to ensure that your business shows up for a given search. At the very least, however, you should be ensuring that the information is up-to-date and spend some time to add some media such as pics. These guys are increasingly conglomerating more data from other websites as well to try to give as much information to people as possible. Therefore, checking out search results for your business will show you what other sites people may come across as they're searching more generic terms like "Cajun" or "Fried Catfish."
Business Listing Websites
Speaking of websites that people may come across before they hit your business's website or Facebook page, there is a plethora of websites that index data from databases and allow users to update data and provide whatever information may be applicable to a business. For restaurants in particular, there is an insane amount of Menu sites (SinglePlatform being a more recent one), review sites, or just meta sites collecting all that stuff together.
| http://www.penny-arcade.com |
Same with the search engines, keeping this data up-to-date is the least you should do. Going all out on Yelp.com, however, means putting your own personal self out there to interact with those pesky Yelpers, but that's another post.
Online Advertising
Finally, what is perhaps the most obvious, is online advertising. According to emarketer.com, Google has an almost 50% market share, where Facebook has below 10%. So what would make one choose to advertise on Facebook than on Google?
| http://www.the-cynic.com |
NEXT TIME, I'll finally talk about the thoughts that went into putting up my first Facebook Ad for the Gumbo Shop and talk about its performance.
Saturday, November 26, 2011
Not-So-Random Gripe: Inaccurate Data on the Internets
Ok so while I was writing up the yet-to-be-finished post, I soon realized that a crap load of them menu websites are pretty much throwing in the towel and turned to this service called "SinglePlatform."
Now that's great because there's nothing more annoying than ensuring that things are updated on multiple websites, but I do have to gripe about the inaccurate menu that Single Platform did for the website:
Ok so the page is pretty blurry, but it's the same freaking menu for two restaurants, one being the Gumbo Shop in St. Louis and the other being ONE of the Gumbo Shops in New Orleans. I'm sure this service is new and all, but at least have the quality control to simply say "we don't have the data for this restaurant." It's understandable if you bought bad data from them business listing services (they really do suck), but I'm making an uninformed conclusion that this involves some silly assumption likely done by some code doing a massive data dump that matched a menu with said restaurant.
This is probably one of the most annoying things about Web 2.0 sites in general, as it's created a complacency of "we'll put up inaccurate stuff and the people will correct it" bullcrap.
Now that's great because there's nothing more annoying than ensuring that things are updated on multiple websites, but I do have to gripe about the inaccurate menu that Single Platform did for the website:
![]() |
This is probably one of the most annoying things about Web 2.0 sites in general, as it's created a complacency of "we'll put up inaccurate stuff and the people will correct it" bullcrap.
Monday, November 14, 2011
Facebook Users are PIGS!
So what makes a Facebook Page better (or at least, more interesting) than other tools to aid in the Consumer Relationship Cycle? It is one of very few tools where a brand can interact with consumers along almost all fronts of the Cycle. The one thing that Facebook doesn't do is provide e-commerce functionality, allowing you to actually buy stuff on the site, but it comes pretty freaking close. On top of that, almost everything is free.
| http://verydemotivational.memebase.com |
I like bullets to list things:
- Avenues of Market Awareness
- Ads / Sponsored Stories (the only thing that really costs money)
- People's interaction with the Brand's page typically gets reflected on their wall and other's News Feeds: Likes, Shares, Recommendations
- Methods to sway the flocks towards your brand
- Media (Photos, Videos, Links to external sites like reviews and news articles)
- People's interaction with the Brand's page typically gets reflected on their wall and other's News Feeds: Likes, Shares, Recommendations
- Continuous Interaction
- Feedback
- News in a relatively non-intrusive way (Facebook News Feed vs. E-mail Newsletter)
- People's interaction with the Brand's page typically gets reflected on their wall and other's News Feeds: Likes, Shares, Recommendations
Promoting interaction with a brand's page is obviously the most important aspect of managing a Facebook Page. However, you can't promote interaction if people aren't "liking" the page. Getting people to visit, like, accept your news feed, and interact is an entire Consumer Relationship Cycle in and of itself. You're practically selling a Blog (really?) to promote the Brand.
So let's think about just who we are targeting in order to raise awareness of the Gumbo Shop Facebook Page. Warning: The following may seem extremely obvious, but as I've found, you sometimes have to go over these as people tend to not explicitly think about them... because... well, they're obvious.
| Neo Geo's Obviously Awesome http://keithapicary.bandcamp.com/ |
People Who Already Know of the Gumbo Shop and Like the Place
It will be pretty easy to get these people to visit the page and yet they are by far the most important. This is because they are most likely to enthusiastically (and sometimes, emphatically) promote your brand as they interact with the page. The Gumbo Shop has a pretty large work-lunch following. If you're starting out extremely early, these people would pretty much be made up of your friends. The usual points of entry to the page would be through Facebook Check-Ins or the fact that you just told them to visit the page in person (or with a sign on your cash register).
People Who Only know of the Gumbo Shop, but Haven't Ever Visited...
...or maybe at some point a long time ago. At least they're aware of this place. This is where the page content can tip them over into actually visiting the Gumbo Shop.
Have no clue that the Gumbo Shop existed...
Honestly, I consider this group of people to practically be in the same bucket as those who haven't ever visited or haven't been in a long time. This is because the starting point of interaction is the same for both groups: ads or news feeds from other friends on Facebook. Of course, people could stumble upon your page from a link on your Website and from there a slew of other sources.... buuuuut we'll get to that some other time.
Next time, we'll talk more of these "points of entry." There are many, much like in Deus Ex... which I've seriously been neglecting, lately...
Next time, we'll talk more of these "points of entry." There are many, much like in Deus Ex... which I've seriously been neglecting, lately...
Monday, November 07, 2011
Wait, so What Do You Do, Again?
I guess before I get into the actual crap that I'm doing, I should talk about the actual and ideas behind them. My main goal is to increase foot traffic to the Gumbo Shop to help them sell more food and make money. One additional side effect is to get more consistent foot traffic throughout the year, which can lead to significant cost savings and headaches.
I can try to accomplish that in a couple ways: I get more people to recognize the fact that there is such a Cajun place called the Gumbo Shop at Manchester and McKnight in Rock Hill, MO. I convince them that the Gumbo Shop, is indeed, the place to be and a place for good eats. Lastly, I remind them that the Gumbo Shop really is some place they should visit at least once a week.
Honestly, the ideal customer is me, who isn't too far from that depicted in this particular Oatmeal Comic.
I can try to accomplish that in a couple ways: I get more people to recognize the fact that there is such a Cajun place called the Gumbo Shop at Manchester and McKnight in Rock Hill, MO. I convince them that the Gumbo Shop, is indeed, the place to be and a place for good eats. Lastly, I remind them that the Gumbo Shop really is some place they should visit at least once a week.
Honestly, the ideal customer is me, who isn't too far from that depicted in this particular Oatmeal Comic.
![]() |
| Replace the Pizza with Fried Oysters |
To take another look at this whole thing, I'm turning to consultant-esque diagrams that you'd see at business school classes or meetings where people are trying to sell you on the idea that giving them $500 an hour is actually a good idea. This thing can be called a variety of things ranging from "purchase cycle," "Customer Engagement Cycle," to "Consumer Relationship Cycle."
In my search for just the right diagram, I realized two things. Firstly, there are all sorts of different points of view and little details that yield a shit ton of very different looking diagrams, but are very similar in nature. It all depends on what direction you want to tackle the problem from. Secondly, not one of them had a picture of a dog.
![]() |
| Notice the lazy eye... |
For the sake of the fact that I'm too lazy to do a detailed flow chart, just believe in the following.
- A customer starts out not even knowing that the Gumbo Shop exists and therefore, out of the cycle.
- The first state of interaction is "Awareness," having the Gumbo Shop be somewhere near the front of their minds.
- At any point in this cycle (I guess somewhere on the arrows), a customer can drop out and the interaction has to start all over again ("oh yeah... I forgot about that place...").
So let's go through these boxes:
- Awareness: Obviously people won't go to the Gumbo Shop if they don't even know it exists.
- Consideration / Comparison: If people in general are anything like me, choosing what to have for lunch is an epic struggle for an hour starting at 10am on a daily basis. Something's got to point out just how the Gumbo Shop should be at the top of the list on a consistent basis.
- Purchase and Evaluation: Eating at the Gumbo Shop. This is grouped together as this is an event that's going on practically simultaneously. This is largely out of my hands... or is it?
![]() |
| FEAST |
- Continued Engagement: Usually, you only have the previous experience at the restaurant to ensure whether another visit is going to happen anytime soon. This is where Continued Engagement comes in and where it can get sort of confusing. I attempt to remind people that it's been absolutely way too long since they've been to the Gumbo Shop amongst many other things.
So just how can I keep this endless cycle of violence going? My use of Facebook is the core part of Continued Engagement and Facebook Ads is by far the most invested method of increasing awareness. The next posts that I'll put up will likely bounce around from topic to topic in this cycle, especially as new observations crop up. I'll be tagging those with the appropriate term.
I totally expect Nestle Purina to steal my doggy diagram...
Thursday, November 03, 2011
Eat at Joe's!
![]() |
| ... and by Joe's I mean the Gumbo Shop... |
Unfortunately, I'm missing a certain something...
| "... a set of these." |
Enter the Gumbo Shop.
I figured I'd spend some of my spare time offering the minimal skills that I do have to one of my favorite restaurants in St. Louis to accomplish a couple things:
- See how my skills apply to the restaurant business
- Learn whatever I can from the good people at the Gumbo Shop
- Have an excuse to visit one of my favorite restaurants more often
I figured I'd take the chance to write some of my observations and experiences down from Customer Relationship Management through Facebook to this day when I dumped a total of 60lbs of crawfish for 80 unusually well dressed people. As I think on this now it will likely be chock full of unfounded assumptions and too much thought going into something that's pretty obvious. Either way, I get to share my experiences, those who care get to have my experiences shared with them, and the Gumbo Shop now has yet another avenue of an online presence.
Sunday, October 30, 2011
Tuesday, September 13, 2011
Cheeeeeeeeeese
Kevin: oh welp
man im looking up instructions to this apartment and my eye happened to fall on one part which was
"Turn right onto Cheesequake Road."
"Turn right onto Cheesequake Road."
and i was just like...cheesequ ake road?
me: that's an awesome name
is it like this magical cheese place?
Kevin: i have no clue i wonder if it's even pronounced like that or it's some silly native american pronnounciation we don't know
like
chessequack or something
me: that would make sense
but Cheesequake is way more awesome
it makes me think of Rescue Rangers and how cheese always looked so delicious...
Kevin: mice cartoons made cheese
look amazing
just like...pooh cartoons made honey look amazing
me: http://ww w.youtube .com/watc h?v=ARqOx tNIMJ0

Andy's Cheese Reality feat. David
Sent at 8:58 AM on Tuesday
Kevin: haha i always wondered
"why would you drop a safe on someone then shoot suction cups?!"
me: hahahaha
Sent at 9:01 AM on Tuesday
Kevin: pretty sure there wree sequences like that with anvils too
anvil falls -> suction cups or arrows
like no that's not how it should workkkkkkkk
you aim next to it!
Saturday, June 04, 2011
What the fuck is Broccoli Raab?
To be honest this isn't a broccoli raab recipe... it's a recipe that you can fold broccoli raab into....
0.5 lb of linguine - Porcini linguine was pretty awesome for this...
1-2 bulbs of garlic - depending on how much you like garlic... peeled.
Shit ton of shrooms - trumpet, oyster, porcini, cremini, white, whatever your fancy... but get three kinds cuz it's just awesome that way. I'd say... 20-30 oz of it.
That damned broccoli raab. However much you feel like... I used all mine up in one go. Chopped... I tossed most of the stems into the compost.
half stick of butter
Half a pack of fresh Savory... uh... 2-3 tablespoons chopped?
1 tablespoon salt, Couple coarse grounds of pepper
Slice the mushrooms. It doesn't matter about being clean about it. I used the slicer attachment on the food processor.
Prepare 6 quarts of water to cook the linguine - start getting it to a boil.
Melt butter over medium heat in a large skillet. Toss in garlic and savory. Toss around a bit and then throw in all the mushrooms and broccoli raab. Season with salt and pepper and saute for a bit. With all those mushrooms, the liquid's going to start coming out and steam. Cover and bring to medium low.
Let simmer in its own juices for a while... a good half hour at least. Now's the time to cook the linguine. Cook for about half the recommended time.
With tongs, put the linquine in with the shroom mixture and fold in. If there isn't enough water, spoon in the pasta water. Cover and let sit in medium low heat for the remainder of the recommended cooking time. If it seems to be dry, spoon in more pasta water. Keep cooking until the noodles are at the texture you want it to be (the wife likes it more over done...).
0.5 lb of linguine - Porcini linguine was pretty awesome for this...
1-2 bulbs of garlic - depending on how much you like garlic... peeled.
Shit ton of shrooms - trumpet, oyster, porcini, cremini, white, whatever your fancy... but get three kinds cuz it's just awesome that way. I'd say... 20-30 oz of it.
That damned broccoli raab. However much you feel like... I used all mine up in one go. Chopped... I tossed most of the stems into the compost.
half stick of butter
Half a pack of fresh Savory... uh... 2-3 tablespoons chopped?
1 tablespoon salt, Couple coarse grounds of pepper
Slice the mushrooms. It doesn't matter about being clean about it. I used the slicer attachment on the food processor.
Prepare 6 quarts of water to cook the linguine - start getting it to a boil.
Melt butter over medium heat in a large skillet. Toss in garlic and savory. Toss around a bit and then throw in all the mushrooms and broccoli raab. Season with salt and pepper and saute for a bit. With all those mushrooms, the liquid's going to start coming out and steam. Cover and bring to medium low.
Let simmer in its own juices for a while... a good half hour at least. Now's the time to cook the linguine. Cook for about half the recommended time.
With tongs, put the linquine in with the shroom mixture and fold in. If there isn't enough water, spoon in the pasta water. Cover and let sit in medium low heat for the remainder of the recommended cooking time. If it seems to be dry, spoon in more pasta water. Keep cooking until the noodles are at the texture you want it to be (the wife likes it more over done...).
Tuesday, December 07, 2010
Der Stroganoff
From America's Test Kitchen

Ingredients
3/4 lb of beef stew meat
1 lb pack of wide egg noodles
12 oz sliced mushrooms
1 medium chopped onion (it's under the mushrooms...)
1 can Chicken Broth
1 can Beef Broth
1 small pack (8oz?) sour cream
1/4 cup brandy (not pictured)
Salt, Pepper, cooking oil
Equipment: Wooden spoon, large skillet. A large skillet is key in that you won't have to brown the meat in batches.
Cut the beef stew chunks to a more uniform size. How small is up to you but the smaller you do the less you have to cook to get it tender. I cut them into about 1/2" cubes.
Pat beef dry with a paper towel and toss with a sprinkle of salt and pepper.
Heat 1 tablespoon of oil in a large skillet on high. Dump the meat in and keep it on high. Ensure that the meat is getting to brown and not overcrowd and steam. Otherwise, you may want to brown the meat in batches. You want them brown bits on the pan for flavor. Remove the beef.
While still on high heat, dump the mushrooms and onions. Season with a bit of salt and pepper. This is more to draw out the liquids as the broths are salty enough. Cover for a couple minutes for them to steam themselves.
At this point there should be enough liquid to scrape up all the brown bits in the pan. Do so with a wooden spoon. Cook uncovered to let the liquid reduce out as the onions and mushrooms cook, about 10 minutes. Add brandy and let that cook out.
Dump in the broths and add the meat back in. Bring to a boil and simmer for about an hour. Prepare about a cup of warm water on the side.

Now it's time to add the noodles. Just dump the whole bag in. I don't really care about overcooked egg noodles so I think this method's just fine. Stir in to get as much noodles as you can in the liquid.
Let simmer covered for about 2 minutes and fold the top less cooked noodles in. Simmer for another 2 minutes. Repeat this process until the noodles are fully cooked. If you don't think you have enough water, add a bit of that warm water.
Remove from heat, stir in sour cream. Serve in the skillet.
Ingredients
3/4 lb of beef stew meat
1 lb pack of wide egg noodles
12 oz sliced mushrooms
1 medium chopped onion (it's under the mushrooms...)
1 can Chicken Broth
1 can Beef Broth
1 small pack (8oz?) sour cream
1/4 cup brandy (not pictured)
Salt, Pepper, cooking oil
Equipment: Wooden spoon, large skillet. A large skillet is key in that you won't have to brown the meat in batches.
Cut the beef stew chunks to a more uniform size. How small is up to you but the smaller you do the less you have to cook to get it tender. I cut them into about 1/2" cubes.
Pat beef dry with a paper towel and toss with a sprinkle of salt and pepper.
Heat 1 tablespoon of oil in a large skillet on high. Dump the meat in and keep it on high. Ensure that the meat is getting to brown and not overcrowd and steam. Otherwise, you may want to brown the meat in batches. You want them brown bits on the pan for flavor. Remove the beef.
While still on high heat, dump the mushrooms and onions. Season with a bit of salt and pepper. This is more to draw out the liquids as the broths are salty enough. Cover for a couple minutes for them to steam themselves.
At this point there should be enough liquid to scrape up all the brown bits in the pan. Do so with a wooden spoon. Cook uncovered to let the liquid reduce out as the onions and mushrooms cook, about 10 minutes. Add brandy and let that cook out.
Dump in the broths and add the meat back in. Bring to a boil and simmer for about an hour. Prepare about a cup of warm water on the side.
Now it's time to add the noodles. Just dump the whole bag in. I don't really care about overcooked egg noodles so I think this method's just fine. Stir in to get as much noodles as you can in the liquid.
Let simmer covered for about 2 minutes and fold the top less cooked noodles in. Simmer for another 2 minutes. Repeat this process until the noodles are fully cooked. If you don't think you have enough water, add a bit of that warm water.
Remove from heat, stir in sour cream. Serve in the skillet.
Thursday, October 15, 2009
Screw you, brussel sprouts rock.

Annnnd they're in season!
Salami, the kind you get whole and cut into chunks. Used some Volpi brand "rose" salami.
1/2 lb Brussel Sprouts
3 cloves chopped Garlic
1/4 Onion
2 tablespoons butter
Luckily, I had some clarified butter (damn you Byron for wanting so much damned butter!) so I used that. On medium high heat, sautee the onion until brown, added the salami until it was crispy. Removed.
Add the garlic and brussel sprouts, season with salt and pepper. When the brussel sprouts are a bit brown, add 1/4 cup water and reduce it down.
Anna won't even try the stuff....
Sunday, September 20, 2009
Clams Recipes Synergies

Sooooooo... you know what I turn to when I'm all tired and stressed?
Clams.
Clams fucking rock.
Baked Stuffed Clams
1 red bell pepper, finely chopped
1 small onion, finely chopped
8 oz mushrooms, sliced
3 cloves garlic, minced
8 Cherrystone Clams
1 12oz pack of bacon, finely chopped.
At least 1/4 cup Freshly Grated Parmesan
Bread Crumbs
Chopped Italian Parsley
Some cooking wine (1/4 cup?)
Clams Oreganata
2 dozen littleneck clams
1/4 cup flour
1/4 cup bread crumbs
1 teaspoon italian herbs
At least 2 tablespoons Freshly Grated Parmesan cheese
Chopped Italian Parsley
Bacon Grease
Render the Bacon:
Chop up the bacon and render in a large skillet over medium heat. Now's a good time to finish up your chopping/slicing/grating/cleaning up. Render until you have crispy bits and a good about of grease. About 10-15 minutes.
Saute the veges
Empty the grease into a small bowl. Turn the heat on high. Toss in the stuffed clams veges (not the parsley). Add some black pepper (NO SALT). Saute/Sweat until the shrooms and onions are cooked. Because there're a good amount of veges, they'll probably steam up and you can use that to deglaze the skillet. Otherwise as some water or cooking wine. Remove to a mixing bowl.
Cook the Cherrystones
Toss in the Cherrystone clams with the cooking wine. After about 3-5 minutes the clams should start to open up. Remove them as soon as they open.
Separate the clam shells and take out the meat. Rinse out the shells and place on a baking sheet. Chop up the meat and mix in with the stuffed clams mixture.
Cook the Littlenecks?
Now you're supposed to shuck these guys but after a couple attempts (I never bought a shucking knife, which my parents swear by) I figured you know what... I don't really care if it's overcooked and sometimes the clams that don't close while I'm cleaning them are actually alive and when (up until I cook them.). Soooo why not.
Toss into the same skillet, which should have a good amount of liquid from the wine and cherrystones, but this time over medium heat at a low boil. Again, remove the clams upon opening, even just a bit. Separate the shells.
Finishing up the Stuffed Clams
Add bread crumbs and cheese to the mixture so that everything's coated with cheese and bread crumbs. Add some parsley to taste. ASo now you have a good amount of clams liquor that's also deglazed the bacon bits in the pan. Slowly add the liquor to taste (add some, mix, taste.) Spoon the mixture into the shells.
In a preheated oven at 350 degrees, bake for 15 minutes.
Finishing up the Clams Oreganata
While the stuffed clams are baking, you can mix up the clams oreganata mixture, and mix in clams liquor and bacon grease to taste. In my mind, you can never have too much parmesan cheese in it so feel free to add more. So now you should have this paste that you can smear onto the half-shell clams. Place on a baking sheet.
When the baked clams are finished, take them out to cool and turn the oven to the broiler setting (or if you have one of them bottom broilers, I guess you can do this whenever you damned well please.) Wait about 3 minutes for the broiler to heat up and put in the clams on the top rack. Leaving the door slightly ajar, broil for about 1-2 minutes or until the clams are golden brown.
Serve both with some lemon.
Subscribe to:
Posts (Atom)







