Software Engineering
Lecture 2
Software Processes 1
CS 5150 1
ACSU is initiating a peer mentoring program
CS 5150 2
The Web Lab
CS 5150 3
Administration
Project teams
• Any announcement to class?
• People who would like to form teams?
Project Suggestions on the web site
Entrepreneurship experiment
CS 5150 4
Administration
Project teams
When you have formed your team and reached
agreement with your client, please send a message
to:
wya@cs.cornell.edu and stevepurpura@gmail.com
with the names of the team, the client's name, and the
topic of the project.
CS 5150 5
Software is Risky
CS 5150 6
Software is Risky
CS 5150 7
Software is Risky
CS 5150 8
Minimizing Risk: Incremental Development with
Frequent Releases
CS 5150 9
The Three-way Trade-off
Competing goals
Every software project has a trade-off between:
Functionality
Resources (cost)
Timeliness
What is important to the person who is paying?
Example:
Start-up companies: Are there real customers who
will pay for the product?
CS 5150 10
Minimizing Risk: Relationship with the Client
CS 5150 11
Minimizing Risk: Visibility
CS 5150 12
Teams
CS 5150 13
Observations about Big Projects
CS 5150 14
Software Process
Fundamental Assumption:
Good processes lead to good software
Good processes reduce risk
Good processes enhance visibility
CS 5150 15
Heavyweight and Lightweight Software
Development
CS 5150 16
Heavyweight and Lightweight Methodologies
Heavyweight Lightweight
Processes and tools Individuals & interactions
Documentation Working software
Contract negotiation Customer collaboration
Following a plan Responding to change
CS 5150 17
Variety of Software Processes
CS 5150 18
Basic Process Steps in all Software Development
• Requirements
In a lightweight
• System and program design
process, these steps
• Implementation are repeated with
each increment
• Acceptance and release
CS 5150 19