Life cycles: The cycle of life?

The topic of discussion in this week’s lecture was based upon life cycle developments. Life cycles are a critical part of any system development, they ensure that processes can be optimised and errors can be mitigated to a degree. They may not always do this in essence but they should technically be tailored to match the organisation that they wish to serve. They may have new phases added or subtracted depending on the scope and purpose of the project in mind.


Royce, 1970 asserts that the development of large scale software programmes using a system development approach requires a step by step approach to developing a finished product. This can be seen in the image below, from p.329. Furthermore Royce states that an addition of feedbacks and interactions between the neighbouring steps should be facilitated to reduce costs and ensure that time scales and budgets are adhered too. The feedback process allows for the release of high quality finished programmes that have little or few bugs.


What has not been mentioned here has included the most important aspect of the product development cycle. The system requirements, this set of guidelines, that features everything that the customers wants, expects and needs from the finished product are an important aspect for coders, testers and analyst. The requirements whose vast array of detailed reports dictate how much freedoms and flexibility the developers have in creating the software programme.


In relation to the specification, the building of the correct software programmes require a balance of time, scope, cost and quality. All of which should be ideally optimised and reduced where applicable. However, in reality errors and issues may occur as , which may have an impact on one or if not all of the above variables. An example of such, may involve a software programme been of a very poor quality, this level of quality could result in a loss of time for the user and may ultimately result in a loss of income and future business for the product developer, due to repairs, reputational damage and unserved clients. The importance that all of these variables are optimised to the highest degree possible is critical to success of the project in hand.


The systems approach which is used in a large array of software and product development environments allow for the categorisation of the processes that are required to complete a project in hand. The systems approach involves breaking the project down into four discrete yet concrete parts, these include:


  • Systems analysis: which looks at the environment in which the product will operate and fact finding about what is required from the product


  • Evaluation: involves formulating summaries, cost analysis and making recommendations for alternatives.


  • System Design: involves design how the product will work, how it will interact with other platforms and operating systems.


  • Implementation: involves introducing the product to a working environment and observing performance, often carried out through trials.


The life-cycles described briefly below, have had an important role in the production and creation of many of the applications and websites that we have used on a daily basis. The life that these developments create are no doubt important to our daily commercial, personal and social lives. It is fair to say that product life cycles have played a critical role in the development of our society and behaviours and will continue to do so.

Bibliography:

Royce, W., 1970, Managing The Development of Large Software Systems, The Institute of Electrical and Electronics Engineers, August 1970, 9. 328-337

Comments

Popular posts from this blog

Systems, systems, systems!

Requirements

Spaghetti, Six Students & Sticky Tape