Ask HN: How to fix a broken software organization?
3 points| brianmwang | 15 years ago | reply
Though I am not a developer, I work with this team every day and from what I've seen, there is little in the way of development methodologies, source control is shoddy, and I am completely unaware of any user that is actually happy with the software. As somebody who plays a client facing role, it's pretty discouraging having to deal with unhappy users who are only using the software because their organizations require it.
How does one fix this? There is a push to start building a new version of the software from the ground up to do away with the tangled mess of the current version, but since resources are usually tied up with putting out fires, it's difficult to do. Worse yet, I'm afraid the problem of feature explosion and client builds that bear little resemblance to each other will persist simply because management wants to allow clients to customize as much as they want in order to keep them happy.
Things are very broken and I'm trying to figure out what I can do to start turning things around. Any advice from HN would be greatly appreciated!
[+] [-] seasoup|15 years ago|reply
[+] [-] bgrohman|15 years ago|reply
[+] [-] brianmwang|15 years ago|reply
[+] [-] prodigal_erik|15 years ago|reply
Software is rarely any better than it absolutely has to be for people to put up with it, and these people must put up with it. You need to find a business case--either customers are defecting to other vendors, or fewer leads are converting to customers, or time to market for new features is hurting you, or good staff are resigning in disgust. If none of these things are true, then sadly the business is actually making the right call, because terrible software is cheaper and the market is all too willing to take it.
[+] [-] cjus|15 years ago|reply
If the company is profitable and the users are pleased with the product then from an upper management perspective there may not be anything wrong. Until the bottom line is impacted there may not be leverage for change. The key is to alert management to the state of the product and the course it's on.
Parallel development may be an option as the next release of the product would address the underlying issues. This is costly and upper management would have to understand why that's necessary.
[+] [-] brianmwang|15 years ago|reply
There are a few other things going on here that I haven't mentioned yet:
- We've already pulled one client from the brink of not renewing a contract by developing a much simpler, web based version of our main offering. IMO this should be the general direction of the product but some users would legitimately miss some features.
- Management is well aware that the software is problematic. I believe they've been resting on their laurels for a while due to monopoly position. Things are changing though; competitors are catching up.
- it bears repeating that users are not happy with the product at all, but they are forced to use it by our true customers: their bosses. Those higher-ups do recognize that without ROI, however, the investment is simply not worth it. Now, the actual value of the product itself is another thing entirely...