Software Development – avoiding trouble
If you were on a journey, and you had to go through a town. But, you knew the town was full of roadworks and detours, you would try and find a simple way through. Why take the complicated way, when you could take the simple route? Seems obvious right? But, when developers are writing software they often ignore the complexity they can see. There are signs in front of them that what they about to start writing is full of problems. – Complexity, potential road blocks, uncertainty. Yet they steam straight ahead, why?
It’s because all those problems in software are intellectual challenges. Every problem requires coming up with a solution, and so they want to do it, for the satisfaction of beating all the problems.
But there is a price. If you took the complex, difficult road route to your destination, you would arrive later, and you don’t want to. So you find a simpler way. And equally writing complex software instead of choosing the simple way, has the same effect, you arrive later. And in this case the destination is delivery of the software, finishing it, which gets delayed.
I have led teams of developers where I had in my team people who wanted to make the software more complex, just for the challenge it gave them. Great fun for them if I let them, but hazardous for the people waiting for the product.
I have a maxim that the quickest way to deliver software is don’t write it! If it’s complex, find a better way, there nearly always is one that does 90% of the same functionality for 50% of the effort.
iPhone supports independent developers
iPhone uses an elegant development infrastructure. I have seen many architectures in my time, but by making use of the tools and architecture used in the development of Mac OS X, Apple have incrementally cashed in on work they have done before.
This also applies to the AppStore which is an evolution of iTunes into iPhone applications. Using the AppStore as a means of distribution is a very efficient way to get applications to users. In addition Apple have exploited the payment systems developed for iTunes. The really sharp trick however, was to make the licensing of tools inexpensive and so open up access to small studios and independent developers. This has meant the iPhone cashes in on the wealth of creativity in individual developers across the world
Add all that independent creative inspiration and talent to a well designed iPhone platform from a respected manufacturer known for cool design and you can see that it is a potent success recipe.
But like many platforms before, it’s the software developers, not the hardware that really drive the success.
Another Language
I’ve been reflecting, mainly because I am learning to use yet another programming language, I’ve been reflecting how many languages I have learnt and used in my software career. Here’s my list:
PL/1, RPG, COBOL, FORTRAN, DBASE II, Basic in various flavours, Z80 Assembler, 6502 Assembler, 68000 Assembler, 80×86 Assembler. Forth, C, C++, Visual Basic, Visual C++, Java, Ruby, and now Objective C. There are others that I can’t remember the name of.
That’s about 18 or more. It’s the way things go, the profession has fast moving technology. Things continually change. I could add in the dozens of architectures and hardware specifics I have worked with too.
The consequence is that you are continually learning, you never get mastery of everything you need, as in other professions. Even medicine has changing technology, but I think, software development is maybe a leader on requiring constant retraining and education for its professionals on such a scale.
-
Archives
- March 2010 (4)
- February 2010 (17)
- January 2010 (25)
- December 2009 (3)
- November 2009 (8)
- October 2009 (4)
- September 2009 (2)
- August 2009 (1)
- July 2009 (3)
- June 2009 (4)
- May 2009 (3)
- April 2009 (4)
-
Categories
- Addictive Games
- Comedy
- Football
- Football Manager
- Fun
- Games
- Games Design
- Google Android
- iPhone, iPad and iPod Touch
- Kevin Toms
- Life Thoughts, Philosophy
- Money and Business
- Premier League
- Present
- Software Development and Delivery
- Software development tools
- Software Star
- The 80s
- Tools
- World Cup Football
-
RSS
Entries RSS
Comments RSS
