Thursday, December 9, 2010

Keep Walking

I think a good metaphor for life is walking to somewhere. Sometimes, perhaps more so than others, it's freezing outside. You're cold, tired, and don't want to go on anymore, and to make things worse, you don't even know where you're going or how much longer you have to walk.

It's not fun, maybe even miserable, and yet you keep walking. You're tired and you have no idea how much longer you have to walk, and yet you keep walking. Why? Because you know that eventually, somewhere, there's an end to this journey, where you'll be able to sit down someplace warm and comfy and be able to rest.

As you tiredly walk in this cold journey, you see others walk by. There are some who are as cold and tired as you, but there are also some happily jogging, and you wonder to yourself how they could possibly be enjoying themselves when it's freezing outside.

I don't have an answer on how to enjoy the journey, because honestly, I'm still trying to figure it out myself. But what I do know is that you can't stop, you have to keep walking. No matter how tired, cold, and miserable you might be, you have to keep going, because somewhere, somehow, there's a warm place to rest at the end of the journey. And if you stop, you'll never make it, so just keep walking.

Wednesday, December 8, 2010

Managing Software by Managing People (CS 428)

There are many things to take into consideration when managing the development of software, such as the development process, the budget, and the schedule. The most important element of managing software, however, is the people. It’s the people that will create the software, determine when the software gets finished, and determine the quality of the finished product. The major hurdles that face the manager will depend not so much on the complexities of the software as it does on how people will build it. Understanding this could mean the difference between success and failure.

The quality of a program is dependent on the quality of the people who build it. If there are lousy designers, the result could be a design that’s impossible to implement or software that doesn’t do what it’s supposed to. If the coders and testers are lousy, the result could be a product riddled with bugs that took too long to build. Quality people can create quality software, so the people working on the project should be chosen well.

The software will still be hampered, however, if they’re poorly managed. Not everyone works the same way, so what’s needed for a person to perform optimally isn’t the same for everyone. For instance, if all the team members are young, single adults that can be fueled simply by pizza, fifty hour work weeks could be possible. If a team of older, married adults with kids were to have fifty hour work weeks they would likely be burned out and their work would suffer as a result. People also do well when they’re excited about what they’re working on, so what part of the project a person would be more excited about should be taken into consideration. How people are managed greatly affects the quality of the software, so when a problem arises, the problem can often be traced back to people.

When problems arise, and they always do, it’s usually a people problem. For example, if a project runs late, it could be because the manager didn’t schedule enough time for testing. If the software fails to meet the user’s needs, it could be because the designers didn’t adequately gather the requirements. Sometimes even honest attempts to improve performance can backfire. For example, if success is measured by how fast a software project is released, the result could be a project that’s released on time but at the cost of missing features or buggy code. By understanding that problems are really people problems, the issue can be tackled at its source.

The best way to manage software is to manage people. Do whatever that’s needed for the team work effectively, even if it means spending extra money on something like food. If people are happy and can work effectively then a successful software project is likely. Poorly managing people working on the project is a great way to ruin it. Cut their pay in half, have them work sixty hour weeks for several months, fire your testing team, and you’ll end up with a barely-working program that doesn’t meet the user’s needs. The people working on the software project are the most important aspect of management, and understanding this can mean the difference between success and failure.

Friday, December 3, 2010

I Like Being Weird

A lot of people try to be "normal" or to "fit in." I, however, dive head first in the opposite direction. Yesterday as I went to the kitchen, I heard some familiar music coming from the living room. My roommate was in there on his laptop, and he said to me,

"Did you know that others can see your iTunes library?"
"You've got some weird music."
"I know."

If you want to see an example of my weird taste in music, you can check out this playlist I made on Youtube.

Not exactly sure why I like being weird. Perhaps it's that I don't want to be like other people, or maybe it's because I like standing out or I'm actually trying to seek attention. I don't know the reason, really, and frankly I don't care.

Old Games

Since I'm a poor college student I don't buy many new games. Actually, I think it's been over five years since I bought a game when it first came out. I do, however, still enjoy many old games, and even occasionally buy games for older systems like the PS2 when they're less than $20.

When I went home for Thanksgiving break I took back with me some old PC games, namely Jazz Jackrabbit CD and SimCity 2000 Ultimate Edition. Thanks to DosBox, I've been able to play Jazz just fine (I can't play it in full screen, but hey, not a big deal) on my Windows 7, but SimCity 2000, however, has been a problem. It will run, and you can build a city just fine, but you can't save or load a file. This is a big problem because, while building a city is fun, it's almost pointless if I can't save it.
Interestingly, most of the game speeds in SimCity have a set timing, but I believe the fastest speed is set to run at however fast the processor can run, because once I select the fastest speed, it becomes impossible to change it before the end-of-the-year finances window pops up.

Having old games is great because they're still fun and they're free, it just sucks when they don't work like they used to.