Title: The Software Engineer
1The Software Engineers Job
2What Is Software Engineering
- The job of the software engineer is to deliver
high-quality software products at agreed cost and
schedule. - To do an effective job they need to
- plan their work,
- do their work according to this plan,
- and strive to produce the highest quality
products.
3Why Is Good Engineering Important?
- Historically, few software organizations have
reliably met their cost and schedule commitments. - This has given the field of software engineering
a bad name. - Poor software has caused companies to fail, space
missions to fail, and even people to die.
4The Personal Software Process
- Designed to help software engineers to do good
work. - Shows how to apply advanced engineering methods
to daily tasks. - Provides detailed estimating and planning methods
and ways to track progress against plans. - Explains how processes can guide work.
5The Discipline of High-Quality Work
- The discipline of the Personal Software Process
(PSP) provides a structured framework for
developing the personal skills and methods needed
by software engineers. - In many other fields, such as chemistry,
medicine, music, etc., professionals spend
considerable time in learning and practicing the
skills needed in their jobs it should be no
different for software engineers.
6The Importance of High-Quality Work
- Even if you work on only a small part of a larger
system, quality problems in your part can cause
the whole system to fail. - To produce quality software systems, every
engineer on the project must do quality work. - If you consistently produce high-quality
software, you and your products will be highly
valued by your employers and your customers.
7How to Improve the Quality of Your Work
- The secret is to change the process you are using
to become more effective. - The hard part is often figuring out what to
change. - You must evaluate (measure) the process you are
using, including the quality of the result. - This often highlights the steps that need
changing. - Once changes have been made, the effectiveness of
the new process must be measured to quantify the
improvement.
8The Improvement Process
Define the quality goal
Measure product quality
Understand the process
Adjust the process
Use the adjusted process
Recycle and continue improving
Measure the results
Compare the results with the goal
9Example Course Tasks
- Engineer______________________
Date_________________
Task Frequency Time (minutes)
Attend classes M,W 250/week
Read textbook Weekly 180/week
Homework Weekly 240/week
Write programs Weekly 420/week
Prepare for Exams Twice a semester 300/semester
Review notes During homework Included above