Introducing formality into the software development process: experience with a software project course | IEEE Conference Publication | IEEE Xplore