Systems+Development+Lifecycles

=Systems Development Lifecycles= Sunday, October 2, 2011 <>

**Topic overview:**
Over the next four classes we will focus on how organizations acquire information systems capabilities. We will discover that there are many different approaches an organization can take to do so, and many different forms that the final information systems can take. Fortunately, all of these approaches go through a few common stages known the Systems Development Lifecycle, or SDLC for short. These stages include:
 * Planning
 * Analysis
 * Design
 * Development
 * Testing
 * Implementation
 * Maintenance

Different SDLC's put greater or lesser emphasis on each stage, some add new stages entirely, and some take significantly more or less time in each stage than others. In today's class we will explore each of the stages, look at the tasks and questions completed in each one, and consider a variety of different ways to compose the stages in an SDLC. We will wrap up by looking at how three common SDLC models - waterfall, spiral / iterative, and agile - approach systems development.

By the end of today's class you should be able to explain:
 * What a Systems Development Lifecycle model is
 * What tasks are done in each of these stages, and by whom
 * What questions each of the stages answers, and how
 * The core principles behind the waterfall, spiral, and agile SDLC's
 * The primary advantages and disadvantages of each of the SDLC's.

**Preparation for class:** Required readings: Prior to class today, you need to read chapter 1, Introduction to Systems Analysis and Design (pages 1-26) from the book:
 * [DWR06] Alan Dennis, Barbara Haley Wixom, and Roberta M. Roth, Systems Analysis and Design, 3rd Edition, John Wiley and Sons, Inc., 2006. ISBN: 0-471-72257-X.

One important note when reading the [DWR06] chapter: the authors describe the systems development lifecycle as having only four stages - planning, analysis, design, and implementation. If you read carefully through their descriptions of what happens in each stage, however, you will see that they combine the stages of development, testing, implementation, and maintenance into a single stage that they call 'implementation'. Different organizations, and different SDLC models, sometimes combine selected stages, emphasize or de-emphasize different stages, or use slightly different names for them. Fundamentally, though, any significant IS project that makes it all the way from concept to completion needs to include activities from all seven of these stages, regardless of what each step is called, what order they happen in, or how they are combined.

A digital reserve version of the book chapter is posted on Blackboard in the Course Documents section.

Supplementary readings (not required): In addition to the textbook readings, you might want to look at these supplementary articles on Wikipedia to get a different perspective on the waterfall, prototyping, Rapid Application Development (RAD), and agile SDLC models. As you read the articles, focus on the key themes and concepts of each approach, and how each SDLC approaches the tasks and questions of each SDLC stage.


 * Waterfall: @http://en.wikipedia.org/wiki/Waterfall_model
 * Rapid Application Development (RAD): @http://en.wikipedia.org/wiki/Rapid_application_development
 * Prototyping: []
 * Agile: @http://en.wikipedia.org/wiki/Agile_software_development

Reference materials:
Slides:

**Pre-class exercise:**
The pre-class required reading from [DWR06] presents a variety of different system development methodologies such as waterfall, prototyping, extreme programming, etc. Think back for a moment to last week's Cisco case. Did the approach that Cisco used for their ERP project follow one of these methodologies closely? If so, which one? If not, does their approach seem to mostly follow one of these methodologies, a combination of multiple methodologies, or did they use a completely different approach?

[Hind Al Khulaifi]: Cisco practiced a clear waterfall development of their system. Their quick approach to evaluating, choosing, implementing and testing of Oracle was associated with a different methodology as well. They seemed to have used an agile development methodology for they eliminated tasks and time associated with documentation and analysis in each of the consecutive phases they went through.

[Orkhan Rustamzade]: While Cisco’s SDLC resembled waterfall system in my opinion they practiced all the mentioned systems in the reading. While the general structure and the phases resemble waterfall the RAD style approach and Parallel development were implemented as well. Training half of the staff while the system was in development was also a new approach in order to maximize the success and minimize the costs.

