"Better software" is software that makes our users' lives just a little easier. If it doesn't meet that goal, it's useless. Sometimes worse than useless.
We're at the point now where we can look at the system as a whole and start to refactor it. We can eliminate unused components and invent new ones, more tailored to our current con
Finding good test input can be tricky. Even with loads of unit tests, bugs still get through. Why not just generate input and let that find the edge cases?