11/30/13

Systems development life cycle (SDLC)


This technical post is to summarize and reflex on SDLC


 
The terms ‘development cycle’ and ‘life cycle,’ are synonymous and have been in common use in the fields of computing and software since the 1960s. 
Systems development life cycle: a process for planning, creating, testing and deploying an information system. The systems development life-cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. 
Some examples of SDLC are: waterfall, spiral, agile software development (ex: SCRUM, XP), rapid prototyping, incremental (ex: RUP) and ‘synchronize and stabilize’. To choose the appropriate SDLC, one must possesses wide and deep knowledge of characteristics each SDLC, as well as conducting a meticulous analysis of the system. However, there are general suggestion that when requirements of a system are clear and fixed, the product definition is stable and technology to implement is known, he should consider linear model such as waterfall, spiral models. On the other hand, in case that requirements are prone to change or not clear, one could consider using agile software development due to the fact that agile development consists of small periods (sprints), in each period the development team only focus on developing one functionality. The functionality is product- and user-based, trying to bring as much value as possible. The fact users involves throughout the development process and system is built iteratively one-by-one function, the project can adapt to the changes in requirements.  
The view of SDLC as interrelated activities can be depicted as follows:

Next, we will discuss about SDLS's main activities.

Requirement 

Of course, requirement should come from user. Unfortunately, users often don't really know what they want. So we will need more roles in defining requirement: Product owner and requirement analyst. Ken Schafer asserts the need for a ‘Product Owner,’ someone who speaks for the customer authoritatively and with ownership. Scrum’s insistence on a product owner is essential as the process is driven by value and therefore it is crucial to identify the person who is responsible for the product’s ROI and who is therefore responsible and accountable for decisions such as what the requirement is and which requirement to deliver first. The ideas of an on-site customer and a product owner are designed to simplify the communication process between users and developers. However they say little if anything about how to choose the users, communicate or interact with them. 
A more open interpretation of the role of Analyst or Requirements Analyst is anyone who is involved in requirements gathering and analysis.Various business titles could be applied to the same role: Product Manager, Marketing Analyst, Researcher, Interaction Designer, etc.

Evaluation 

There are two ways to evaluate: objective method which depends mostly on math and calculation and subjective method which depends on review and opinions of some people which revealed in survey, questionnaire, case study ect.

Implementation

3 types of implementation: big bang, parallel and phased implementation.
  • ·         Big bang: the idea originates from the theory that big bang explosion creates the universe. When implement a system by big bang method, we immediately get rid of old system which currently handle the job of the new system, and put the new system to operation. However, this type of implementation is risky.
  • ·         Parallel: New system and old system are working at the same time. This method is safe, however resource-consuming as two systems are working on the same resource (hardware, database), hence possibly reducing the quality of service.
  • ·         Phased implementation: The process of getting rid of old system and introducing new system is sliced into phased. It sound ideal, however, how to define the right periods for the process is in question.

Maintenance

System should have a mechanism for automated bug report so that it can be fixed is problems happen and updated to later versions.


No comments:

Post a Comment

About Me

My photo
Dublin, Ireland
I am a Master student in UCD Michael Smurfit School. With broad experience in start-up, research, software industry and sale, I am actively seeking employment in consulting industry.