In my company each developer is given a project to work on his own, so there is hardly any teamwork. I've been building software like this, without the discipline of a good methodology of development, for a year. The results were ok but I would like to change and start using a more serious development approach for my next projects.
What would you consider the best practices to develop software on your own? What methodologies could I use in order to avoid common pitfalls in software development? What models of software development (waterfall -I'm joking-, extreme, agile, etc) are best suited for me?
I'd be very happy if you point me to some resources or tutorials where I could learn how to be a better developer :)
Thanks.
It's very hard developing software on your own, having another human being to bounce ideas off makes things so much easier / more satisfying. But, here's the kicker - that other person doesn't really have to be all that tuned in to what you're doing. Simply explaining things to somebody else often gives you insights into what you are doing.
I used to work with somebody that recommended "talking to teddy" - i.e. pick your favourite stuffed toy (Mr Binky), explain the ins and outs of that new RESTful API you are working on to Mr Binky. Slap your head as a blinding flash of inspiration hits you - "gah, I knew that I needed another resource in there, thanks Binkster!".
Mind you, I'm not sure of that colleagues sanity...
For a more reasoned approach, couldn't you form a loose alliance with another developer where you bounce your projects off each other, even if you then go back to working in isolation?
Do not fall into the trap of not documenting your code! that's, I think, one of the pieces of advice that is easily forgotten, because, hey you wrote the could yourself so you ought to know what it does, right?... wrong! just pick up one of your yesteryear projects and figure out how things worked without using any documentation whatsoever, it's like reading someone else (bad) code.
I always encourage myself to use a standard documentation style, like javadoc for java or the equivalent for .NET in code, but really any kind of documentation is better then none at all...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With