[Walied El Hag Ali]: Cisco definitely adopted a waterfall development methodology. They only moved forward in their SDLC after they made sure the previous step has been finalized. They also used a phased development methodology when it came to their implementation stage. They used various CRP’s and each one was developed after observing the flaws at the preceding one.

[Nahan Arif]: Cisco used a waterfall development methodology in creating their new system based on Oracle. They moved sequentially from one phase to the next. When the works done from one phase is approved, they begin to work on the next phase. This is how Cisco completed their change to Oracle by flowing through the Planning phase to the last Implementation phase. They made sure the current phase they worked on is perfect and free of errors before moving on to the next, but of course, Cisco had time management issues, therefore, they tried to seed up the phase turnover process.

[Aisha Al-Zaman]: Cisco used a close approach to the waterfall approach in their EPR project. The development of the project moved from one phase to another sequentially. The waterfull approach suggests that it's extremely difficult to go backward. However, in Cisco's ERP project, there were some modification needed (e.g Oracle software and hardware sonsor) in which they had to go back and fix them.

[Dua'a Althabatah]: I think Cisco used the waterfall methodology in the implementation process of the ERP project. The process was divided into phases and once a phase is done without errors they move to the next one, that is, they chose Oracle at first, they plan on how to start the project and finally they start implementing it. So I think Cisco has established waterfall methodology by having the planning, analyzing and implementation phase and maybe evaluation of some issues and problems that they found after the implementation of the project.

[Amal Osman]: The approach that Cisco used for their ERP project i think was close to waterfall, they moved from one phase to another, once the sponsor approved their work they conducted a phase and when it was over they started with the next phase and especially in the implementation phase, they broke it down to a series of phases (CRP0, CRP1, CRP2 and CRP3). I also think they used a prototyping methodology where they first tested it and then when it didnt work out they had to change some things and make it run again.

[Khadeejah Al- Husseiny] Overall Cisco used different methodologies, but the most apparent methodology used by Cisco is that which resembled waterfall methodology. Cisco was moving forward in their SDLC in a sequential manner, from phase to the next phase checking as they go along and confirming that everything was finalized during implementation. However since they were in a hurry and time was a huge factor, it wasn't done to its full potential, so they missed a few things, during the checking process.

[Fatima Abdulla]: I think that waterfall development methodology was the closest to what Cisco had used in their implementation of their ERP project. Because they divided the process into phases and once each phase is completed they move to the other one directly. In addition to waterfall approach, I think that Cisco also used prototyping methdology, becuase they want to finish the system quickly so the users can give them feedback on the system.

[Nasser Al-Khori] I believe that Cisco’s approach closely resembles the waterfall development methodology. Although the were quick decision making and evaluating is associated with another methodology, I think the process they had in moving from one phase to the next after being approved and the project of implementing the ERP is mostly a waterfall system.

[Maryam Al-Thani]: Cisco utilized the waterfall development methodology when implementing their ERP project. The waterfall project allows the team to plan and identify all the necessary system requirements at the beginning and follows phases in chronological order. A new phase begins when the previous phase has completely ended, and it is difficult to go back to a phase once it has finished. This is the approach Cisco used, each decision, planning, analysis, design and implementation ( of the oracle software) phase began once the previous phase had ended.

[Jevika Shetty]: I believe that Cisco mainly applied the waterfall development methodology for their ERP project. Since Cisco management went ahed with their project implementation in a sequential manner. As they first began with planning the team of 20 members for the ERP project which later expanded to 100. Then they proceeded with analysing the how and where could they fix the problem in their system. Once they figured out the problems they fixed the issues and redesigned the system with the help of Oracle. After the designing phase was complete, they implemented it to evaluate its performance before they approved it on a final basis.

[Mohammed Kamal]: In the case, Cisco demonstrated a waterfall methodology by taking a sequential design process to shift to Oracle. The structure of the process was apparent in the sense that they moving to the next phase only if the current phase was completely approved. However, I do believe that the way they broke down the process of shifting to Oracle was due to the high risk that they feared.

[Ayah Abujarbou] : Cisco clearly followed a waterfall methodology. that became clear from the way the ERP team decided to take this project step by step beginning with selecting the software until eventually implementing it and going live with it. the team waited until they got approval from the higher management to proceed to the next step or just waiting for the results of each of their CRP's so that they get its results and improve on the next phase of the project.

[Meshail Al Misnad]: Cisco's ERP project seems to have much similarity to the waterfall methodology. Apart from the fact that it followed the same sequential steps from start to finish, they also represent the same consequences. The reading states that if the project team overlooks one small problem, the consequences would be expensive and large. The same case happened with Cisco when they tested the system on a small scale rather than a large one. Oracle had to incur large costs to fix the problem later.

[Haya Al-Mannai]: The approach that Cisco's ERP project uses is a waterfall development methodology; they took a sequential process to shift to Oracle. They moved from one phase to another when the work from the last phase is approved completely. So I think that Cisco has chose to have a waterfall methodology by having each of the planning, analyzing and implementation phases, and then evaluating some of the issues they have and go back and fix them.

[Abdullrahman Al-Muftah]: It is evident that Cisco's methodology was the waterfall approach. This is true for many reasons. Before starting the next stage, Cisco made sure that their implementation of the previous stage has been successful. In other words, Cisco did not start on the next task in creating a new system, until the task before had been completed.

[Anas Ali Chaudry]: Cisco seemed to apply the waterfall methodology to the installation of their new ERP system. They were sequential in implementing their project from the start to the end testing the new system at each step. They began a new stage of implementation after the previous stage was finished. They were also able to go back and fix problems that had occurred in the previous steps.

[M Hammad Abbasi] Cisco used 'rapid iterative prototyping'. In layman's terms, Cisco's team built prototypes and broke implementation down into different phases. Each phase, the software was deployed with MOST of its functionality, and showcased to the business end of the company to get feedback. This resonates most with agile software development. The core essence of agile is to keep in constant contact with the end user (the company itself), and keep building software rapidly. The system goes through an entire SDLC (as Cisco did in each phase or CRP) and after every showcase (or CRP), the software is adapted radically to suit the end user.

[Fatima Al-Khayat]: Cisco's adopted the Waterfall Development methodology in their ERP project.This can be proven from the way they worked through out the phases in the ERP Project in order to launch the new system. They worked sequentially from one phase to the next making sure that each phase is complete and have been tested successfully before moving to the next phase.

[Mohammed Hadi Takiddin]: In my opinion, I think that Cisco implemented a system that is similar to the waterfall system. Because there are a lot of similarities between them; however, they sort of had the their own and unique addition on their system.

[Layal Al-Alami]: Cisco followed a waterfall methodology. They did everything in steps, and they only moved forward after they are completely done with the previous step.

[Sara Al-Mannai]: Cisco took on a waterfall development approach to implement their new software system, moving from one step to the next following a structured design mythology to help and create a new system. And since they were on a tight schedule, they also integrated the parallel development approach to finish several steps together which ended up to be not the best approach since they discovered that there were problems with the new system at implementation.

[Noor Al-Mohannadi]: Cisco used the waterfall development methodology in building their ERP project. They proceeded sequentially, moving forward from one step to the next, they were also able to go back and fix the errors they encountered later on after implementing the system.

[Mohammed Al Ahmadani]: I believe Cisco used a waterfall development methodology. When it came to implementing their ERP system, they took it step by step and moved forward only when they were done with the previous step.

[Fatima Fikree]: The waterfall development methodology involves moving sequentially from one phase to the next only after the step was completed. Cisco moved sequentially from start to finish step by step until reaching their final testing phase and then implementation. As in this methodology, it is difficult to move backwards after completing a phase. We saw the large costs that incurred because of the error that took place in testing Cisco's system.

[Al-Jawhra Al-Mana]: I think Cisco applied the Waterfall Development methodology when they built the ERP system. This approach strategy is to move from one phase to the another if the current phase was approved and only then the phase ends and the next one starts, and that’s what we saw in Cisco’s case. Cisco first started with the planning process where they selected the ERP product, vendors, target date and chose the team, and after that they started with the implementation process and broke it into four different sequential phases called CRP0, CRP1, CRP2 and CRP3.

[Ahmad Al-Sarraf]: Cisco used the Waterfall Development methodology while installing the ERP system. In this methodology, the analysts and users move sequentially from one phase to the next one. Also, in order to start the new phase, the reports of each phase have to be approved first by the project sponsor. This is what happened when Cisco developed the ERP system. They gradually moved from one step to another, from choosing the software to the implementation process, after getting the approval from the project sponsor, Pete Solvik.

[Hussain Hejji]: I believe that Cisco has used the Waterfall Development Methodology, because in this system the analysts should proceed with the project step by step. They should get approval of the earlier decision in order to get to the next one and that's to avoid major problems after proceeding with the project. That's mostly I think what Cisco were doing while taking decision regarding their ERP system.

[Hamsa M Al-Massri]: Cisco seems to have applied the waterfall methodology since they went step by step in the project. To move forward with one step, they made sure they are done with the previous one, which is basically what a waterfall methodology is.

[Maryam Al-Subaie]: The approach that Cisco used for their ERP project followed a combination of methodologies: waterfall and prototyping. It resembled the waterfall methodology in that Cisco broke the implementation process into a series of phases where the team would proceed sequentially from one phase to another. Cisco also employed a development technique referred to as “rapid iterative prototyping” which is where the prototyping-based methodology comes in. At the end of CRP0 for example, Cisco realized that changes to the system are substantial and unavoidable and so they repeatedly (in a cycle) modified parts of the system until they finally came up with a completed version that they thought would effectively support the company’s functions.

[Mohammed Al-Rawahi]: Cisco used the waterfall methodology, what they did is having a team to work throughout the development of the new system. It seems that they were developing one aspect of the system at a time, then there was a comity which was responsible of the work performed by the team. We can classify this methodology as the waterfall methodology.

[Najla Al-Madhadi]:Cisco implemented its EPR project using the waterfall development methodology. The waterfall methodology is a step-by-step process which chromatically begins the next step after the completion of the step before it. The idea of sequential flow from one step to the other was clearly involved in the implementation of Cisco’s EPR system.

[Noof Al-muzaffar ] : i believe that Cisco used //waterfall development methodology// to implement their new system to the company. Cisco used different faces to work with their new system and `' proceed sequentially form one phase to the next". in addition, they couldn't move forward to the next phase before presenting the phase and getting the project sponsor approval. waterfall seemed useful to the project till they recognized their system testing mistake and faced difficulties to fix it and return back to that phase.

[Mughees Ahmed]: Cisco most certainly applied the waterfall methodology and marked their goals by moving step by step towards their targets. Being sequential and careful at each step proves their efficiency.

[Dalia Saleh Hassan]: Cisco implemented the exact same methodology; however, they made it in a chronological process. Meaning that they applied it step by step and they haven't gone through the next step unless they are done with the previous one.

[Firas Bata]: Cisco took more of a waterfall approach to design where they approached the problem in a sequential manner. That was apparent when collaborating with Oracle. Cisco only moved to the next phase when the first face was completed.

[Ognjen Popovic]: Although it is quite apparent that Cisco adopted a waterfall development approach when designing the SDLC, we can see that Cisco also adopted some prototyping-based methodologies. Because of the limited time Cisco had to act, they were performing the analysis, the design, and the implementation simultaneously.

[Nijat Ibrahimov] Clearly, Cisco was using waterfall methodology because they were making sure they implemented all the steps and making sure that their steps are correctly done. Making the team for implementing whole new systems is the example of this methodology.