Presentation on theme: "Building Software to Support an Agile Organization"— Presentation transcript:
1 Building Software to Support an Agile Organization Chapter 17Building Software to Support an Agile OrganizationCLASSROOM OPENERGREAT BUSINESS DECISIONS – Johnson & Johnson Decides to Pull Tylenol from Store ShelvesIn 1982, Johnson & Johnson exemplified ethics in its decision to pull Tylenol from store shelves across the United States because a psychopath put cyanide into some of the Tylenol capsules. Eight people died. In response, Johnson & Johnson quickly pulled all Tylenol products from store shelves; a total of 31 million bottles were returned to J&J costing the company over $100 million. The company’s ability to act quickly to the threat by changing its processes and develop new more secure products allowed the company to remain as one of the best-selling over-the-counter drug producers.
2 Building Software to Support an Agile Organization Learning ObjectivesIdentify business benefits associated with successful software developmentDescribe the phases of the SDLCCharacterize Agile methodologyTeam Assignment 1: use videoSummarize different software development methodologiesTeam Assignment 2: use textbookDiscuss the famous Nike SCM failureOrganizations must learn how to build and implement disruptive technologies, such as software for wireless devices, to remain competitiveSoftware that is built correctly can support agile organizations and can transform as the organization and its business transformsSoftware that effectively meets employee needs will help an organization become more productive and enhance decision makingSoftware that does not meet employee needs may have a damaging effect on productivity and can even cause a business to fail
3 Concepts SDLC Prototype Methodology Agile Waterfall Scrum Extreme programmingRational unified process (RUP)Rapid application development (RAD)
4 THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) Other cycles include:Current State analysisRequirements DefinitionDesignBuild or BuyTesting/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!
5 Waterfall Methodology An activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenanceThe waterfall methodology is one of the oldest software development methods and has been around for over 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.
6 Implementing Agile Methodologies The Agile Alliance ManifestoEarly and continuous delivery of valuable software will satisfy the customerChanging requirements are welcomeBusiness people and developers work togetherProjects need motivated individualsUse self-organizing teamsReflect on how to become more effectiveIf organizations choose to adopt agile methodologies, it is important to educate those involved.For an agile process to work, it must be simple and quick.The Agile Alliance is a group of software developers whose mission is to improve software development processes; the group’s manifesto is highlighted aboveCLASSROOM DEBATEOpen-Source on Company TimeThis article offers an interesting dilemma - how do you handle employees that 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 Characteristics … an exercise! AgWSXPRUPRADCSyyyyyyIteruserprotocomstakesmgatestandmin
8 Why Software Projects Fail Unclear or missing business requirementsSkipping SDLC phasesFailure to manage project scopeScope creep – occurs when the scope increasesFeature creep – occurs when extra features are addedFailure to manage project planChanging technologyProvide 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
9 How To Not Let Projects Fail Primary principles for successful agile software development include:Slash the budgetIf it doesn’t work, kill itKeep requirements to a minimumTest and deliver frequentlyAssign non-IT executives to software projectsSlash the budget – Small budgets force developers and users to focus on the essentialsIf it doesn’t work, kill it – Bring all key stakeholders together to evaluate and assess the softwareKeep requirements to a minimum – Start each project with what the software must absolutely doTest and deliver frequently – As often as once a week, and not less than once a month, complete a part of the project or a piece of softwareAssign non-IT executives to software projects – Non-IT executives should coordinate with the technical project manager, test iterations to make sure they are meeting user needs, and act as liaisons between executives and IT17-9