Monday, April 13, 2009

On Small, Low Margin Projects

Part 2: Short Interactions and Feedback

In a previous post, I wrote about some of the issues I have experienced with small projects and suggested that Waterfall, Cave of Solitude solutions tend to blow up in your face.

If we come back to the customer every 2 to 4 weeks, we can both learn about the other side of the transaction:


  • I can teach the customer how the process works, what is possible, what is easy and isn’t going to happen. If you are going to buy custom software you need to learn the process. It is like buying a new building; you aren’t going to use the gold plated faucets in the penthouse when we are still pouring concrete (I will restrain myself from going on for hundreds of words of half baked analogies).

  • The customer can teach me more about his business, what he expected the software to do and I missed on the first time around. What is important? What is a nice to have? I may have the opportunity to see the processes that are too complex to explain.

  • Customers like to feel that they are part of the process. If you are going to spend a few grand on something, you want a sense of what is going on. Buying custom software is a big part of the company’s activities and the owner may want to boast about it on his blog on in the local watering hole.

If we started at ground zero and only used Scrum like sprints but no initial framework, the first couple of sprints would give the customer little sense of satisfaction.

Sunday, April 12, 2009

On Small, Low Margin Projects

Part 1: The Problem

I have been involved in some small (low margin) projects for small business customers using a classic Waterfall type process where we get all of requirements from the customer and go into our digital cave for a few months to write our masterpiece. When we came back to the customer (usually late) to show them their shinny new program, we find that we got it wrong. On one program, we get calls from the customer as he discovers features.

The customer can’t tell us what they want in language we understand; they may know what they want, but not in our language. The customer may not have any experience buying custom software. We don’t know the business and its problems well enough. I think the effects of these problems can be mitigated by delivering more often (a la Agile).

If we were to go more agile, we would need a way to get something to the customer quickly. I don’t think a customer in this market would be impressed if, after the first sprint, I showed him a base list window, a base edit window and basic security. We need a base framework and possibly some modules that exist before the first sprint for the customer.

Wednesday, March 25, 2009

Earn CEO Pay Level from Home

As I was riding the bus to work I saw the sign above. I didn't make the call because I know that it some sort of a scam; I am still curious as how you would do this. Since some CEOs are now earning the princely sum of $1, I thought I would share some of my ideas:

  • Go to several convience stores and look for the little cup that says "Give a Penny, Take a Penny" and take all of the pennies. After 10 or 20 stores, you may earn your CEO's pay

  • Rummage through your couch for change.
  • Rummage through your car for change.
  • Rummage through your friend's and family's couchs and cars.
  • Use your God given talents, for example:
    1. Get your trusty old Marine Band Harmonica, a hat, cardboard and a Sharpie.

    2. With the Sharpie, write "Give me a CEO's Pay Level and I will stop playing" on the cardboard.
    3. Get on a bus, subway or some other place where it diffcult to leave, display the sign, put out the hat and start playing.

    If you play like me, there is a high risk of incarceration; with Correctional Industries pay rates, you can earn your CEO's pay in 5 or 6 hours of work

Saturday, March 14, 2009

Trying to get socially modern

What I'm doing, part 1.5

Besides Stack Overflow, I've been trying to actually write the blog and use twitter.  I'm actually writing to this blog (sort of) and I have created over 15 updates in twitter as jrcs3.  I'm following almost 10 people and have more than 2 people following me. So far I've taken a lot more than I've given.

I developed tunnel vision over the past few years. Get the code out and get on with my life. I work mainly in C# 2.0 in both ASP.NET and WinForms (no WPF yet). I also have a client that needs me to work in Access 97 and a SQL 200 ..... enough all ready

Anyway, with the ecomomy really freaking out, I need to look outside of my formally safe world of oldtime geekdom and look out to the wider world. I can go on about the scary stoff, but I am also intereted in the new opportunities that the ecomonic stress can create.

Sunday, March 01, 2009

StackOverflow

What I'm doing. Part 1

