Tuesday, January 15, 2013

Emerging Trends in Software Development

University of Liverpool - Masters in Software Engineering

Choose an emerging trend in Software Development (you can use one from the text, the lecture, or some other trend you know about). Analyze its impact on software development in particular and society in general. What are challenges to existing systems?


Software development is constantly evolving and changing, with more and more trends emerging every year. Amongst this multitude of software trends, there are some which stand out, such as cloud computing. Although this software trend has been around for a while and it has been actively debated, there is still not one single definition experts can agree on (Knorr and Gruman, 2011).

Conceptually, however, cloud computing can be seen as a set of online virtual servers, which can host applications and can be used by an unlimited number of Internet users at the same time (Soliman, 2011). Even though the concept of cloud computing can be traced as early as the 1950s, it is only in recent years that it has emerged as a powerful trend in software development and that experts have started taking notice of it (Stratchey, 1959).

To analyze the impact cloud computing has had on software development, one must understand what this concept brings to the table. Its biggest role in Information Technology (IT) is that it offers a means to extend capacity and capability, without the need for new infrastructure, additional personnel, or the development of new software. It basically makes both the posting and accessing of information a lot faster and easier.

A number of other positive aspects can be attributed to cloud computing. For one, cloud computing helps reduce the environmental load by diminishing the need for physical servers. This leads both to a reduction in energy use and decreased costs for the company that is implementing them. Using virtual servers will also reduce any costs involved in infrastructure and manual labor expenses (Arimura and Masako, 2011), as they do not take up any space and they require less maintenance services.

Cloud computing, by centralizing, sharing, and taking servers from physical to virtual, can also increase productivity and enhance the software development process. It makes the entire process of transmitting and accessing information more automated, by reducing the need for manual intervention on the system.  

In order to analyze the impact of cloud computing on society in general, the matter has to be viewed from two angles. On the one side, there is the issue of how the general public is affected by this software trend. On the other hand, there is also the aspect of how businesses and organizations make use of the concept of cloud computing.

Cloud computing has allowed moguls such as Amazon or Google to provide Internet services to users worldwide (Arimura and Masako, 2011). From this perspective alone, it is clear that this software trend has proven advantageous for both parties. Nonetheless, cloud computing has come a long way since its inception. Nowadays, more and more private businesses use it to consolidate their IT department. When it comes to emerging trends, it would appear that cloud computing has made quite a big entrance and that it is here to stay. 

There is, undoubtedly, always room for bigger and better and it is certain that the future of software development will grow even brighter. However, so far, cloud computing has managed to put its mark both on society, in general, and on software development, in particular. Its undeniable benefits, which include costs reduction, environment production, and easier access to information, make it one of the most important emerging trends in software development.

References

·         Arimura, Y and Masako, I . (2011). Cloud Computing for Software Development Environment. Fujitsu Sci. Tech Journal . 47 (3), p 325-330
·         Knorr, E and Gruman, G. (2011). What cloud computing really means. Available: http://www.infoworld.com/d/cloud-computing/what-cloud-computing-really-means-031. Last [Accessed on 13th January 2013].
·         Soliman, B. (2011). Emerging Trends in Software Development.Available: http://bryansoliman.wordpress.com/2011/05/09/emerging-trends-in-software-development/. [Accessed on 13th January 2013]
·         Strachey, C. (1959). "Time Sharing in Large Fast Computers". Proceedings of the International Conference on Information processing, UNESCO. paper B.2.19: 336–341


These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com

2 comments:

  1. Extreme programming software process is a collection of right techniques that could be taken to severe levels. It's additional on software engineering developers’ procedures and often viewed as as complementary to the Scrum method.

    ReplyDelete
  2. Another trend is Cloud Technology and Security.Cloud technology can connect users to servers online to access software for various devices and computational work.

    ReplyDelete