Pecha Kucha in a Corporate Setting

Around 3 months ago over a discussion at happy hour with a co-worker I was exposed to the concept of Pecha Kucha.  I was immediately drawn to it as an answer to a desire I had to expand communication and encourage communication across teams in my company.

For those who are not familiar with Pecha Kucha some background:

  • A presentation format of 20 slides that automatically advance after 20 seconds
  • The topic can be anything
  • Pecha Kucha originated in Tokyo, Japan in 2003 as a forum for designers to share their work
  • You can learn more at: http://pecha-kucha.org

In the corporate space you can utilize this format to promote cross-functional sharing of knowledge and ideas.  At our company we’ve seen presentations that range from customer relationship management to site usability to social media.

We host 2 sessions a month for 30 minutes each with 3 presentations.  In this time we’ve seen presentations from across the company with several getting the attention of corporate executives and resulting in changes to product and process.

In summary Pecha Kucha in the corporation is a simple presentation format that can empower employees.


The use of feature stories in agile software development

Jon Swope and I were recently discussing the appropriate use of feature stories in agile software development and reached the conclusion that we’re not convinced we have the best solution for back-end type tasks.

To provide some background, our company makes use of Pivotal Tracker for agile development.  We track new features, bugs, and chores using the following rules:

Feature: Any development that extends the functionality of the application in such a way that produces a new product deliverable.  These stories receive a point estimate and are the sole driver of velocity.  Feature stories may track both consumer facing functionality and back-end functionality that is only consumed by developers.

Bug: This story type is used to record defects against existing functionality that was delivered via a previous feature story.  Bugs do not receive a point estimate because they are a flaw in a previously worked feature story for which points were already earned.

Chore: A chore is any effort that supports development of the application but that does not produce a product deliverable.  Examples include configuration of a development environment and ‘spike’ which is an exploration of new technologies and techniques that may benefit development of features.

Returning to our discussion on the proper story type for back-end functionality let’s cover the pro-con for both feature and chore:

Pro Feature: When written as a feature, all back-end functionality can be estimated and is represented in project velocity.  Tracking with a point value is appropriate because this story results in a product deliverable.

Con Feature: This story cannot be directly consumed by the end user.  This results in confusion for product managers who contribute stories from the perspective of an end consumer because they are unable to sign-off on non consumer facing functionality.

Pro Chore: The chore requires no sign-off which frees the product manager from confusion and uncertainty of the story’s status.

Con Chore: The chore carries no point value yet produces a deliverable that is not reflected in velocity.  This story requires no sign-off and will not receive the same attention as features when reviewed by QA and product management.

While I recognize the shortcomings of the feature story type for back-end functionality I’m not convinced that chore is the appropriate container for these stories.  I believe back-end should affect velocity because its’ development effort produces product functionality that can be consumed (a deliverable).  I would like to eliminate the confusion of QA and product who have a difficult time verifying back-end functionality as they cannot directly consume it.

The use of categorization for feature stories might allow for more accurate tracking of back-end product development but may do little more than writing the stories from a developer’s persona as we do currently.  I’m looking for suggestions on this one, if you’ve encountered the same concern and have a solution please share in the comments below.


Announcing ForFHA.com

As a first time home buyer I’ve recently experienced the roller coaster of surprise and challenge I imagine most first timers have encountered.  One of the major themes of this experience was finding real estate that would qualify for a loan.  As a naive first timer I expected to become pre-approved as a buyer and then purchase anything I could afford with the loan I received.  I was way off…

I found a property and went to my realtor to write an offer, that’s when the news hit me.  My realtor had spoken with my mortgage broker who informed her that I was applying for an FHA mortgage.  Turns out FHA mortgages have a long list of conditions that must be met in order for the loan to be approved.  This discovery quickly eliminated the property I’d chosen along with my alternate as neither were FHA approved and the FHA spot approval was set to expire on October 1st. (HUD letter: http://www.hud.gov/offices/adm/hudclips/letters/mortgagee/files/09-19ml.doc )

As a result of this new discovery I was told I would need to start my property search again from the beginning and target FHA approved listings.  I asked my realtor for a list of FHA approved listings in the area and was referred to a HUD website that I was told would allow me to search for condos of interest by name and location and would return approval details if the condo was approved.  I tried the form a few times and abandoned my search in defeat when I failed to get any results.

You can try the form for yourself at: https://entp.hud.gov/idapp/html/condlook.cfm

The directions I had were to enter a condo name and the location of the condo and hope for results.  I never found anything using this strategy (Note: The approval type defaulted to HRAP/DELRAP at the time of my search)

After being frustrated for some time I decided to adjust my approach with the form and eventually uncovered a few lists of approved condos.  The process had been far less intuitive than necessary so I decided to make it easier for everyone.

The result of my effort to make finding FHA approved condos easier is: http://www.forfha.com

The site makes finding FHA approved condos easier by offering visitors a clear path of navigating to concise lists of approved properties with clear details available within 3 clicks.  Give it a try and send me feedback on your experience.  My hope is the site saves others from the difficulty and stress I encountered when looking for my first home.


Google Light Maps

As a developer of several high traffic sites I am constantly interested in shaving time off both page load and render.   As I was reviewing the performance of our real estate search sites I noticed Google Maps took roughly 1.5 seconds to download and render in Firefox 3 with 20 marker points.

The majority of our visitors arrive via Google searches that typically render search results in less than 500ms.  For our site to require an expense of 3x this just to render a map with no other page content is excessive.  We sought a solution that preserved the geo-spatial association of our data afforded by a map with a greatly reduced download and rendering cost.

The solution materialized in light maps, a very lightweight Google Mapping application that makes use of the Google Maps Static API and jQuery.

To learn more : http://github.com/zadams/light-maps

Adding light maps to your site only requires 5 steps:

1) Get a Google Maps API key for your domain: http://code.google.com/apis/maps/signup.html

