Software Development for Dummies

by Mark Nijhof, in Design Principles | Saturday, February 14, 2009 | 6 comments
FubuMVCWhy do so many people and even actual developers think Software Development is easy, something that everybody can do? Do we really have to look back and see how many projects have failed? Or how many are a maintenance nightmare? Let me tell you by approximation:”Way too many”.

So can we maybe conclude that Software Development is not that easy, in fact let’s conclude that it is hard, very hard actually! Sure everybody can write some code that does something, even businessman can do this, be it in excel but still. Proper Software Development, software that will stand the test of time, or in other words software that is easy to change and extend, that is not so easy. That requires the developers to actually think about their design, anticipate change.

Anticipating change is hard; change is something humans by nature don’t handle very well. So anticipating to something like that is even harder, perhaps we don’t even want to think about it. Now let’s at least try to make this anticipation a little bit easier shall we?

That’s where principles like the SOLID principles come into play. These help us to anticipate change, enable us to deal with change much easier. They help the developer to properly design the software for the future. Uncle Bob has just written a nice blog post “Get a SOLID start” I recommend everybody to read this and follow his advice.

As a conclusion I would like to go back to the title, and I want to state that Software Development is _not_ for Dummies, it is for developers that consider themselves craftsman’s, developers that take pride in their code.

Keep learning, always!
Chad Myers (gravatar)

I love that picture, lol. Good posts, keep up the good work.

Chad Myers, Friday, February 13, 2009 at 11:54 PM

Jon Arild Tørresdal (gravatar)

Nice post Mark. Looking forward to your SOLID talk at NNUG! I like the attention that SOLID gets in the community now. Just hope it reaches the outer boarders, into books and teachers teach it to their students.

Jon Arild Tørresdal, Saturday, February 14, 2009 at 9:31 AM

Joseph Volcy (gravatar)

Very good post,

i totally agree, software development is 'not' for dummies !

Joseph Volcy, Thursday, February 19, 2009 at 10:45 AM

Office Design (gravatar)

Of course "Change is something humans by nature don’t handle very well" that's a fact, so i believe it's normal that software development with focus on future possible changes is hard.. even very hard as you say. However, i believe that today the business have changed and companies, startups, etc... exist much more shorter than before. what i mean is that we developers should sometimes work according to today's market and code something that will help the company right now and make it flourish... In my opinion, the effectiveness of a software is vital for the existence of the company, what i mean is that i prefer developing a software that works extremely well now, bearing in mind that major changes 'can' happen later than putting too much effort on thinking on the future (most of the time uncertain) and lose all the profits/benfits that the company can have right now...

Office Design, Friday, June 12, 2009 at 9:44 AM

Office Design (gravatar)

i totally agree, in today's difficult situation.. we need first to survive. We could only think about the future only if we have well started. So many times a rapidly developed software can make us survive. I agree that there can be a few bugs but at least we're still working and surviving...

Office Design, Tuesday, July 14, 2009 at 10:12 PM

James Viviers (gravatar)

Software development. Just take programs like games. People who create games I think can create any software. It takes about 3-5 years to create a game normally without knowing which games they are creating. If you are a starter in it you defintely going to adapt with it first because they need all the help to finish a game. And if it is a failure then it's a lot of money in the drain. Software development is interesting, but really difficult. It was students from england that started creating games. They used graph paper and typing in numbers (Binary codes, scripting are these days the development of games. Actually what I think is that scripting is the most difficult part of gaming development because it's that scripting that moves the player and other thing like shooting and stuff) Without using software. That students were geniuses.

James Viviers, Saturday, April 03, 2010 at 11:36 AM

Mark is reading

 
Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.