When we hear about software development in the absence of a domain, it's difficult to have a discussion about the appropriate principles, processes, and practices of that work. Here's one paradigm that has served us well.
In the Software Intensive System world, Number 6 and beyond, here's some background