CS 5150 1 CS 5150 Software Engineering Lecture 5 by Stephen Purpura Matching Process to Risk.

Slides:



Advertisements
Similar presentations
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advertisements

CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
CSE 470 : Software Engineering The Software Process.
Processes. Outline Definition of process Type of processes Improvement models Example Next steps… 1.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Chapter 5: Common Support Problems
Over 60% of the U.S. population is online with over 170 million users in the United States! The Internet is viewed more than the newspaper industry and.
We all know the world is changing… Upgrades may break apps We need sufficient time to test Our key software vendors need time to test & issue statements.
CS 5150 Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Software Engineering.
CS 501: Software Engineering
CS 5150 Software Engineering
Software Testing and Quality Assurance Testing Web Applications.
CS 501: Software Engineering
Systems Analysis and Design in a Changing World, 6th Edition
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
Introduction to Computer Technology
Chapter-7 Introduction to Cloud Computing Cloud Computing.
At the North of England Institute of Mining and Mechanical Engineers Library, Newcastle upon Tyne.
12.
Design Completion A Major Milestone System is Presented to Users and Management for Approval.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Project Management Development & developers
CSI315 Web Applications and Technology Overview of Systems Development (342)
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
By Anthony W. Hill & Course Technology1 Common End User Problems.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software – Acquisition & Testing. ICT5 How to acquire software There are several options: The software may be written by the end-user; A specialist department.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE LIFECYCLE MODELS These slides contain a few.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Engineering Management Lecture 1 The Software Process.
1 © 2004, Cisco Systems, Inc. All rights reserved. CISCO CONFIDENTIAL Support for Vista Unity 5.0(1)
© 2012 Foley Hoag LLP. All Rights Reserved. Legal Issues for Start-ups: Seed Financing Presentation to Boston ENET December 4, 2012 Matt Eckert
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS 5150 Software Engineering Lecture 3 Software Processes 2.
Prof. Aiken CS 169 Lecture 21 Software Process CS169 Lecture 2.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Systems Development Life Cycle: Mean Motocross Machines By: Cortney Robertson Paul Garcia.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS These slides contain a few different software lifecycle.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CS223: Software Engineering Lecture 4: Software Development Models.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 19 - Cash and Marketable Securities Management.
Methodologies and Algorithms
Software Engineering Management
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
Game Design, Development, and Technology
CS 5150 Software Engineering
The life cycle.
Popular Operating Systems
Why Technology Startups Should Not Ignore Software Testing.
Software Process Models and the feasibility study
Enterprise Program Management Office
Presentation transcript:

CS CS 5150 Software Engineering Lecture 5 by Stephen Purpura Matching Process to Risk

CS Big Team vs. Small Team Risks When requirements or plan are uncertain, the minimum (engineers, modules, lines of code, tests, etc.) should be impacted by changes (that result from uncertainty). Changing the direction of a big ship requires more ocean than a small ship requires.

CS Some definitions of success are more concrete … How do you approach these definitions of success? (a)Increase market share by 3% (b)Gain 10,000 new web site visitors (c)Build a document repository web site (d)Make Windows safe from hackers

CS Let’s Start a Technology Company It is Regular consumer Internet usage is less than 10 million people. We want to start a company that will allow consumers to pay their bills using an Internet interface. We’ll call this market “online Bill payment”. What do we do next?

CS Which Option Would You Choose? Feasibility and planning Option 1: Sketch the components of the web site, make a list of modules, build budgets for building the components Option 2: Plan how you will acquire the first 1,000 users Option 3: Start building a prototype

CS Draft 1: Requirements for Acquiring 1,000 Customers Step 1: At least 1,000 potential customers must navigate to the site Step 2: Each customer must be able to: Identify themselves Establish funding information Pay a bill See status/history Troubleshoot Step 3: Profit?

