| I believe it's largely down to short term goals versus long term goals. From the business perspective, the company should do things quickly because that means the jobs are more profitable, cashflow is stable, and the business team believe that they can always find more clients even if the product is horrible. This is the short term outlook. From the programmers perspective the company should do things slowly because that leads to more maintainable software, less technical debt, and higher quality products with fewer faults. Less money comes in, but the clients stick around for the quality goods. This is the long term outlook. The thing that leads a company to fail is when neither side recognises is that both outlooks are wrong. You can't run a company churning out bad code forever because your technical team get annoyed and leave, but equally you can't build things forever because clients don't have unlimited money. There is a balance. If one or both sides don't understand that then the business is not going to work well - it'll churn through developers or it'll never make much money. If you find a job at a company that recognises the problem and attempts to resolve it you will be happy as a developer. |