Monthly Archives: September 2013

A Review of Static and Dynamic Scoping in Programming Languages

All programming languages allow names to be associated with values by means of definitions, and a name is said to be in the scope of its definition. When a name is mentioned in a program, its definition (if any) must be known, in order for its invocation to make sense. However, most languages allow names to be re-defined in a program – the rules for determining to which definition a name refers, are called the scoping rules.
There are two principal scoping methods: static and dynamic. This post will firstly explain these two concepts, comparing their similarities and differences. The uses of the two methods will be discussed, illustrating these with code from actual programming languages. Finally the essay will conclude with a critical summary of the pros and cons of static and dynamic scoping for present day programming problems.

Read More…

Outsourcing in IT projects: money saver or money waster?

Generally speaking, outsourcing is an arrangement whereby an external contractor enters into a contract with an organization for the provision of goods and services which previously have been provided in-house. Nowadays, in these tighter economic times, more and more companies are turning to outsourcing as a method to reduce and control IT costs. The primary argument in favor of outsourcing is that services can be purchased for less money than it would cost to develop them. Contractors may be able to provide services at a lower cost through the use of greater management and labor productivity, economies of scale, and the use of skills or technology unavailable before.

The benefits…

First, a huge economic advantage of outsourcing is that savings can result from the reduction of IS staff. Often the cost of outsourcing is less than employing specialist staff and sitting them down in a fully equipped office. Training, and retaining IS professionals is a serious challenge for many organizations. Frequently, having invested significantly in IS employees, organisations loose them, because they have been offered higher pay elsewhere. Moreover, it could be the case that some of the skilled IS staff may only be required occasionally. Outsourcing shifts this human resources problem from the organisation to the vendor, which can result in significant cost savings.

Read More…

Risks in large scale IT projects

As always happens, large IT projects are exposed to adverse influences, the so called project risks, which may result in delaying the timely completion of the project, increasing the cost or reducing the final quality of the product. Project risks affect all aspects of a software project: the organization, the personnel, the technology etc. and can prevent the intended benefit of the project being realised. Generally speaking, various types of risks leading to project failure exist.

First, the so-called schedule risks reflect the fact that schedules often slip and the product is not delivered on time. Among the reasons for these risks are wrong time estimation, resources not tracked properly, failure to identify complex functionalities and time required to develop them, unexpected project scope expansions and lack of agreement between customer and developer.

Read More…

Agile vs. Traditional software methodologies for successful government IT procurement

Although many people would not agree with me, I personally think that standalone agile methods would not be as successful as the UK Government think they might be, when applied to public sector organisations. In my opinion, in order to successfully tackle the problem and reduce the risk of project failure, a mixture of agile and traditional software methodologies should be put into practice for a number of reasons.

As always happens, large IS projects are exposed to adverse influences, the so called project risks, which may result in delaying the timely completion of the project, increasing the cost or reducing the final quality of the product. Project risks affect all aspects of a software project: the organization, the personnel, the technology etc. and can prevent the intended benefit of the project being realised.

All these different types of risk at which a complex IS project is exposed to, should be taken into account by public sector organisations. Some of these risks can be successfully reduced or even eliminated by using the right software development methodology and it is up to the UK Government to make a decision between agile and traditional methods, or as I suggest, a mixture of both.

Read More…

A glimpse back in time: an overview of the EDSAC

The Electronic Delay Storage Automatic Calculator (EDSAC) was one of the world’s first full scale electronic computer to implement the stored-program principle which states that both data and program are to be stored in the computer’s main memory and accessed during runtime. It was built by Professor Maurice Wilkes (1913 – 2010) and his team at the Mathematical Laboratory of the University of Cambridge in the United Kingdom. EDSAC, which occupied room five by four meters, did its first calculation on 6 May 1949 when it calculated a table of squares and a list of prime numbers and it was David Wheeler (1927 – 2004) who wrote its very first program. The machine ran until 1958, when it was finally switched off.

A large part of the design of the EDSAC was based upon John von Neumann’s report First Draft of a Report on the EDVAC which contained the first published description of the logical design of a computer using the stored-program concept, known as the “von Neumann architecture”. Few months after reading von Neumann’s report, Wilkies attended a workshop at the University of Pennsylvania’s Moore School of Engineering, where ENIAC (the world’s first general-purpose electronic computer) had been built, and even more advanced computer, the EDVAC, was being constructed. While EDVAC was being constructed by a large team of engineers and its construction consumed large budget, Wilkies had a very modest budget within which to work and only few assistants. However, he was more interested in using an advanced computer to solve real scientific problems rather than becoming an expert computer-maker as such. For all these reasons, Wilkies decided to construct his own scaled-down version of EDVAC, called EDSAC, and to do it as quickly as his limited resources would allow.

Read More…

1 2  Scroll to top