For the past 6 months or so, I have been playing with StackOverflow. I don't know that I've really gotten into it, but I still find it interesting.

Structured Discussion

It's like a discussion board but there are more rules and other forms of structure. Some of it is built into the application but most of it is enforced by the powerful menders of the community (see Badges and Reputation). Duplicate questions can also be closed as duplicate, so the answer is gathered in 1 place (though I would like to see them tighten up the support for this so it is easier to get to the parent question).

The discussion is pretty tightly focused on programming; whenever a non-programming question is asked it will either be voted down or closed by the powerful. It is good thing that the site stays on task, but there are times when "fun" questions are closed and I would have liked to see them live on. But, what is fun for one is noise for someone else; I can find "fun" someplace else.

Voting

Users of the system have to power to vote for or against any question or answer on the system. Questions with a lot of votes are considered "hot" and the questions with a lot of down votes end up in some sort of puritory. The users of the site decide what gains capital on SO. Voting also generated (and destroys) reputation.

Badges and Reputation

This is one of the official ways of controlling our behavior are Badges and Reputation.

For the most part, you get (and loose) repuptation through voting. Your reputation is dispalyed next to your profile. You are given more power as you gain repretation. The early powers are basic things like voting, leaving comments, the later powers are the godlike power of an administrator. As you do things to earn reputation, you are invested in site and are more likely to use your powers good.

You can earn badges by doing certain things that the sight owners want you to do. Your badge info is next to your reputation on your profile. Like the Olympics, you they come in bronze, silver and gold. The bronze metals are for firsts (getting through basic training, solder's first parashoot jump, etc.), moderate metrics of your questions and answers. Silver is for bigger first and bigger metrics. Gold for the big stuff.

Wednesday, February 18, 2009

What I'm Doing

The problem: I need to write to learn, but when I write, try to hard to make it perfect and eventually give up. The words get in the way of the idea. In fact, I spent several cycles trying to get this paragraph right and I am not satisfied with it even now.

I need to write to get over the hump of the perfect. I need to write %$#! so I can eventally write well. One way to learn is to explain it. Yada Yada Yada.

So I'm going to write a series of blog posts about what I'm doing. Mabie something will stick . . .

Wednesday, December 03, 2008

Test Data and Tea Leaves

When I am testing my own software (or someone else's for that matter), I tend to use name like
  • Darth Smith
  • Lisa Simpson
  • OJ Simpson
  • Jill Hill
  • Garth Vader
  • Darth Brooks
  • Maryann *
  • Shawn Carter
And street addresses like:
  • Box 1
  • PO Box 1111
  • Box 1234
  • 742 Evergreen Terrace
  • 1313 Mockingbird Lane
  • 1313 North 13th Street
  • 234118 NE 12145th Avenue Court Suite 31712
And cities like
  • LA
  • Mockingbird Heights
  • Springfield
  • NYC
  • Uppersex
  • North South Bend
  • Old Young America
  • Terror Lake
  • Darth's Church
There are only 50 US states and a dozen Canadian provinces and the State of Confusion, so I have less chance to improvise here.
Internet Data:
  • dvader@deathstar.gov (some argue it should be dvader@deathstar.mil)
  • a@b.c
  • http://www.starfleet.edu
  • jill@enemyster.bus
  • helen@heckhole.co.uk
  • http://www.nile.com
  • null://foo.az
What can you tell about a developer or tester based on common test data.
  • I use "LA" because it is easy, often grouped with "Box 1"
  • The name "Jill" shows up often, my name is "Jack", do I need to say more.
  • I'm old enough to think of "Darth" as a name and not a title.  I am more of a Star Wars geek than an Star Trek geek; there are times when "Kirk" shows up, so I am not a purist.  (I think I've even used Darth Spock at one point.)
  • When I'm not in a hurry, I like to come up with the long complex addresses that are found in sprawling cities
  • Sometimes I will play off existing existing domains like nile or enemyster and I tend to use upper level domains other than .com
  • I watched too much TV as a kid.