3 ms·
I used to work for a company that built systems like this for other organizations on contract. I'd consider every project I worked on there a success. We alwa
by swalsh 9y ago
I used to work for a company that built systems like this for other organizations on contract. I'd consider every project I worked on there a success. We always "under promised and over delivered". I think the key, as the contractor, is to get a good set of devs, to keep them happy, and to have a great project manager.
When these types of projects fail, it's usually because management is having problems juggling resources, and under-bid on the project. Or they're selling junior devs as senior devs.
- 11thEarlOfMar 9y agoThere is a set of 'contract project ethics' out there, waiting to be codified. Sounds like this firm violated all of them. It reminds me of how the Affordable Care Act web interfaces were rolled out with overruns and delays. Both sides can cause issues, whether it's cycling entire teams through, or, repeatedly changing requirements, there are particular challenges in this type of business. From my view: - Be expert in the domain of the code you're delivering. Both project leadership and at least a portion of the devs. In one project I observed, the contractor was a professor, took a large contract, and hired 6 grad students to fulfill it. None of them had professional experience, let alone domain experience. Disaster ensued. - Don't let commercial concerns get in the way of project success. If you've underbid and the company can survive the loss, take it on the chin and learn from the mistake. If you can't survive the loss, sit down with the customer and say, "We underbid and we can't survive the loss." Show them where you are and give them a chance to increase the budget. If they don't, fall back on your contract terms and terminate the project. You have contract terms that allow you to terminate without cause, right? Choosing to reduce the team, bring in lower cost devs, or deliver unfinished or untested code simply makes a bad situation worse. Don't do it.
- anovikov 9y agoThing is, most of the time there is simply no chance for win-win here. If someone can manage developers himself - why hiring a company - just go and hire developers directly. If someone can't, he will be scammed by a company no matter what, because that's what these companies exist for, they can't make money otherwise (as developers can work directly and if they were any good, they would do so). This is also why it is so insanely hard to find contract for a company: clients are not fools. Not most of them, at least. Caveat: companies also know that and learned very well to pretend to be individual developers since recently. In essence, my experience leads me to conclusion that custom software development is evil and should not exist. There is no space for it to be win-win.
- swalsh 9y agoI'm super confused about what the point you're trying to convey here is... but I'll try to comment from what I can understand of it. When you say "There is no good reason to hire a contractor", I'd disagree. There are a few excellent business reasons to do so. The first is you simply don't have that expertise in-house. The second is you have the expertise, but your resources are on other priorities. Hiring an outside firm can be a quick way to gain an asset with the custom features not available on the market with off the shelf software. Many companies do this custom contracting, and they do it successfully. My own experience is with a company that has done it successfully. Your own experience would appear to be with a firm that has been unsuccessful. There are so many factors that go into the success of a project, and your firm may not be organized in a way to allow you to be successful. There's nothing inherent to contracting itself that leads to failure.
- anovikov 9y agoNo, hiring a contractor is OK. When you know who you hire, that this is a real person, and he does not outsource to Indians, and he's not a hidden company. Firm that has been unsuccessful - problem is, most of these firms were and are quite successful. Their clients aren't. PS: maybe i am just too burnt out and trying to prove myself that leaving custom development is a good idea.
- swalsh 9y agoI 100% recommend leaving. It does not sound like you're in a healthy company. I'm not sure how senior you are, but obtaining some experience with a good quality company that knows how to build a successful project will be a huge benefit to you in terms of career, and just general cynicism.
- mkempe 9y agoI also worked for such a company. We regularly delivered small and big software projects, without failing the clients. There were several factors involved, from excellent project and client management to a solid culture of engineering and other disciplines; thorough scope management, meaningful core values, ...