The best time to consider an investment in software or technology is when faced with an opportunity to improve upon an existing process. For example, if you have a good manual process in place to track and manage your customers today, the time may be right to invest in a cost effective CRM package to move from an existing good process to a great one in the future.
Conversely, if your business lacks organization in a particular department or team, make sure to solve your organizational challenges first. Asking employees to adopt a piece of software as a means to solve a problem can magnify the existing problem and may create others.
The moral of the story: Use technology and software to enhance what is already in place or your investment will likely complicate an existing problem.