Judas is currently certified at Master level.

Name: Magnus Norddahl
Member since: 2000-10-13 07:45:59
Last Login: N/A

FOAF RDF Share This

Homepage: http://dark.clansoft.dk/~mbn

Notes:

Founder of the cross platform game SDK called ClanLib.

Projects

Recent blog entries by Judas

Syndication: RSS 2.0

Read this on slashdot today. Although its bloody obvious stuff anyone nods when they hear, lately I've come across people that just learned .net and seem to think its the holy grail, replacing and beating any other system in every possible way.

So therefore, everyone repeat after Angst Badger (the guy on slashdot who wrote the obvious):

Until you understand the weaknesses as well as the strengths of your favorite language, you either haven't explored it fully or you don't know enough languages well enough to have a basis for comparison. (C|C++|Java|Perl|AWK|Python|COBOL|RPG|Fortran|BASI C|PHP|Forth|6502 Assembly|Forth) all suck if you're only looking at their flaws, and they all rock if you're only looking at their strengths. If you're not looking at both, you're not getting it.

Just read starch's Jul 2003 diary post (yeah we post seldomly here, hehe) about the problems of project management.

An interesting observation: If estimating the time it takes to complete a feature or prioritizing the right features to create is so important, why is it usually the coders that have trouble abstracting and designing things that ends up getting those positions? At least so it seems to me.

Part of the answer to the above problem is that there are generally two types of coders in this world: those good at it, and those not good at it. :) Those less good at thinking abstract and handling complex things, they often tend to try instead reach to management positions. Yes, there are probably exceptions, and yes I'm probably over generalizing here, but I seem to notice a pattern. :)

But anyways, thats not really what I wanted to write about. :)

The trick to good professional project management, avoiding feature-creep and keeping deadlines is having the right tools. And its probably the thing that is most tricky to get people to use. And the list of tools you could choose between is long.

Three things you need:

1. Good quality version control system.

By this I don't mean just installing your favorite version control system (ie CVS). No I'm talking about using these tools as they are intended to be used: do version control.

Version control doesnt mean "we can share files, I change things and commit, my coworkers change things and commit". No it means having a standardized structured system to keep track of all your different projects that involve changing the code base.

Lets say you got 4 bug reports and 7 feature requests. You should be able to individually develop on all those 11 issues at the same time. And not until a test has confirmed that the issue indeed is resolved should it be allowed into the main trunk.

The version control system should also keep track of all previously released versions, so you at any given time is able to go back and work or test from that version forward. This means tagging and keeping built executables around for each release.

The point of all this is to allow management to change their idea when they figure out that a cookie is sour, that they would rather prioritize another issue over the current one you are working, and punt issues to later scheduled releases.

Featurecreep can only be solved by making it obvious to the management what the time is spent on in the development department.

2. Issue (feature/bug) database.

This is a tool very important for the management. To be able to prioritize things correctly, it must be appearent and clearly visible what things are pending to be addressed. A issue database will do this for you.

Ideally the issue database and the version control system should be linked together, so that the versions available in the VCS is illustrating what issues there are open and closed in the issue database.

3. Automated build system.

There exist many tools for doing this; one I can recommend is Visual Build. Basically this is a way to setup scripts to hit the "F7" button or whatever is needed to build your product.

Automating this process is important to make it more easy for project managers, testers and coders to work on all the different issues in the system. Most version control systems are a bitch to use if you insist on doing it all manually, so its really a nice thing to have things just working nicely using a few scripts on an intranet server; or doing nightly builds or whatever.

Ok think I've written enough for now. :)

Today fabio wanted to play a multiplayer clanlib game with dark as server.

Couldn't show him any.

Ok, bored again. So why not update my advogato profile? :)

I noticed another guy rated me master here at advogato, thanks for the support. :) Next one that comes along thinking I deserve such a vote, please place it on sphair instead - he deserve as much credit as I when it comes to clanlib development.

Been playing around with Nokia's new java enabled mobile phones. Wrote a small IRC client that used GPRS to stay online on irc - ended up crashing both the emulator and the JVM running on the phone - so much for nokia QA. But it looked cool to see my phone connect to IRC, join a channel and display everything ppl wrote, only paying MB transfer prices. :) Its going to rock when nokia sort out those damn bugs - so maybe in next generation phones it will really allow you to do awesome stuff with your phone.

Oh oh, months have passed again.. :)

It is summer and in denmark, that means you are expected to take three weeks of holiday. People frequently ask me when I'm going have mine, and I really don't know what to say. I really dont feel up for doing anything these days, so using three weeks doing nothing seem like a total waste.

Its as if I've simply run completely out of inspiration.

If I really wanted to, I could finish up ClanLib-0.7's display part up in a weeks time, but there's no motivation to do so. Sure there are people that would like to have it to play with, but it more feels like work than a hobby for me.

I got the same problem at work. There are lots of stuff I could finish up fairly easilly, but it seems like it will bring me nowhere if I do, so why bother? Been wondering if I should quit because of that, or if I will just be trying to fix the symptons instead of the real cause of it.

I've lost the ability to dream. :|

10 older entries...

 

Judas certified others as follows:

  • Judas certified Judas as Master
  • Judas certified sphair as Master
  • Judas certified mstarch as Master
  • Judas certified drivers as Apprentice
  • Judas certified japj as Apprentice

Others have certified Judas as follows:

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page