Posted by: ahmedashfaque | November 7, 2014

what is software engineering? Things to ponder – part2

In the first post on this subject, we discussed some basic assumptions about software engineering. let us discuss some points about software engineering in this post.

The initial tasks involved in software engineering is the gathering of requirements. In most cases, it is a difficult task. Why? It is because gathering exact requirements is almost impossible. There is a big gap between reality and ideal situation. Even most sophisticated systems can not be built taking care of all practical limitations & challenges. For example, SAP system is considered to be the world’s best ERP system. Still when it comes to meeting real life situations it fails in many cases. If you study implementation reports of ERPs for finding errors and problems and effectiveness of implementation; you will find that these reports show a lot of gaps between supposed performance against real performance of the system. these reports clearly indicate that either requirements were not taken properly or it is not possible to implement those requirements. Since the auditors have already taken consideration of the requirements which are impossible to implement so their reports point to the other problem i.e. the requirements are not taken properly.

In many cases, requirements are difficult to implement. for example, it is very difficult to map value of goods received against invoices versus payments made against those invoices. In real world, partial shipments are allowed as well as partial payments. over time, there is bound to be some mismatch between accrued differences for all goods received against all the payments made. Only at periodic settlements, these differences are settled manually. these differences are verified & accounted by people manually and once agreed are entered in the system. This means no system can guarantee that these kinds of differences will not arise.

So where does software engineering fit in here? The point is that even after carefully planned & build software product can not guarantee a 100% working product then how a software product which is built without using any software engineering is going to perform? The requirement gathering & management is the first set of tasks which software engineering stipulates. Products built without any consideration to software engineering principles are going to fail miserably.


Leave a Reply

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

You are commenting using your 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: