Software Development as a Commodity, Continued
Software developers will soon be plug and play. Last time, I made the argument from the perspective of an engineering purist. This time, I make it using the support of an innovative methodology
Agile methodology refers to a set of practices that look for effective solutions by dealing with complexity. It deals with this complexity in an intelligent but open way, rather than a stupid, but clearly defined manner. Agile methods usually work by creating a very simple rule set, that creates feedback points in a development process.
Key agile processes are extreme programming (XP) and scrum. Worth reading now, but discussed in detail later, is the agile manifesto.
Specifically, xp is great for advancing the concept of software developers as components. It does through a few rules, most notably built in unit testing and shared code ownership.
Having built in unit testing, means that the code itself knows whether it is right or not. If a change somewhere changes this, feedback comes immediately. This feedback comes regardless of who the current developer is, that is making changes.
By having the code speak to the developer in this way decreases the ramp up time required for a developer to become productive. This also lets a developer freely experiment in writing code, without fear of horribly affecting other sections of code.
Thanks to unit testing, now all developers with a certain minimum set of skills can make useful contributions to the entire codebase in question. This is a very liberating feeling.
But, while XP, the brainchild of Kent Beck, is a great boon for developers, they should not lose sight of the downfall. That is, it makes a developer, on average, less special. This means, developers that felt safe in their careers, just because they understood their special section of code, ...would not have that opportunity in an XP environment.
Taking this even further, and applying a number of other, key principles from XP, developers begin to seem more like the replaceable components of which I speak.
related stories, by category: