Monthly Archives: March 2009

Getting to Cadence

We are on the verge of catching a stride on the SnupNow team. Yes, that is me doing positive self-talk. We have a team that I believe will gel, but has not yet, so I am about to add ice. [Yes, I know there is a very small audience for that comment of those who have ever had to speed up jello.]  Several decisions I made have contributed to this pace, and I am not sorry I made them. I am in this for the long haul, and I know it will take persistence.

DECISION: I decided not to write software alone. I just snipped a justification for this decision. Some of you will understand without such, and those who don’t understand will be bored by the rationale.

DECISION: I decided where to go to seek angel developers (sweat-equity partners). I went to the group that I know and that knows me, the MultiValue (MV) space.

DECISION: I selected a not-yet-generally available platform. Cache’ is the newest and most expansive of the MV offerings. It is expansive because it was there before the MV feature set was added. It is bigger than MV and includes an AJAX framework, with the combination of AJAX and MV in general availability as of the last quarter of last year. 

DECISION: From those who applied to be partners, I ended up selecting and/or being selected by only people who live more than 10 hours away from me and from each other by car. The two closest currently active developers are more than 8 hours apart. Everyone has met me, but no two other developers have met each other, ever.

DECISION: I did not require that developers have all necessary skillsets before joining up. There are many reasons for this, but I’ll just mention one. MV developers typically do not chase technology, they solve business problems. They are more likely to understand the complexities in a name, address, and birthdate, along with more complex requirements, than be able to list the latest buzzwords. Most of the other team members have no object-oriented programming background, nor javascript, css, and in some cases no html or xml either. None of us have ever worked with Cache’ before. All are seasoned professionals, which, by the way, is what I call myself instead of saying that I’m an old coot.

I knew it would take some time to form this team. I did not know how long it would take developers working only a few hours a week to be ready to jump in, whether due to their time constraints, the learning curve, the fuzzy requirements and high level design, if any, or perhaps not finding the project fun or satisfying while in the learning curve.

Teams take time to form, even longer with a distributed team of seasoned professionals working odd hours who have never met each other and are working with tools they do not know, oh, and who are not getting paid actual money.  

Now for a team update.

I mentioned Bonnie earlier, prior to her dropping off the planet. After my failed attempts to reach her just to be sure she was OK, figuring she had decided not to participate, but prefering that such things be stated, I asked Ken to try. Ken knew Bonnie a little bit and had suggested we talk to her initially, and he didn’t know what happened to her either, but she never got off the ground in working on the project after her machine died early on. I told him I just wanted to be sure that nothing bad had happened, since it didn’t seem like she would just cut out without taking my calls or responding to emails. As it turns out, it was one of those “mom  has reason to worry” moments. It seems she was hit by a car, which is the most fantastic excuse coming from this team yet. It beats Bobby’s email to me this past week about missing our Saturday morning meeting:

“hey Saturday morning I was working outside on my workshop and put a framing nail through my left hand with a pneumatic nailer.  After trip to ER, I’ve been in and out all weekend on hydrocodone.”

Well, Bonnie had just returned from the hospital and was back to work when Ken touched base with her there. She had been in the hospital for 3 weeks. With a need to recover, among other things, she said she would not be joining us at this point, which is definitely understandable.

WOW, bummer. I certainly wish her the best in her recovery, and I am glad we finally heard from her. I’m thinking I should get the email address for the spouses or a friend of each partner. If someone is not responding, what do I do? I had this with one other partner early on and simply dropped him from the company when I had done due diligence. I’m pleased that I have met the spouses of all those who are active on the project. 

Active might be an overstatement. At this point, I think that five of us have contributed at least one line of code into at least one of the 25 builds we have had. Tom has contributed a lot more than that. Ken has worked on other aspects of the project and has contributed code, and Bobby and John are just beginning to write code. If we add them all up, I would estimate that about 10% of the deployed lines of code in our current build came from these 4 partners. 

When setting up the structure of the company, I computed my expected worth at a 5 (think “days”) with the total for these 4 developers of 6. The 90:10 current ratio compared to the anticipated 5:6, or 1:1 ratio (when factoring in communication) doesn’t mean to me that I computed incorrectly, but rather that we have not yet hit that stride. These guys are good at what they do in their day jobs. They will get good at snupping too and at fitting it into their routine. We will get there.

We are still in a very-un-Silicon-Valley-like gear-up phase, as some of those watching might think that more than a year is too long. We have no venture capital. While we do not have our initial software offering written yet, we keep moving forward, not spinning. We are simply moving slowly. We need to hit a stride, find our cadence.

To mix things up a bit, I am hoping to hire a college student as a contract programmer to significantly alter the average age of the development team, hopefully also writing some code. This would give me someone local and actually paid to work. I do not have a lot of cash for such an arrangement, so if you hear me indicate that I’ve taken any paying gigs in the future, it is not a lack of sticking with this project. I met with a student yesterday who I am hoping will jump in. He asked no questions and took no notes when I gave him a quick tour of the development environment, and yet I was pretty sure he caught on. There is something to be said for youth.

We also have two developers as owners (partners in the LLC) who are sitting on the bench by their own choice right now, and I am letting them do so by my choice at this point. Occasionally I make an effor to entice one or both to join us. Eventually they will, or not.

There is one more not-yet-a-partner who might sign on for a 1/4% of the company (not to be confused with 1/4 of the company), who is a long-time colleague from all those years ago working at the University of North Carolina, Chapel Hill (go Tar Heels). He is a one-man team with two software products, live ones, with paying customers and everything. He was a VP of a software company before starting out on his own. I have a weekly phone call with him to discuss our respective challenges.  In the plus column for him, he has revenue. In the plus column for me, I can go on vacation without figuring out how customers will be covered during that time.

I can see I’m writing too much right now, so I’ll mention what is working and save what isn’t for a rainy day. Some of the tools that are working and will help us get to that point of being a gelled team are:

Instant Messaging.  I use digsby, others use pidgin, sometimes gmail chat from the day job. This is how we know who is “in the office.”

Trac. We use this for requirements, tasks, and bug-tracking “tickets” as well as our project wiki. We are install the agilo add-in soon.

Conferencing. Occasionally we have used Go To Meeting or other meeting software, but I’ll admit we have typically used someone’s free days.

Phone conferencing. We use nocostconference.com for a weekly conference call where everyone available calls in, typically with their free mobile phone long distance, while some have to pay a little for the call.

VC/m. Version Control from georgejames.com. This has been very helpful from a team perspective since people know whether someone else is working on a class or not. I mentioned it in https://snupnow.wordpress.com/2009/01/04/software-builds-if-we-build-it/

I was going to mention techniques that have helped and some that have not, but I need to wrap this up and click Publish ASAP. I’m headed out on vacation tomorrow after our SnupNow meeting tomorrow morning. When I return, my top priority will be to help our team get into a groove, find a cadence. More important than that, however, is that I get to hit the road tomorrow to go see Cady, our beautiful 7-month old granddaughter. I just can’t wait to get to Cadence!