2) Create a page and include jQuery and the light maps JS files:

<script type='text/javascript'>
document.write(unescape("%3Cscript src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E"));
<script src="./scripts/light-map.js" type='text/javascript'></script>

3) Create a div to contain your map and give it dimensions

<div id="map_layer" style="width:584px; height:368px;"></div>

4) Generate a static image request to Google maps that includes your map points

<div id="map_layer" style="width:584px; height:368px;">
    <img src="http://maps.google.com/staticmap?center=37.4419,-122.1419&zoom=13&size=584x368&maptype=roadmap&markers=37.4419,-122.1419,red%7C37.4366,-122.1521,red%7C37.4299,-122.1256%7C37.4521,-122.1619,red%7C37.4301,-122.1691,red&sensor=false&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSsTL4WIgxhMZ0ZK_kHjwHeQuOD4xQJpBVbSrqNn69S6DOTv203MQ5ufA" alt="map with markers" id="mapimage">

5) Create a JSON object named mapinfo that contains each of your map points and a centerpoint.

<script type="text/javascript">
  var mapinfo = {
    "centerpoint": {"lat":"37.4419", "long":"-122.1419"},
    "zoomlevel": "13",
    "markers": [
          {"point":{"lat": "37.4419","long": "-122.1419"}},
          {"point":{"lat": "37.4366","long": "-122.1521"}},
          {"point":{"lat": "37.4301","long": "-122.1691"}},
          {"point":{"lat": "37.4299","long": "-122.1256"}},
          {"point":{"lat": "37.4521","long": "-122.1619"}}

Done! Your finished product should look something like http://www.zadams.com/dev/light-maps/sample.html

If you are interested in a real world example we’ve used Light Maps to reduce download and render time in production on all of our core web products including www.apartmentguide.com, www.rentals.com, www.rentalhouses.com and www.newhomeguide.com. While a recent decision was made to remove the static map component to reduce API request to Google Maps the dynamic component that renders a map from JSON is still in place if you’d like to see a working example.


RubyTrends.com : Hot topics in Ruby web development

Know what the hottest topic in Ruby is?

Keeping track of emerging trends in web development can be challenging given all of the inputs available.  For those of you who use Ruby and/or Agile practices I recommend RubyTrends.com

RubyTrends Home Page

RubyTrends covers all the major categories: projects, books, screencasts, practices and products.  It’s easy to stay current on the latest trends thanks to RubyTrend’s twitter feed, rss feeds for each category, and a handy feature for registered users that shows trends added since your last visit ( available under My Account )

While the site is young it’s gaining attention in the RoR community and generating enough traffic to expose relevant trends.  My only recommendation is add a blog section that tracks popular Ruby blogs.  It might be cool to rank individual blog posts too.

RubyTrends was created by Andy Stone an Atlanta area Ruby web developer and co-worker of mine at Primedia where we’ve worked on projects including www.apartmentguide.com and www.rentalhouses.com  Andy is also known for his open-source Ruby on Rails user authorization system Lockdown


Google Search Ranking with RankNStein.com

Are you a web developer or SEO professional who would like to easily determine where your site turns up in Google search results?  If so there’s a new tool that will make quick work of finding out in which position your site appears for selected keywords.

RankNStein : www.ranknstein.com is a straighforward tool that allows you to type keywords you’d like to test along with your site’s URL (screenshot below).  It then returns the position of your site in Google’s result list as long as it places within the top 64 results.

Checking my site for keywords: Zack AdamsOuch, I have some work to do

RankNStein was created by Bill Siggelkow an Atlanta area web developer who works with me at Primedia developing sites like www.apartmentguide.com

zadams.com Blog Powered by Tumblr