Chapter 1: Introduction

One principle problem of educating software engineers is that they will not use a new method until they believe it works and, more importantly, that they will not believe the method will work until they see it for themselves. --Humphrey, W.S., "The Personal Software Process"

This book is intended for students who have to do a software-intensive team project as part of their course of study. Most students find it hard to apply theories they previously learnt in the context of an actual project. This book is an attempt to help such students. It is a collection of bite-sized practical tips gathered from my software engineering experience (both as an educator and a practitioner) and from many excellent books and articles on the topic.

This book is free for use by anyone. Here is how you can use it:

Students: Use this book to guide you in your project. It might not fit your project exactly, as project courses differ widely. If it does not, do let me know; I shall try my best to address the mismatch in a future version.

Educators: This book can be used as supplementary text for your course. If you are an experienced educator, there are probably many tips you could add to this collection. In that case, please let me know by adding a comment [] or emailing me. If you would like to co-author a customised version of this book to fit your own course or to translate it to a different language, please drop me an email.

Practitioners: Although not specifically targeted at practitioners, this book can help newly recruited programmers. More importantly, as practising software engineers of today, you could help us educators do a better job of training tomorrow's practitioners by giving me feedback. Just by add a comment here or email me.

If you would like to have a printable PDF version of the entire book, download it from here If you want to reproduce some of this content elsewhere - that can be arranged too; please let me know in advance.

URL to add comments: | Author's email: damith{at}

Many helped to make this book what it is today. In particular, I wish to thank (in no particular order):

Just for the record, this is the book's progress:


Giving feedback

Any suggestions to improve this book? Any tips you would like to add? Any aspect of your project not covered by the book? Anything in the book that you don't agree with? Noticed any errors/omissions? Please use the link below to provide feedback, or send an email to damith[at]

Sharing this book helps too!


---| This page is from the free online book Practical Tips for Software-Intensive Student Projects V3.0, Jul 2010, Author: Damith C. Rajapakse |---

free statistics free hit counter javascript