Thursday, May 17, 2007

Software In a Nutshell

Education and Training in Software industry will be more relevant and comprehensive when the curriculum includes coverage in the following areas.

Software As a Business
Software products, professional services or a business that is mixed is what we generally observe in this area. The older businesses had hardware manufacturing too with their offerings. Standardization influenced the hardware manufacturing (computer machines) independent of the software products. By the mid '80s independent software products and application businesses took on. In the case of software, the product and the vehicle to deliver products is software.


Software As a Service
Modular, standard software gave rise to independent service offerings with the Software. Software as a Service (SaaS) is also known as On demand software.
The impact of SaaS on the Software industry, which type of modules will benefit with SaaS offerings are points for analysis. Newer trends in offerings such as SaaS does not mean they will displace the traditional approaches to building software.

Several Categories of Software
There are many Computer Software categories. System software, Application software, web applications, Engineering/ Scientific software, Artificial Intelligence software, embedded software are some of them. Although many practices are similar, focus on the nature of software will reveal the differentiators.

Software Development As An Art
The intangible nature of software and the art of programming have given rise to several myths about its people and how they build software. Poetry writing comes closest to the aura about programming.

Engineering Discipline for Software
Software Engineering is about the discipline to commit to quality assurance. It is the language of the software professional and the industry. There are several software development models and techniques to provide visibility into software development stages. Software configuration management (SCM) avoids chaos associated with software development and maintenance.

Choices for Building Software
In house development, using professional services or out sourcing are some of the choices to build software.

Open Source
The community model of developing software is Open source. How Open source fits in the enterprise offerings, how Open source offerings make their money are some questions to consider.

Software Security
Security is not something that is an add-on feature. Secure software is a requirement. It is to be treated as part of the requirements engineering. Identifying risks, how to mitigate risks with proper controls begins in the requirements phase is an ingredient of the life cycle.

Social Software
Collaboration software over the web forming communities of similar interests is the topic. Generations that grow up with the social software have no barriers to pursue their interests.


Software development around the world

Each and every part of the world have been influencing the development of software trends.
This is not new. The product and service offerings have been influenced by the educational background of the IS professionals, emphasis of schools geographically.

Legal & Ethical Issues with Software

Several laws and acts come into play to protect the consumer. Governments, businesses lead the way monitoring and maintaining legal and ethical conduct of the software practices.

Influence of software on the Society
Software offerings have been influencing corporate to consumer expectations. While the gadgets and devices using software are becoming more user friendly and convenient, consumers are becoming more techno savvy. They are here to influence the corporate settings with their preferences.