1 Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering So(ware Development in Prac9ce William Y. Arms
2 Overall Aim of the Course We assume that you are technically proficient. You know a good deal about compu1ng, can program reasonably, can learn more on the job. But success or failure in so(ware development depend on many factors beyond wri9ng good code. When you leave Cornell, you are going to work on produc9on projects where success or failure may cost millions of dollars. Soon you may be in charge. It may be your money. We want you to make your mistakes now and learn from your mistakes.
3 Previous Experience (Mine) Much of my career, I was in charge of compu9ng at universi9es such as Dartmouth and Carnegie Mellon, with some 9me in industry. Projects where I was in charge Opera9ng system, compilers, etc. Campus networks, routers, protocols, etc. Distributed compu9ng environment, file systems, etc. Administra9ve data processing, general ledger, etc. Digital libraries Theme has been first produc1on system where the methods have previously been used only in research. During this course I will describe some of these projects (both successes and failures) from the viewpoint of a senior manager.
4 Course Theme: Variety SoEware products are very varied Data processing: Real 1me: Embedded so6ware: Mobile devices: Informa1on systems: Sensors: System so6ware: Communica1ons: Offices: Scien1fic: Graphical: etc., etc., etc.,... telephone billing, pensions air traffic control device drivers, controllers digital camera, GPS, smart phone web sites, digital libraries weather data opera9ng systems, compilers routers, telephone switches word processing, video conferences simula9ons, weather forecas9ng film making, design
5 Variety The crae of soeware development So(ware products are very varied Client requirements are very different There is no standard process for so(ware engineering There is no best language, opera9ng system, plaxorm, database system, development environment, etc. A skilled so(ware developer knows about a wide variety of approaches, methods, tools. The crae of so(ware development is to select appropriate methods for each project and apply them effec9vely.
6 What is Good So(ware? What is good soeware? General characteris9cs Func9onality Usability Maintainability Dependability Efficiency Good so(ware products require good programming, but... Programming quality is the means to the end, not the end itself.
7 Course Theme: So(ware is Expensive SoEware is expensive The major costs are: salaries (your salaries) organiza9onal change
8 So(ware is Expensive Who is paying the money? What does that person or organiza1on want? What is success? What is failure? Technical people may have very different criteria of success from the people in charge of the organiza9on. Example Early Unix computers, Sun and IBM
9 The Three- way Trade- off Compe1ng goals Every so(ware project has a trade- off between func1onality, cost, and 1me. Extra func9onality adds extra costs for development, tes9ng, maintenance, etc. What is important to the person who is paying? Examples: Ship date for Dartmouth financial system Start- up companies: What features will generate real customers who will pay for the product? Car an9- lock brakes (no bugs allowed) Web browser in cell phone (no delays in release allowed)
10 Course Theme: Clients, Customers, and Users Client The client is the person for whom the so(ware development team creates the so(ware. The client provides resources and expects some product in return. The client is o(en a member of the organiza9on that is providing the money. The client's job success may depend on the success of the so(ware project. Client sa9sfac9on is a primary measurement of success in a so(ware project. Who is the client for Microso( Excel?
11 Who is the Client? Categories of client and soeware product: Bespoke (customized) (e.g., IRS internal system) Customized versions of generic packages (e.g., Cornell's payroll system) General purpose package (e.g., Microso( Excel, Mathema9ca) Embedded (e.g., cell phone) Research (e.g., Web Lab) For each category of product: Who is the client? Who is providing the money? What do they want?
12 Clients, Customers, and Users Customer The customer is the person who buys the so(ware or selects it for use by an organiza9on. User A user is a person who actually uses the so(ware. With personal so(ware, the user may be the same person as the customer. In organiza9ons, the customers and the users are usually different. The Cornell Finance Office uses Microso( Excel. Who is the customer? Who are the users?
13 Course Theme: Risk Many (probably most) soeware development projects run into difficul1es Problems: Does not work as expected (FUNCTION) Over budget (COST) Late delivery (TIME) Much of soeware is wasted (perhaps 50% is never used) Never used because: Does the wrong thing Users dislike to use it There are no customers etc.
14 Risk Many soeware projects fail because the soeware developers build the wrong soeware. The so(ware development team must: Understand what the client expects of the so(ware Understand what the client's organiza9on expects of the client The so(ware development team will o(en: Add technical insights and sugges9ons, but remember: Client sa9sfac9on is a primary measurement of success in a so(ware project.
15 Risk Failures of soeware development projects can bankrupt companies. What is the penalty to the client if so(ware is: late? over budget? does not work or full of bugs? Failures of a so(ware development project will o(en cost senior execu9ves their jobs. Example: Apple s mapping app.
16 Minimizing Risk: Communica9on with the Client Feasibility studies (whether to begin a project). Separa1on of requirements (what the client wants) from design (how the developers meet the requirements). Milestones (how the developers report or demonstrate progress to the clients) and releases. Acceptance (how the client tests that the so(ware meets the requirements) and user tes1ng. Handover (ensuring that the client receives a package that can be operated and maintained over a long 9me period).
17 Course Themes: Visibility Visibility The people who take the responsibility must know what is happening The problem (as seen by a manager) Must rely on others for reports of progress or difficul9es... but so(ware developers Have difficulty evalua9ng progress Are usually op9mis9c about progress Consider repor9ng a waste 9me etc. Working so(ware provides excellent visibility You will make regular progress reports on your projects
18 Minimizing Risk: Short Development Cycles Short development cycles with frequent releases provide an important methodology that is used by a number of successful companies. Risk is minimized by frequent delivery of working so(ware (weeks rather than months). Client, customers, and users can evaluate the developers' work. Opportuni9es to adapt to changing circumstances. This is one of the basic principles of Agile So(ware Development.
19 Course Theme: Teams Most so(ware development is by teams Effec9veness of team determines success Most large so(ware projects are built on older ones It is rare to start a new system from scratch Building on the work of others is a fundamental skill of so(ware development Much so(ware is built in increments, with different teams responsible for the increments
20 Course Themes: Scale Large and very large systems have different needs So(ware design So(ware architecture Object- oriented design Dependable systems Reliability Verifica9on Legacy systems
21 Scale CS 5150 Projects A CS 5150 project is about 0.3 person/years. This is about the size of a single increment (sprint) in a produc9on Agile process. A big project may be 100 to 10,000+ person years Every large system is developed by many people, who are constantly changing. Before a big project is completed the requirements have changed many 9mes. No large system is ever complete. Nobody comprehends more than a frac9on of the project.
22 Course Themes: Process Process in large soeware projects So(ware as a product Quality, performance, usability Maintenance, evolu9on Separa9on of requirements and design Project management Personnel management Economic, legal, and social factors Development processes Sequen9al Itera9ve refinement Incremental (Agile)
23 Course Theme: Professional Responsibility Organiza1ons put trust in soeware developers: Competence: So(ware that does not work effec9vely can destroy an organiza9on. Confiden9ality: So(ware developers and systems administrators may have access to highly confiden9al informa9on (e.g., trade secrets, personal data). Legal environment: So(ware exists in a complex legal environment (e.g., intellectual property, obscenity). Acceptable use and misuse: Computer abuse can paralyze an organiza9on (e.g., the Internet worm).
24 Academic Integrity & Professional Prac9ce So(ware Engineering is a collabora9ve ac9vity. You are encouraged to work together, but... Some tasks may require individual work. Always give credit to your sources and collaborators. Good professional prac1ce: To make use of the exper9se of others and to build on previous work, with proper ahribu9on. Unethical and academic plagiarism: To use the efforts of others without ahribu9on. See: Academic Integrity on the course web site, which points to the Cornell code.
Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Steps in the So(ware Development Process William Y. Arms So(ware Process Fundamental Assump1on: Good processes lead to good
Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Project Management William Y. Arms Project Management: OS 360 The operadng system for the IBM 360 was two years late. Ques%on:
Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Evalua4on and User Tes4ng William Y. Arms Usability: The Analyze/Design/Build/Evaluate Loop Analyze requirements Design User
Graduate Systems Engineering Programs: Report on Outcomes and Objec:ves Alice Squires, email@example.com Tim Ferris, David Olwell, Nicole Hutchison, Rick Adcock, John BrackeL, Mary VanLeer, Tom
Project Por)olio Management Important markers for IT intensive businesses Rest assured with Infolob s project management methodologies What is Project Por)olio Management? Project Por)olio Management (PPM)
Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Legal Aspects of So(ware Development William Y. Arms Legal Environment So(ware is developed in a complex legal and economic
ServiceNow So1ware Development manages Scrum or waterfall development efforts and defines the tasks required for developing and maintaining so[ware throughout the lifecycle, from incep4on to deployment.
B2B Offerings Helping businesses op2mize Infolob s amazing b2b offerings helps your company achieve maximum produc2vity What is B2B? B2B is shorthand for the sales prac4ce called business- to- business
Big Data and Clouds: Challenges and Opportuni5es NIST January 15 2013 Geoffrey Fox firstname.lastname@example.org h"p://www.infomall.org h"p://www.futuregrid.org School of Informa;cs and Compu;ng Digital Science Center
Challenges of PM in Albania and a New Professional Perspec8ve Prepared by: Dritan Mezini, MBA, MPM B.S. CS Table of contents Presenter s brief introduc8on General Concepts What is a project? What is Project
BPO Accerela*ng Revenue Enhancements Through Sales Support Services What is BPO? Business Process Outsorcing (BPO) is the process of outsourcing specific business func6ons to a third- party service provider
Project Management Introduc1on Session 1 Part I Introduc1on By Amal Le Collen, PMP Dr. Lauren1u Neamtu, PMP Session outline 1. PART I: Introduc1on 1. The Purpose of the PMBOK Guide 2. What is a project?
1 1 2 CONTENTS Introducon 2 Undergraduate Program 4 BSC in Informaon Systems 4 Graduate Program 7 MSC in Informaon Science 7 MSC in Health Informacs 13 2 3 Introducon The School of Informaon Science at
Everything You Need to Know about Cloud BI Freek Kamst Business Analy2cs Insight, Bussum June 10th, 2014 What s it all about? Has anything changed in the world of BI? Is Cloud Compu2ng a Hype or here to
MAXIMIZING THE SUCCESS OF YOUR E-PROCUREMENT TECHNOLOGY INVESTMENT How to Drive Adop.on, Efficiency, and ROI for the Long Term What We Will Cover Today Presenta(on Agenda! Who We Are! Our History! Par7al
Big Data The Big Picture Our flexible and efficient Big Data solu9ons open the door to new opportuni9es and new business areas What is Big Data? Big Data gets its name because that s what it is data that
Status of Design and Implementa7on Plan for UH System and Mānoa Organiza7onal Changes and Consolida7ons to Improve the Efficiency and Effec7veness of Support Services Presenta7on to UH Board of Regents
FTC Data Security Standard The FTC takes the posi6on (Being tested now in li6ga6on) that Sec6on 5 of the FTC Act requires Reasonable Security under the circumstances: that companies have reasonable controls
Managed Services An essen/al set of tools for today's businesses Manage your enterprise better with a holis/c solu/on to all your IT worries only at Infolob What are Managed Services? By far the most cu/ng
DEFINING COMPONENTS OF NATIONAL REDD+ FINANCIAL PLANNING WORKSHOP ON BUILDING MULTI- SOURCE REDD+ FINANCING STRATEGIES Antigua, Guatemala July 17 and 18, 2014 Objec'ves of REDD+ Financial Planning Financial
So#ware- based CyberSecurity Michael Butler Gennaro Parlato Electronic and So.ware Systems (ESS) Security is mul;- faceted Confiden;ality Authen;ca;on Authorisa;on / Access Control Trust / Reputa;on Anonymity
Academic Career Paths and Job Search Padma Raghavan, Penn State Susan Rodger, Duke University Modified Slides from Margaret Martonosi, Mary Lou Soffa, Tiffani Williams and Erin Solovey About this session
Informa.on Systems in Organiza.ons MIS 2101 Week 7 / Chapter 7 Enhancing Business Processes Using Enterprise Informa.on Systems Photo: Objet Mathema+que by Man Ray, 1934 Chapter 7 Learning Objec.ves Core
Effec%ve AX 2012 Upgrade Project Planning and Microso< Sure Step Arbela Technologies Why Upgrade? What to do? How to do it? Tools and templates Agenda Sure Step 2012 Ax2012 Upgrade specific steps Checklist
RM-C A R o a d t o y o u r C l o u d Professional Service C R M a n d C l o u d C o n s u l t i n g CRM-C Highlights! A Unique Cloud CRM Consulting service firm! Specializing in cloud CRM and Office Collaboration
Application of Supply Chain Concepts to the Analysis Process Rob Handfield, PhD Bank of America University Distinguished Professor of Supply Chain Management Executive Director, Supply Chain Resource Cooperative
Dr. Kıvanç DİNÇER, PMP Hace6epe University Implemen@ng CMMI for High-Performance with TSP/PSP Informa@on Systems & SoFware The Informa@on Systems usage has experienced an exponen@al growth over the past
Online Enrollment Op>ons - Sales Training 2011. Benefi+ocus.com, Inc. All rights reserved. Confiden>al and Proprietary 1 Agenda Understand Why This is Important Enrollment Op>ons Available EDI Blues Enroll
CiviCRM Implementa/on Case Study Leukaemia and Lymphoma Research www.leukaemialymphomaresearch.org.uk Parvez Saleh About the LLR Having gone through the socware/supplier selec/on process, the LLR decided
Financial Fraud Threats & Preven3on Mark Frank EVP, Senior Opera3ons Officer Colorado Business Bank Why Pay ACen3on to Fraud Risks? Fraud occurs everywhere, and NO organiza3on is immune Changing business
PATRIOT BANK CUSTOMERS Corporate Account Takeover & Information Security Awareness What will be covered! What is Corporate Account Takeover?! How does it work?! Sta9s9cs! Current Trend Examples! What can
With the global leader in sampling and data services Using Mobile to Capture In- the- Moment Insights Saran Ganesh Director, Mobile product marke8ng 2015 Survey Sampling Interna6onal 1 During this webcast
So#ware quality assurance - introduc4on Dr Ana Magazinius 1 What is quality? 2 What is a good quality car? 2 and 2 2 minutes 3 characteris4cs 3 What is quality? 4 What is quality? How good or bad something
Manufacturing Operations Management Paul Barber Director Lighthouse Systems During this presenta.on! In over 80 Can factories In 27 countries 15 languages! 1000s of users will be using our so;ware, to:!
2012 UC CUCSA Staﬀ Engagement Survey Recommenda9on Report Summary Career Development January 13, 2014 Career Development Workgroup Recommenda9ons Shirley Bi7lingmeier Tracy FitzGerald Lifang Chiang Margaret
DATE: Spring 2016 TO: RE: Woodstock Area Educators Upcoming Cohort Programs Presently, many teachers are enrolled in cohort graduate programs through partnerships between local regional offices of education,
DC planning for the next 5 10 years Topics to be Discussed Introduc=on Indirect Drivers Technology Direct Drivers Data Center DC Management DC Opera=ons s and Disaster Recovery 2 Introduc=on The future
Privileged Administra0on Best Prac0ces :: September 1, 2015 Discussion Contents Privileged Access and Administra1on Best Prac1ces 1) Overview of Capabili0es Defini0on of Need 2) Preparing your PxM Program
Beyond Strategy: Building Your Mobile Capabili6es TASSCC Technology Educa6on Conference April 10, 2015 Presented by: Raj Polikepa6 Director of App Development Texas.gov Agenda ê Objec6ves of Mobile Strategy
10 Steps to Preparedness Key Take- Aways Review basics of disaster recovery and con2nuity of opera2ons. Understand what you can do to prepare your pool and its members for an unplanned interrup2on. Ini2ate
Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Requirements Analysis William Y. Arms Process Step: Requirements Requirements define the funceon of the system from the client's
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
Understanding Cloud Compu2ng Services Rain in business success with amazing solu2ons in Cloud technology What is Cloud Compu2ng? Cloud compu2ng encompasses various services and ac2vi2es carried out over
To show examples of how SMBs use technology in a posi8ve way for their businesses at their desks or out of the office. Focusing this on the many companies that are under 50 employees on Cape Cod and surrounding
Strategy and Architecture to Establish 'Smart Plants' About Intrigo We are a solu*on provider of Business Applica:ons focused on orchestra*ng Customer Value Networks in the changing SAP Enterprise technology
University of Maryland University College Distance Education in Dual Degree Partnerships: Challenges and Opportunities Distance Educa-on in the United States Unlike Russia, the U.S. does not dis3nguish
Research at the Department of Computer Science and Software Engineering Professor Yong Yue BEng, PhD, CEng, FIET, FIMechE 17 October 2014 Research Areas Ar%ficial intelligence Robo%cs Data mining Image
Cloud Compu)ng in Educa)on and Research Dr. Wajdi Loua) Sfax University, Tunisia ESPRIT - December 2014 04/12/14 1 Outline Challenges in Educa)on and Research SaaS, PaaS and IaaS for Educa)on and Research
Big Data: calling for a new scope in the curricula of Computer Science Dr. Luis Alfonso Villa Vargas 23 de Abril, 2015, Puerto Vallarta, Jalisco, México Big Data: beyond my project } This talk is not about
Special Report Sign up to get your free report today! RESULTS BASED Onboarding Evalua/on Tools and Metrics By Robert C. Bilotti, Managing Director Novita Training Need to get a bigger bang for your buck
STATIC CODE ANALYSIS IN THE FEDERAL GOVERNMENT 2011 Nominee Interna>onal Security Execu>ves (ISE ) Informa>on Security Project of the Year North America Government Sector A Presentation by The IF YOU AREN
Step Away from the Waterfall: You Really Can Use Agile on an ERP Project October 2, 2012 This document is protected under the copyright laws of the United States and/or other countries as an unpublished
Mastering Your Data Center Move Steps to a Successful Project PRESENTERS: Dean Evans and Art Dooling Introduc;ons Dean Evans: Director of the Empower prac;ce at Align 15+ years of experience in technology
3 rd SG13 Regional Workshop for Africa on ITU- T Standardiza?on Challenges for Developing Countries Working for a Connected Africa (Livingstone, Zambia, 23-24 February 2015) Cloud Compu?ng & Big Data in
2015-16 ITS Strategic Plan Enabling an Unbounded University Update: July 31, 2015 IniAaAve: Agility Through Technology Vision Mission Enable Unbounded Learning Support student success through the innovaave
Establishing Effec/ve Data Governance Data Quality Council Much of what I say is taken from 2 publica/ons put out by the na/onal Center for Educa/on Sta/s/cs and Na/onal Forum on Educa/on Sta/s/cs Forum
Massachusetts College of Art and Design Mobile Phone Stipend Policy, 2010 Purpose Cellular telephones and cellular-based wireless communications devices can be an effective resource for campus employees
Module Summary So#ware Development Methodologies Project Management Phases Agile Methodology Agile Manifesto Roles Team Roles and Responsibili?es Goal for First Client Mee?ng Expecta?ons Client Student
ARTIST Methodology and Tooling Jesus Gorroñogoitia - Atos SOC Crete, 1 st July 2015 Motivation: From SaaP to SaaS So#ware as a Product based Company So#ware as a Service based Company : Cloud Computing
Bank of America Security by Design Derrick Barksdale Jason Gillam Costs of Correcting Defects 2 Bank of America The Three P s Product Design and build security into our product People Cultivate a security
MTD s Multiple Service Platforms uses the Microso/ Office pla5orm and is an MS Access applica:on with integra:on to the common Microso/ Office applica:ons, namely Excel, Word, and Outlook. may be installed
DDOS Mi'ga'on in RedIRIS SIG- ISM. Vienna Index Evolu'on of DDOS a:acks in RedIRIS Mi'ga'on Tools Current DDOS strategy About RedIRIS Spanish Academic & research network. Universi'es, research centers,.
Strategies for Managing Fleet Safety and Efficiency! Program Overview! Ø In early 2014, Gatepoint Research invited selected execu;ves to par;cipate in a survey themed Strategies for Managing Fleet Safety
Understanding and Detec.ng Real- World Performance Bugs Gouliang Jin, Linhai Song, Xiaoming Shi, Joel Scherpelz, and Shan Lu Presented by Cindy Rubio- González Feb 10 th, 2015 Mo.va.on Performance bugs
Data Center Evolu.on and the Cloud Paul A. Strassmann George Mason University November 5, 2008, 7:20 to 10:00 PM 1 Hardware Evolu.on 2 Where is hardware going? x86 con(nues to move upstream Massive compute
Capabili'es for Strengthening Cybersecurity Resilience In the Homeland Security Enterprise September 2012 DHS Cybersecurity Strategy A cyberspace that: Is Secure and Resilient Enables Innova=on Protects
WSECU Cyber Security Journey David Luchtel VP IT Infrastructure & Opera:ons Objec:ve of Presenta:on Share WSECU s journey Overview of WSECU s Security Program approach Overview of WSECU s self- assessment
Lake Tuggeranong College Unit Outline COURSE: Informa*on Technology Unit: Computer Games Programming and Design Year: 2014 Session: Semester 2 Standard Units: 1.0 Class Code(s): 13639 (T) & 13684 (A) Teachers(s):