From the Software Development Trenches

Tuesday, May 03, 2005

I like my Mac

It's strange to me that people still have such violent reactions to Macs. I like 'em because when I use one I think less about the computer I'm using and more about what I'm trying to do. I'm sure there are certain types of work where the Mac would get in the way, mostly likely in the enterprise space.

|

Thursday, November 11, 2004

Agile Development - Planning

I've never worked on an agile development project, but I like a lot of the ideas - iterations, focus on communication, unit testing. From what I've read it is not big on up front planning. This is problematic when trying to start a new project. The stakeholders want to know when you're going to have a prototype or proof-of-concept. Uh oh, you don't know what user stories you can get into the first iteration (do you even have user stories?) let alone when you're going to have enough user stories implemented to call the thing a prototype!

So what do you do? You fall back to the old way of planning a project, you estimate the phases. 4 weeks for design, 10 weeks for development, and 4 weeks for QA. 18 weeks for a prototype. Ahhhh, everyone feels better because there's a number. Is this number any good? I doubt it. Is it better than no number? Yes and no. Without a number you probably won't get the project approved, but now you've set an expectation that you have no idea if you can meet. What do you do next? Use all your skills and work your ass off to meet the expectations you've set and remember to use the parts of agile development that are appropriate. No wonder so many software projects fail, they're pretty much screwed from the beginning.

|

Friday, November 05, 2004

Mobile Programming

First, I'm not talking about Ruby on mobile devices. I'm talking about being able to program in Ruby from anywhere. As a developer I've always been resigned to the fact that I'd be tied to a specific machine (laptop or desktop). I couldn't just go off and borrow someone elses computer to do some development without installing runtimes, ide's, editors, libraries, etc. Then this morning I
thought, why not? Isn't a wiki just a brain-dead remote source code repository. Why not execute that repository? Obviously there need to be some configuration layers added, an editor tailored to programming, and other tools, but the basic concept isn't a huge leap.

I'm not the brightest bulb in the draw, so I figure someone must have thought of this before. Has anyone implemented it? Ruby seems like an ideal candidate for doing this kind of work. I'll keep this in mind as I learn it.

|

Thursday, November 04, 2004

People: Inherently Good or Bad?

Are people inherently:
Good or Bad?
Smart or Dumb?

These assumptions, like all assumptions, will frame any judgement you make. If you believe people are inherently smart, you'll get out of their way and let them do their thing. If you believe people are inherently dumb, you will be inclined to "help" people by deciding for them. Good, you'll get out of their way. Bad, you'll put up controls and checks. The same holds true for corporations and governments.

Let's make a grid:
                Good          Bad
Smart    Freedom   Police State

Dumb    Paternal    Asylum State(?)

I'm not sure anyone thinks people are inherently dumb and bad (please point me at someone who does, it would make for an interesting read).

Personally, I'll go with Smart and Good with the caveat, as pointed out in Agile Software Development, that people are inconsistent. I'll agree with Reagan, "Trust, but verify."

|

Wednesday, October 27, 2004

Programming Ruby!

All right, for the first time in a while I'm really excited about learning a new technology. I ordered Programming Ruby from Amazon. I've been agonizing over learning Python or Ruby. Python with Zope and Plone and its maturity was appealing especially as I was thinking about using it on a real project. Ruby was really a dark horse because I was and still am a little leary about its support for doing everything I want to do (SSL support, ecommerce, etc). I'm not saying Ruby is not as functional as Python or vice versa, I don't know either. I just want to do the project I want to do.

What sold me on Ruby was how different it is from Java and C++. I know Python is related to them in some way. I just wanted to get a completely different perspective on programming. The Ruby proponents tout how this different perspective can hance programming skills in general. We'll see.

I don't know if I'll be disappointed or not, and reading some of the discussions Ruby feels like a religion along the lines of the Mac. I'm a Mac fan, so I don't mind the zealots, but I'm a pragmatist at heart and just want to get stuff done. Since the Pragmatic Programmers wrote this book, I'm assuming they find Ruby to be useful to get stuff done.

|

Thursday, October 21, 2004

Engineering ASP

If I were starting an engineering team, I'd want source control, a bug tracker, a blogger (I think), and a wiki (I thnk). Seems like most teams would too. Anyone know of an ASP package that has this. If I have a small team, I want them focusing on the product, not this stuff. I don't want to buy and manage yet another machine either. Filesharing and backup could be simply managed under the source control system.

|

Wednesday, October 13, 2004

RSS, the New Push?

Man, I see all this stuff about RSS and podcasting and I can't help but be reminded of push. RSS lets you subscribe to information streams such as news, blogs, audio blogs (podcasting), and I'm sure video will be next. Sure it's a useful tool in the way HTML is a useful tool. I think all these aggregators are going to go the way of the HTML editors. They'll be a couple high end ones that have a level of control and simplicity that nobody else offers. Other than that, they'll mostly be integrated into existing services.

|

Microsoft is Irrelevant

Wow, I feel like an industry pundit. Just have a blog and throw out some inflammatory statement. Now all I have to do is blather on about how Open Source, SOA, XML, et al. are the death nell of Microsoft hegemony (dictionary.com is getting a workout :). This one VC is so sure of Microsoft's decline that he's selling all his Microsoft stock.

Well, I don't know if Microsoft will become irrelevant. I wouldn't even say they are really irrelevant in my life, it's just that they have become a choice where they were once a given. Windows has just become one of 3 containers, Mac OS X and Linux being the other 2, I use to access and transform data. I can do all the things I want/need to do from any of these containers.

The one area where Microsoft is relevant to me is in the game space. Windows is still the first platform for many games. If I still played a lot of computer games, I would probably have gotten a new PC a year or two ago. The video card on my PC is 16MB, I'm not sure that passes the minimum requirement for any games released these days.

|