How to ensure progress in programming

Tom Grant, Senior analyst, Forrester Research, Five principles for ensuring progress in programming Know thy customer. Software must address customer needs in direct ways that are easy to understand and consume. Designing software that is immediately useful and self-evidently valuable requires dedicated, ongoing work, not a quick research project in the planning phase of a release. Integration, integration, integration. Many software vendors have yet to learn a basic truth: their customers often value integration more than new features. That is because the customers assemble solutions for themselves, instead of expecting vendors to provide them with all the pieces. While developers who want to build the Grand Software Theory Of Everything might find this disappointing or humbling, it is necessary if you are to take the customer seriously. Welcome to the world that service-oriented architecture built, in which integrating with the existing IT components is more valuable than ripping out and replacing them. Compartmentalise, then compartmentalise some more. Trends such as outsourcing are forcing development teams to break down projects into ever smaller, ever more manageable chunks. “Long pole” projects are still inevitable, but development teams need to approach them in a more episodic way, scheduling checkpoints at which they can evaluate the progress to date. Even the longest pole projects still have to avoid the “check-in from hell”, when all the hidden problems of the code come to roost. Frameworks help a lot, but only so much. In many respects, the debate between advocates of frameworks (Django, Ruby and so on) and development language purists is meaningless. In the real world, developers need the short cuts that frameworks provide, but they also have to be aware of their limits. Good judgment requires some familiarity with the underlying languages. Therefore, the best framework can take you only so far if you don’t really understand Python, JavaScript, or whatever the underlying language happens to be. Schedule security projects early. However security fits into a development project, smart development teams put security into the schedule early. Security deserves high priority. It is also harder to add security features after coding everything else than it is to build security components first, and shape other components to fit them.

Full published article at: http://feeds.computing.co.uk/c/554/f/10978/s/2055952/l/0L0Scomputing0O0C2227415/story01.htm

Leave a Reply


Arkytek // development // hosting // creative // support
Copyright © Arkytek Ltd // Entries (RSS) // Comments (RSS).

Valid XHTML 1.0 Transitional