Thanks to my friend Chokks who sent me this link to an article “What Gartner Is Telling Your Boss” in Devsource that brings out the theme expressed during the Gartner’s Application Development Summit. The essence that I took from this article is that development is no more on how fast you can develop rather how better you can code and how well the system is architected for more reuse and plug and play kind of environment. The following passages are few excerpts taken up from the article that talk about this.
“Developers may be relieved to know that Gartner is not stressing the need for programmers to write code faster. Faster is good, said Hoyle, but better is more important. Hoyle, who refered to RAD (rapid application deployment) as a way to create lousy programs fast, made it clear that agile methods are an accepted part of enterprise software development, and are no longer a subject only for methodology zealots. In his presentation later in the day, “Project Management in a Process Oriented World,” for example, Hoyle stressed that task granularity should generally be 8 to 80 hours, and suggested that agile methods be applied to business process management.”
“The future of application development is not about programmer productivity,” said Hoyle during the keynote presentation, “but in assembling functionality from components.” While programming will not go away, he stressed, programming has decreasing importance in delivering excellence. “Assembling, buying, and extracting is an increasing part of what you need to do,” he said. To be more agile and responsive, application development managers have to manipulate, orchestrate, and compose new business processes, using resources available from outside partners, third-party applications, Web services, and existing code components. Veccio asked, “Why would you ever code an app from scratch again? Why would you need to?”
It is important as a developer to think if a piece of your code is a common solution for a common problem. If yes it makes lot of sense to keep it generic and reuse it wherever it applies. Architectures such as SOA emphasizes on components that are services (not necessarily web services) reusable wherever applicable. Think about the amount of time that could be saved when you have pieces already developed and you could fit into wherever that solution is needed. In fact the Web 2.0 has lot of relevance here wherein you don’t need to plugin only the reusable component you have developed but components available over the internet. That is true way of thinking web as a platform.