Sunday, December 20, 2009

Adopting Agile Software Development

OK, so I finally settled on an idea for my first startup attempt. I'm gonna be creating a web based application that will allow people to convert their text-based docs to audio mp3.

There it is ! finally, settled on something, after so much ...

Now, the real trouble is to make a living, breathing, cool piece of software out of that idea.
I need to implement it and I need a process or methodology to help me accomplish my goal because I know creating that application won't be easy !

Lately, I came accross Agile methologies for developing software (Scrum and eXtreme Programming) and I fell in love with them. they seem such a natural way of doing things to me :

-there's no need to worry about the future, you just do something that works now.
-it puts simplicity, communication and courage forward.
-you get to see a working version of your software soon instead of being stuck in design as I used to.

so, that's the reason I decided to adopt Scrum and XP for my team. they so much fit my way of doing things and plus, it seems easier.

I haven't yet done a project from start to finish using that methodology but I'm sure i'll be successful using it. Just watch as I go along trying to master Scrum and XP and apply it to Thunder at the same time. I sure hope it's gonna be worth it .

Thursday, August 27, 2009

The dangers of multitasking

Since high school, I developed a harmful habit : multitasking (the act of switching between multiple tasks at once).

It came as a result of the classes being sooo boring I just couldn't stand them ! nor could I just not attend the classes as I would be marked absent and be penalized. Thus, I adapted : multitasking. switching rapidly between multiple things at once, doing many things at once.
So, I could "follow" the class while reading a novel . Classes became more bearable as I could just switch to reading my novels whenever the teacher started ... well ... being boring.




As years passed, I kept on using the technique on and on and on. I apparently did not notice anything bad as long as I was still doing my Bachelor. It was all good. I would even study while simultaneously watching a movie !

Just some few months ago, I noticed that my efficiency at coding was so low whenever I tried to do something else at the same time. I would spend much more time than was normally required when multitasking and worse, I would even be less efficient (Boy!, didn't I just say that word ?). So, after analyzing the situation for a while, I came to a conclusion :

No matter how well you think you are good at multitasking, you're surely mistaken !

The thing with multitasking people is that they always think they've got it under control when actually they don't. multitasking wastes an awful lot of time. you have to switch between tasks and the time needed for your brain to change "context" increases with the complexity of the tasks. (http://www.apa.org/releases/multitasking.html) .

So, now I try as hard as possible to do one and only one thing at a time. for, it is better for me that way. and I achieve high levels of concentration when I do. That's what is needed to develop good software. otherwise, you'll end up with so many bugs in your code or worse, you won't even make progress.