Current Topic: About Software Evolution by Alexander Womack
You have a privilege to create a quiz (QnA) related to this subject and obtain creativity score...
The source of modern computers goes as far back into history as written language itself. One of the very earliest accounts of written language was the Sumerians going back 5,000 years ago. It was from this form of language and codification that computer technology was born. Thousands of years after the Sumerians, the first computer was released in 1946. The early computers went through many changes over the years since it was released. The early computers consisted of hardware drivers, the data for software, and the business logic which was an essential requirement to run the programs.
The computer industry evolved over the years and expanded in terms of programming. The early programmers had to write hardware drivers which were a strenuous task because it required the skills to write programs that communicated with computer hardware, by hand. As the software developed over the years, operating systems and database vendors took over the task of hardware driver programming while software developers focused more on creating better working and more complicated programs.
After many years of this evolutionary process, a costly problem arose: Many pieces of software duplicated in thousands of applications making it extremely expensive and time-consuming for maintenance.
Because every piece of software was specifically designed for specific business purposes, if there were changes in the business services, experts had to start new projects to re-build the applications.
After noticing this time consuming and very costly issue, SOA (Service Oriented Architecture) shifted development focus to business functions and related services. To fix the matter, applications were designed to be reusable. This great idea taught programmers to pay close attention to building more versatile pieces of software that could be used for many more applications.
Computer Programming is still an evolving field and still finding ways to deal with the many challenges that may arise. As more people become interested in this growing field, the more ideas people will bring to this growing field to bridge gaps between software and its actual practical use in the corporation.