Lecture 6: Software Engineering Practice