Displaying posts tagged "progressive enhancement" (Clear Search) Tuesday, June 16th, 2009
I've talked a lot on this blog about the idea of "Progressive Enhancement". In case you haven't been following along, that's when you regularly release code updates rather than storing everything up for one massive release so that you can make smarter decisions based on the real life data you can collect through your earlier releases. Here's the problem: if you are aware of your own inability to predict the future and you put off important decisions, there's never any way to tell if you made the right decision. It's always easy to know when you get something wrong, but what if everything is smooth sailing? We've been doing this all the time at work and I think that's directly responsible for the dramatic increase in the quality of our product over the past six months, but when someone new joins the company, how can I prove to them that it works? We don't know the contrapositive. So here's the new idea. Even though I don't think it makes sense to act on important decisions based on assumptions (rather than real experience), maybe it's still worth figuring out what your decision would be. You don't act on it, but you figure out what you would do, write it down, and make a calendar event for 3 months from now reminding yourself to review how your decision would have panned out. For example, I posted about how progressive enhancement worked out well a few weeks ago. It probably would have been worth it to come up with an exact plan for what we would have done if we hadn't deferred the decision. That way I could look back and easily tell if we would have been right or wrong about all our assumptions. I'm not suggesting this should be done on every project (that sounds like a waste of time). Maybe one out of every five projects should be fully planned out even though the plans will be ignored. That will help validate the effectiveness of the new strategy. It's easy to get complacent when everything goes smoothly. Posted by Tyler King
Saturday, May 30th, 2009
A couple weeks ago I talked about a new approach we're taking at work where we prepare but we don't plan. This week we seriously benefited from the strategy and I want to spend some time going over what we did right, what we did wrong, and what I learned from it.
So here's the situation. We recently released an CRM (Customer Relationship Manager) that our resellers can use to manage all the contacts for their entire organization. When coming up with the structure, there was a question about how we should handle group permissions.
For example, maybe an insurance agency has some people selling HRAs and other people selling insurance. How should the agency control which contacts different people can see and how people can interact with these contacts? Or maybe an agency has branches in two different states and sales leads should be confined to only the appropriate branch. Suffice to say, there are a lot of different ways people might choose to use a CRM and we needed to support as many of them as possible.
About a week of the initial CRM development was spent planning and implementing this permission structure. Near the end of that week it became obvious that we just didn't know enough about how the product would be used to make some of the more important decisions. We ended up throwing together a pretty simple set of features and releasing it.
So to summarize, we released the CRM without really knowing how group permissions should work. The product was functional but a piece of it was missing.
We've now had two weeks to observe how our clients are using this system and now we feel completely comfortable making the design decision that we previously were unable to make. It's unfortunate that our new plan makes the week we already spent on this completely wasted, but that makes our decision to wait on this particular feature all the more valuable.
If we had made assumptions about what we needed, we would have been backing ourselves into a corner and the resulting product would have been crippled for months or years because of it. By waiting to make any definite plans, we allowed ourselves a couple of weeks to observe our users which in turn gave us real actionable information instead of baseless assumptions. So sure we wasted a week, but overall the process worked.
There's one important thing that I took away from this beyond an overall sense of satisfaction. In the future, I should try to be more aware of which early decisions are based off real, solid information and which ones are wild guesses. I might not always have enough information, but I can at least be more aware of what information I don't have. Posted by Tyler King
|
More about me:
My friends:
Sites that I really like:
Paul Graham Essays
Academic Earth Mint.com Lifehacker The Consumerist Deadspin Turf Show Times Failblog Get Rich Slowly |
|
Blog |
Portfolio |
Resume |
Bio |
Contact |