Category Archives: Philosophy

My own thoughts on how a project should be run.

Google+ Evolves in Real Time?

I just had the strangest experience….

I help with the social media campaign for a group to which I belong. I just got a list of all the email addresses of our members so that I could invite them to join our Facebook and/or Google+ group. I started with the Google+ group, figuring the invitee list would be smaller: I’d start by just inviting the folks with gmail accounts. Since there are 900 members, that was a way to thin down my task a bit.

So, I turned on a movie and started inviting people to the list.

At the top of the list, each time I tried adding the email address of someone who wasn’t a member of Google+, I saw a pop-up message stating that I could only invite members of Google+ to join the group.

But, about 20 or 30 names into this, all of the sudden, the system started accepting all of the names. Was I getting lucky? Were all these people members of Google+? I don’t think so. Because initially, when I’d add a name that would be accepted, that nice little blue box would pop into the spot where I’d put the email address, and it would show the person’s name with their email address. Now, if there was no name, the blue box was just showing the person’s email address.

So I tried an experiment. I started throwing in some of the non-gmail addresses. Now I know that you don’t have to be a gmail address holder to be a member of Google+, but the chances are more likely. And it could be that the stars were aligned correctly and the non-gmail addresses I picked at random just happened to belong to Google+ members. But I doubt it. Hm…. but maybe….. I should buy a lottery ticket tonight?? 🙂

So what happened? Did some algorithm change in the middle of my process? Was there someone actually watching what I was doing and change the behavior of the application as I was using it. I think the former is much more likely than the latter.

But how do I research this? What sorts of terms would I put in the search bar?

One wonders……

On Time Projects

I find myself oftentimes trying to get developers to understand why it’s important to give a client a realistic date upon which to expect a release. I have heard the words that make me cringe: “But it will be ready when it’s ready. This is new stuff and we can’t predict what might happen along the way.” Try telling that to your client for whom your software is a necessary piece for their own software.

I think I’ve finally figured out a way to explain it……

I think every area of the country has the ‘backyard’ auto mechanic. The guy with several cars sitting around that haven’t been repaired since before you were born. But often those folks know more about cars than you can shake a stick at. In my area of the country, we have some of those that are actual businesses. And a few have been recommended to me as the best place to take my not-so-new cars.

When you take your car to a mechanic, it doesn’t halt your need for a vehicle. Especially in areas with poor public transportation. That means either having to rely on someone else to drive you places, or drive with you places, or it means renting a car.

Now the dilemma with the ‘backyard’ mechanic. They may be good. They may be less expensive than the other guy. But many times you don’t know when your car will be finished.

So you take the car in for what you hope is a straightforward repair. You ask the mechanic when it’ll be done and you get a general handwaving. So you make arrangements to hitch a ride, or, worse, you rent a car, to tide you over until your car is ready.

A week passes. Your car isn’t ready yet. Your told the parts have finally arrived, and you’ve moved up the priority list, so they should be working on your car again soon.

Another week passes. Your car isn’t ready yet. Something else came it that was more important than getting your car done.

Another week passes. You finally get your car back. Mind you, when you get it, it runs better than when you left it, because they’ve tweaked a few other things that had been annoying you that you hadn’t even mentioned.

But the fact remains that you were 3 weeks without your car, you were inconvenienced much longer than you expected to be, and you may, if you did end up renting a car, be out more than if you’d taken it to the ‘other guy’.

Now think about a software project. The developers tell you that, with design, development, code review, and testing, the project will take 8 weeks. 6 weeks rolls around and the coding isn’t done. They say it’ll be at least another week added on. 8 weeks passes and the coding is finally done and reviewed. But it’s not tested yet. Add another two weeks. 11 weeks passes. The software is finally delivered. It works great. But in the meantime, you’ve had your team sitting on their thumbs waiting for that functionality so they could get their part done. And your clients, to whom you’ve promised an end product, will now have to be told that it needs to come a month later. So your clients go somewhere else.

Kinda makes sense, huh?