CS Draft 2: Requirements for Acquiring 1,000 Customers Step 1: Sign relationship deals with 4 billers that will ask at least 25,000 customers to navigate to your web site. Step 2: Each customer must be able to: Identify themselves Establish funding information Pay a bill See status/history Troubleshoot Step 3: Profit?

CS Draft 3: Requirements for Acquiring 1,000 Customers Step 1: Sign relationship deals with 4 billers that will ask at least 25,000 customers to navigate to your web site. Step 2: Each biller can customize their customer interface Step 3: Each customer must be able to: Identify them self Establish funding information Pay a bill See status/history Troubleshoot

CS How Much Money Do We Need? The founders of a company seek $250k based on a broad plan (that seems feasible) to test whether they can acquire 1,000 Internet Bill Payment customers by leveraging agreements with 4 billers that will drive 25,000 potential users to their web site. Success = A conversion rate of 4% 1,000 happy customers with at least 1 transaction each A web site that can handle the daily load A secure system ships every day

CS What Does Success Earn You? An increase in valuation Credibility

CS The Capitalization Table of a Seed Funded Company with a $250,000 Round InvestorCommon SharesPreferred Shares% of Company Founder 130,000, % Founder 230,000, % Investor 110,000, % Investor 210,000, % Director100, % Programmer 130, % Programmer 230, % Option Pool19,840, % Authorized but Unallocated20,000, % Total100,000,00020,000, % Assuming a liquidity preference of $1:$1 for Preferred shares, if this company is sold for $250,000, how much does each programmer receive?

CS Basic Process Steps in all Software Development Feasibility and planning Requirements System and program design Implementation Acceptance and release Operation and maintenance Start with a meaningful goal! Minimum possible product driven by goals!

CS What are the technical risks? Major Risks Company will run out of money Customers don’t understand how to use site Customers can’t complete transactions Customers don’t have funding ability Web site fails under load Hackers/fraud/repudiation

CS Observations about Software Processes Completed projects should have the basic process steps but... the development process is always partly evolutionary. Risk is lowered by: Prototyping key components Frequent releases, dividing large projects into phases Early and repeated testing with users and customers. Following a visible software process Making use of reusable components TESTING! Simulations! Trial runs!

CS Matching Process to Risk Company will run out of money Customers don’t understand how to use site Customers can’t complete transactions Customers don’t have funding ability Web site fails under load Hackers/fraud/repudiation Iterative Design Modified Waterfall + Reaction Minimum Product

CS Iterative Processes: Requirements and Risk Mistakes in the requirements are the most expensive to correct. Requirements are hard to understand until there is an operational system, particularly with user interfaces Create an outline system quickly, review it with clients, test it with users, improve the understanding of the requirements Example: Start-up time of launching a complex application.

CS Contrast the Previous Example with Planning the Next Version of Microsoft Windows People buy Windows primarily because of network effects. But some upgrade because of “excitement”. What do we do next?

CS Matching Process to Risk Company will run out of money Customers aren’t excited Network effects Hackers/fraud/repudiation Application and hardware compatibility New “lock in” features Iterative Design Modified Waterfall Minimum Product

CS Application Compatibility Stability is a major feature of Windows. Recent but older applications run correctly Older web sites can be viewed in Internet Explorer Home users can use older HP laser printers How do you assure this? You test and validate every day.

CS Big Team vs. Small Team? Why can Google Chrome ship faster than IE? VersionShip DateMarket Share 1.0December 11, % vs. 1.4% 2.0May 24, % vs. 1.7% 3.0October 12, % vs. 3.6% 4.0January 25, % vs. 4.6% 5.0May 25, % vs. 6.8% 6.0September 2, % vs. 8.0%

CS Conclusion and Preview of Next Talk If the software isn’t written, deployed, and functioning as desired, there are unknowns in its development. To eliminate unknowns, you simulate desired production behavior. You order the creation of the simulations based on the potential cost of known unknowns and unknown unknowns. This is learned from experience. Big teams use more simulations than small teams to minimize the number of times they modify plans with cascading changes.