Presentation on theme: "THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)"— Presentation transcript:
1 THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) Systems development life cycle (SDLC) – The overall process for developing information systems from planning and analysis through implementation and maintenanceCLASSROOM EXERCISEAround SDLCBreak your students into groups and have them correlate the SDLC to building a house.This activity helps students understand the different types of activities that occur during each phase of the systems development life cycleHave your students present their answers to the entire classCLASSROOM VIDEOWindows ErrorsThis is a short video clip spoofing Windows Error Reporting - scroll down on the website to view the video clip! It's old but funny!
2 SOFTWARE DEVELOPMENT METHODOLOGIES There are a number of different software development methodologies includingWaterfallAgileRapid application development (RAD)Extreme programmingRational unified process (RUP)ScrumWaterfall methodology – a sequential, activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenanceRapid application development methodology (RAD) – emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development processExtreme programming (XP) methodology – breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is completeAgile methodology – a form of XP, aims for customer satisfaction through early and continuous delivery of useful software componentsCLASSROOM VIDEOIf Programmers Made PlanesExcellent video: If Programmers Made Planes
3 Waterfall Methodology Waterfall methodology – A sequence of phases in which the output of each phase becomes the input for the nextThe waterfall methodology is one of the oldest software development methods and has been around for more than 30 yearsThe success rate for software development projects that follow this approach is only about 10 percent, or 1 in 10The biggest problem with the waterfall methodology is that it assumes users can specify all business requirements in advanceAsk your students to define another issue with the waterfall methodologyAns: It also assumes that business requirements do not change over timeStress to your students that if they ever find themselves on a software development project that is using the waterfall methodology, they should do everything they can to change the methodologyCLASSROOM VIDEOTesting – or Perhaps Not!I love to show this clip prior to the SDLC class. Makes you wonder how much testing the manufacturer did on this vehicle.
4 Agile MethodologyIterative development – Consists of a series of tiny projectsAgile methodology – Aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process using the bare minimum requirementsThe Agile Alliance is a group of software developers whose mission is to improve software development processes and whose manifesto includes the following:Satisfy the customer through early and continuous delivery of valuable softwareWelcome changing requirements, even late in developmentBusiness people and developers must work together daily throughout the projectBuild projects around motivated individualsThe best architectures, requirements, and designs emerge from self-organizing teamsAt regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
5 Rapid Application Development Methodology (RAD) Rapid application development methodology– Emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development processPrototype – A smaller-scale representation or working model of the users’ requirements or a proposed design for an information systemThe prototype is an essential part of the analysis phase when using a RAD methodologyRAD is a more popular route for system development projectsThe fundamentals of RAD include:Focus initially on creating a prototype that looks and acts like the desired systemActively involve system users in the analysis, design, and development phasesAccelerate collecting the business requirements through an interactive and iterative construction approach
6 Extreme Programming Methodology Extreme programming (XP) methodology – Breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is completeThe primary difference between the waterfall and XP methodologies is that XP divides its phases into iterations with user feedbackCLASSROOM DEBATEOpen-Source on Company TimeThis article offers an interesting dilemma - how do you handle employees who want to develop open-source code to help with a business problem, and then post it back to the community? The Enterprise Committer: When Your Employee Develops Open-Source Code on the Company Payroll
7 Rational Unified Process (RUP) Methodology Rational unified process (RUP) – Provides a framework for breaking down the development of software into four gatesGate one: inceptionGate two: elaborationGate three: constructionGate four: transitionBecause RUP is an iterative methodology, the user can reject the product and force the developers to go back to gate one. Approximately 500,000 developers have used RUP in software projects of varying sizes in the 20 years it’s been available, according to IBM. RUP helps developers avoid reinventing the wheel and focuses on rapidly adding or removing reusable chunks of processes addressing common problems.
8 SCRUM MethodologyScrum – Uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goalUnder this methodology, each day ends or begins with a stand-up meeting to monitor and control the development effortPrimavera Systems Inc., a software solutions company, was finding it increasingly difficult to use the traditional waterfall methodology for development so it moved to an agile methodology.Scrum’s insistence on delivering complete increments of business value in 30-day learning cycles helped the teams learn rapidly.It forced teams to test and integrate experiments and encouraged them to release them into production.Primavera’s shift resulted in highly satisfied customers and a highly motivated, energetic development environment.Dick Faris, CTO of Primavera, said, “Agile programming is very different and new.It is a different feel to the way programming happens.Instead of mindlessly cranking out code, the process is one of team dialogue, negotiation around priorities and time and talents.The entire company commits to a 30-day sprint and delivery of finished, tested software.Maybe it is just one specific piece of functionality but it’s the real thing, including delivery and client review against needs and requirements. Those needs and requirements, by the way, change. That is the strength we saw in the Scrum process.”
9 DEVELOPING SUCCESSFUL SOFTWARE Primary reasons for project failureUnclear or missing business requirementsSkipping SDLC phasesFailure to manage project scopeScope creepFeature creepFailure to manage project planChanging technologyScope creep – occurs when the scope increasesFeature creep – occurs when extra features are addedProvide an example of scope creepWe added a new type of discount to our marketing planProvide an example of feature creepWe would like a new logo placed on the top corner of every screen, and it should play a song when clicked
10 DEVELOPING SUCCESSFUL SOFTWARE The later in the SDLC an error is found the more expensive it is to fix!Explain to your students that the cost of finding errors grows exponentially the later the error is found in the systems development life cycleAn error found during the analysis and design phase is relatively inexpensive to fixAll that is typically required is a change to a Word documentHowever, exactly the same error found during the testing or implementation phase is going to cost the organization an enormous amount to fix because it has to change the actual systemFind errors early: the later in the SDLC an error is found - the more expensive it is to fix
11 MANAGING SOFTWARE DEVELOPMENT PROJECTS Analysts predict investment in MIS projects worldwide is more than $1 trillion70 percent will be lost due to failed projectsThe consequences of failed projects includeDamaged brandLost goodwillDissolution of partnershipsLost investment opportunitiesLow moraleAnalysts predict investment in IT projects worldwide through 2010 will be more than $1 trillion. This is a staggering amount, and even more staggering is that nearly 70 percent of it will be merely washed down the drain as a result of failed projects!In addition to lost earnings, companies from Nestlé to Nike have experienced additional consequences of failed projects—a damaged brand, lost goodwill, the dissolution of partnerships, lost investment opportunities, and the effects of low morale.According to the Standish Group, just 29 percent of IT projects were completed on time, within budget, and with features and functions originally specified by the customer to deliver business value.With so many skilled and knowledgeable IT professionals at the helm of IT projects, how can this happen?Every day, organizations adopt projects that do not align with mission-critical initiatives; they overcommit financial and human capital; they sign off on low-value projects that consume valuable and scarce resources; and they agree to support projects that are poorly defined from requirements to planning.
12 MANAGING SOFTWARE DEVELOPMENT PROJECTS Project deliverable – Any measurable, tangible, verifiable outcome, result, or item that is produced to complete a project or part of a projectProject milestone – Represents key dates when a certain group of activities must be performedProject management office (PMO) – An internal department that oversees all organizational projectsWhat is the relationship among project deliverables, project milestones, and project managers?Project deliverables are usually project milestonesProject milestones and project deliverables defined and monitored by the project manager
13 The Triple Constraint Project Management Interdependent Variables These three variables are interdependentYou cannot change one without changing the othersFor example, decreasing a project’s time frame means either increasing the cost of the project or decreasing the scope of the project to meet the new deadlineIncreasing a project’s scope means either increasing the project’s time frame or increasing the project’s cost – or both – to meet the increased scope changesProject management is the science of making intelligent trade-offs among time, cost, and scope
14 The Triple ConstraintBenjamin Franklin’s timeless advice - by failing to prepare, you prepare to fail - applies to software development projectsThe Hackett Group analyzed 2,000 companies and discovered3 in 10 major IT projects fail21 percent of the companies state that they cannot adjust rapidly to market changes1 in 4 validates a business case for IT projects after completionA successful project is typically on time, within budget, meets the business’s requirements, and fulfills the customer’s needs.The Hackett Group, an Atlanta-based consultancy, analyzed its client database, which includes 2,000 companies, including 81 Fortune 100 companies, and discovered:3 in 10 major IT projects fail21 percent of the companies state that they cannot adjust rapidly to market changes1 in 4 validates a business case for IT projects after completion
15 Project Management Role Project ParticipantsProject Management RoleProject managers must take all of the activities above and ensure they flow smoothly to develop and deliver a successful projectWhich activity listed above is the most important?Which activity listed above is the least important?
16 UNDERSTANDING PROJECT PLANNING SMART criteria are useful reminders on how to ensure that the project has created understandable and measurable objectivesAsk your students what happens when objectives are not SMARTIf an objective is not specific, then it is open to interpretationIf an objective is not measurable, then there is no way to determine if the project is on trackIf an objective is not agreed upon, then chances are high the project will failIf an objective is not realistic, then chances are high that the project will failIf an objective does not include a time frame, then there is no way to determine if the project is on trackWhy is the following not SMART?I will work hard this semester to achieve my goalsDoes not state what the goals areDoes not state how to measure working hardMight not be realistic depending on the goalsDoes have a time frame of a semester
17 UNDERSTANDING PROJECT PLANNING Two primary diagrams used in project planning include PERT and Gantt chartsPERT chartDependencyCritical pathGantt chartDependency – a logical relationship between the project tasks, or between a project task and a milestoneCritical path – a path from the start to the finish that passes through all the tasks that are critical to completing the project in the shortest amount of timeAsk your students why you need to create dependenciesDependencies inform the project manager of tasks associated with or affected by another taskPERT (Program Evaluation and Review Technique) chart – is a graphical network model that depicts a project’s tasks and the relationships between those tasks (dependencies and critical paths are found in PERT charts)Gantt chart – a simple bar chart that depicts project tasks against a calendar
18 UNDERSTANDING PROJECT PLANNING PERT Chart EXPERT – PERT Chart ExampleThe red boxes denote the critical pathWhy is the critical path important?It informs a project manager of the shortest time frame the project could possibly be completed in the project
19 UNDERSTANDING PROJECT PLANNING MS Project – Gantt Chart ExampleThis Gantt chart displays simple start and finish dates and resource namesA Gantt chart is one of the most common tools used by project managersMS Project offers many additional tracking components such as Actual Start date, Budget, and Percent CompleteWhen reviewing the Gantt chart, can you point out the three interdependent project management tasks?ResourcesTime frameScope – tasksCLASSROOM EXERCISEDeveloping a Project PlanBreak your students into groups and ask them to develop a project plan (Gantt chart) for building a small piece of software that tracks student grades for a single course. If they do not have Microsoft Project, have them use Excel or the project features in Visio. Be sure that their project plans list all phases in the SDLC and that they represent an incremental development methodology, not a waterfall methodology. Be sure the tasks under each phase are discussed in detail.
20 MANAGING PROJECTS Managing a project includes Identifying requirements Establishing clear and achievable objectives.Balancing the competing demands of quality, scope, time, and costAdapting the specifications, plans, and approach to the different concerns and expectations of the various stakeholdersA project manager can, of course, bring enormous benefits to an organization such as reduced project expense, high company morale, and quicker time to market.A competent project manager sets the correct expectations early in the project with achievable milestonesAsk your students to provide some examples of changes they have dealt with in their professional livesChange at your schoolChange to your majorChange at your jobHow hard was it to deal with the change?What tools and resources did you use to deal with the change?What could you have done different to make dealing with the change easier?Would a project plan have helped you deal with the change?
21 OUTSOURCING PROJECTSIn-sourcing (in-house-development) – Uses the professional expertise within an organization to develop and maintain its information technology systemsOutsourcing – An arrangement by which one organization provides a service or services for another organization that chooses not to perform them in-houseDiscuss the Allied Office Products example in the textInsourcing has been instrumental in creating a viable supply of IT professionals and in fact in creating a better quality workforce combining both technical and business skillsThis is an interesting lecture given by Tom Friedman at MIT on his book, The World is Flat, and the power of outsourcing:CLASSROOM EXERCISEMail BombingIf you are discussing outsourcing remember to discuss how it affects the employees and the culture. Here is a scary article: Outsourcing May Not Be Popular, But Letter Bombs?
22 OUTSOURCING PROJECTS Factors driving outsourcing growth include Core competenciesFinancial savingsRapid growthThe Internet and globalizationCLASSROOM EXERCISEThe Outsourcing DebatePrint and cut out a list of companies. Assign the companies to your students. Each company has an argument for or against outsourcing. Have your student’s debate for or against outsourcing. Team size can vary. Review the IM for additional details.Core competencies – many companies have recently begun to consider outsourcing as a means to fuel revenue growth rather than just a cost-cutting measure. Outsourcing enables an organization to maintain an up-to-date technology infrastructure while freeing it to focus on revenue growth goals by reinvesting cash and human capital in areas offering the greatest return on investment.Financial savings – it is typically cheaper to hire workers in China and India than similar workers in the United States. Technology is advancing at such an accelerated rate that companies often lack the resources, workforce, or expertise to keep up. It is close to impossible for an IT department to maintain a “best-of breed” status, especially for small and medium-sized enterprises where cost is a critical factor.Rapid growth – a company’s sustainability depends on both speed to market and ability to react quickly to changes in market conditions. By taking advantage of outsourcing, an organization is able to acquire best-practices process expertise. This facilitates the design, building, training, and deployment of business processes or functions.Industry changes – high levels of reorganization across industries have increased demand for outsourcing to better focus on core competencies. The significant increase in merger and acquisition activity created a sudden need to integrate multiple core and noncore business functions into one business, while the deregulation of the utilities and telecom industries created a need to ensure compliance with government rules and regulations. Companies in either situation turned to outsourcing so they could better focus on industry changes at hand.The Internet – the pervasive nature of the Internet as an effective sales channel has allowed clients to become more comfortable with outsourcing. Barriers to entry, such as lack of capital, are dramatically reduced in the world of ebusiness due to the Internet. New competitors enter the market daily.Globalization – as markets open worldwide, competition heats up. Companies may engage outsourcing service providers to deliver international services
23 OUTSOURCING PROJECTS Onshore outsourcing Nearshore outsourcing Offshore outsourcingOnshore outsourcing – engaging another company within the same country for servicesNearshore outsourcing – contracting an outsourcing arrangement with a company in a nearby countryOffshore outsourcing – using organizations from developing countries to write code and develop systemsDiscuss the three different types of outsourcing options and determine which one would be ideal for each of the following:Production of a new cerealDevelopment of a new CRM systemDevelopment and maintenance of a KM systemProduction of a new sneakerDeployment of a logistics system
24 OUTSOURCING PROJECTSMost organizations outsource their noncore business functions, such as payroll and ITFor each industry, determine the benefits and challenges of outsourcingCLASSROOM EXERCISEOutsourcing IssuesThere are many issues and obstacles to outsourcing, such as time zone differences and accents. Break your students into groups and ask them to research the Internet to find examples of companies that have experiences issues with outsourcing. Ask your students to present their findings to the class, and offer a small prize to the team that finds the most outrageous example.There is also a great video by Thomas Friedman on his famous book, The World Is Flat. The video can be found at The video lasts around 40 minutes.