jump to navigation

Five Trends That Every Software Engineer Ought to Know February 21, 2012

Posted by downeyjm in Software Engineering.
trackback

Software engineering is a relatively new field in engineering and thus it is constantly evolving.  This is a good thing as it means the processes and techniques used to create software are getting better, more reliable, and more robust every day.  With that these are five trends that I see having a significant impact on software engineering going forward.  They deal with a variety of different aspects from mobility to user interface to software processes and even to the legal and ethical issues involved with software.

Real Analytics

Real analytics is the processing of data in order to gain a better understanding of how what the vast amount of information businesses have is telling them.  This greatly affects the database theory in that the companies need to be able to store and access all their information and it affects modeling and analysis as they need to be able to sort through all the data.  The analysis needs to be able to provide them with any insights and/or dashboards to help the business make better decisions for the future so they are not just looking through the rearview mirror into the past.

Social Computing

Social computing is connecting people through technology mainly the internet.  This has a wide range of effects on software engineering starting with software design.  This is important because the networks and social sites need to be scalable as more and more people are using them.  The next is the human computer interface.  This is extremely important because of the fact social computing involves at least two people trying to communicate with each and the better that interface is the better ones ability to communicate is (and visa-versa).  This has some major societal impact as well.  This can especially be seen with younger people as more and more they communicate through these types of outlets rather than in person.  It also begs the question as to how much security is needed and what kind of ethical issues are there considering many people have lots of information about themselves on these types of platforms.

Applied Mobility

There is an “App for that” has become a household phrase and it’s not going to go away any time soon.  The ability for businesses to give their customers and workers the capability of accessing and performing tasks on their mobile devices is necessary in today’s world.  These apps have a great effect on software design as one will want to make the app portable in order to work on as many different platforms as it can with as little change as possible.  The next aspect is it needs to have a quality user interface in order to make it easier on the user.  This is especially important when using a smartphone with the much smaller screens then a computer would have. 

Capability Clouds

The cloud has many effects on software engineering but probably the most important has to do with the legal and ethical effects.  It presents a lot of issues in this regard because it usually involves someone or some business storing potentially valuable and private information with someone else.  The one providing the service has the responsibility to ensure that that data is kept safe and secure.  Even if a security breach doesn’t occur there is still the potential that the company could sell some information (not all or even most but some) to outside companies looking to gain some information (i.e. email addresses, phone numbers, preferences, etc.).

Software Ecosystems

Software ecosystems is just software product lines except that instead of the product lines being restricted to one company they are shared amongst a number of companies.  This could have a great impact on project management from the standpoint of being able to manage how the libraries are shared between companies and making sure no one recreates the wheel by creating a piece of software that had already been made by another company.  It also has the impact on software design because extra care needs to be taken so that each company follows the same standards so their software features/modules/pieces play nice together.  Then there are the legal issues involved with proprietary rights to the software and the product.

Advertisements

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: