Textbooks are not collaborative enough.
A good textbook in my view is one with lots of useful information laid out in an accessible manner. It lets students dip in to find what they need. It should also be opinionated: say here’s the options, but start here. This provides a good foundation for their experiences.
Sadly, I have not found many textbooks that do this for software engineering and development. I used the common software engineering book from Ian Sommerville, but found it too rigid. That one was also tailored to big upfront design. His shorter Engineering Software Projects, is more useful. It tailored the work to agile approaches, and offered paths students could use for their work. It blended discovery, and development with user centred design too.
Another one that I found after I stopped teaching software engineering and development is John Dooley and Vera Kazakova’s Software Development, Design and Coding. I like how this one covers ‘how’ to collaborate in a team, while also discussing the other important aspects that you expect in a textbook. Importantly it also focuses on agile and lean approaches. I wish I’d known about it sooner. It would be fun to use this book.

The textbooks leave collaboration parts out
The main issue I find with textbooks is that they normally tell students nothing about how to organise themselves to do the work. There is nothing about doing the work and why you should do the work together. Dooley and Kazakova cover some of this, which is good to see.
More books should do this. Tell students how to organise their work, and plan the collaboration, and ways of working. This is especially important now that more students will be exploring how to apply AI to their tasks, instead of doing the work with the team.
Use the collaboration rules alongside your textbook
Each of the ten collaboration rules help teams find ways to do more work together. By using these they are more likely to succeed in their collaboration.
These ten rules provide a way for you to know if something is helping or hindering your collaboration.
- Always be collaborating, instead of working on your own
- Aim for diversity to improve your work
- Work in the open so the team can see your work sooner
- Be humble and ask for help and feedback
- Meet regularly with a suitable cadence for your context
- Accept that it’s all guesswork and start small to learn more
- Build deployable small vertical slices to learn more quickly
- Keep doing the next riskiest item in order to reduce risks quickly
- Shorten your feedback loops, so that you learn faster
- Always be pausing to review your collaboration
You can use them alongside your regular course materials to provide a guide to students. Digging deeper into the rules you’ll also find exercises, or activities to provide experiential opportunities for the practices too.
Just pick a place to start and go from there. Don’t overthink it. Term is starting, so pick one that appeals to you and give it a try. After you experience the result you can try more, and add parts over time to show students the power of collaboration.
This post is part of a project pulling together my materials and ideas about Teaching Team Collaboration: the Human-Side of Software Development for software development to students.
If you’d like to be notified of future posts, then please sign up for more using the adjacent form. When you sign up, then I’ll send you a free copy of the collaboration rules as a PDF from the book. You can also follow me on LinkedIn
The ideas above are from my book 101+ Ideas to Improve Team Collaboration, which covers all of these little things that students can do to improve their collaboration. Also available via Kindle.