I'm a software developer fresh out of grad school, been working in industry for 5 months now and I am very much still adjusting to the business world. Over the past 5 months I have learned a tremendous amount from my co-workers (amazingly supportive people btw), but one question that I can't get a straight answer on is:
Given a bug report or enhancement request, should I invest time into understanding the problem and fixing the root issue across the code-base, or simply addressing the stated issue with a high-level work-a-round and moving on to the next request?
Everybody on my team seems to agree that systematically addressing the root cause is better (for a multitude of reasons; including consistent bahaviour across the product, ease of maintenance in the future, etc), but given the near-constant in-flow of high priority issues, we seem to produce a startling amount of work-a-rounds ("we put out the fire out for now, we'll clean that up for the next major release...").
As far as I can tell, this attitude trickles down from my manager who is playing a balancing game between giving developers time and space to do things well, while also facing time and budget pressures from above.
Clearly, the only right answer can come from my manager, and maybe the VP of development, but I'm curious how other people deal with these two conflicting interests in product development?
(My question is open to all areas of R&D, not just software.)