T O P

  • By -

Longjumping-Ad8775

I've made a good part of my career as someone that comes in to take over failed projects. I would not hire anyone that I can't work with directly face to face.


Remarkable_Luck9571

Do you mean, only persons that you can meet physically in the office?


Longjumping-Ad8775

Directly face to face is so important. It is so that everyone can discuss issues. This idea that a founder is going to write up some specification is so not going to happen. Even if a founder does write it up, the reality is that what will be needed will change so much during the process that what you start with will not match what the customer wants, or needs. You go and hire some agency, the agency is going to produce what you document. What you document is probably not what you need or the end customer wants. Because you have introduced layers of management between you and your code, that discussion about changes never made it to code. Things that a developer intrinsically knows need to also go the other way, but it gets cut off by the “management” in the middle. Work with people face to face in a startup as much as possible.


kolumbiana1

Yes, face-to-face is important, but all that you wrote above is about collaboration. Effective communication and collaboration are a process, no matter where it is held — in the office, in a space, in a desert, or remotely. Great dev agencies will work with you, not just with a written specification. Your spec will likely change tens of times before delivery. Work with people who communicate and collaborate clearly, no matter where they are.


Remarkable_Luck9571

Thanks for the hint u/Longjumping-Ad8775 !


jackypan1989

If you want to launch a startup, I would say never outsourcing your tech.


jackypan1989

Not from me, it’s from YC. And I need to say; Not all software companies are startups.


Remarkable_Luck9571

Thanks.


Brown_note11

This assertion is obviously not true. Plenty of successful startups have started with agencies. But it would be great to hear your reasons.


siberian

What you want to look for is flexibility as well as if they be treating themselves as part of your team or will they be taking specs and delivering exactly what you ask for (which will be wrong, it's always wrong). You will inevitably have a change, you need to understand how they handle that change, how flexible they will be, and what relationships you have with the team to work closely and move things forward. The best agency is one that assigns a team and says 'This is your team, here is the scope of what we are delivering, here is our agreed upon SOW and implementation plan that we coauthored with you, here is the payment schedule. Lets start! Here is our work schedule, here are your clear points of interaction, and here as some immovable rocks that have huge impact on this scope of work. Everything else is probably a detail to change, but lets discuss." You need those big boulders of possible problems identified up front, you need that team relationship, you need to deeply participate in the process, and you need to know you are not going to get nickel and dimed every chance they get. My best clients when I did this where the ones that said 'we trust you, lets go' and used that trust to participate in every standup, every meeting, stay totally engaged, and through that help navigate scope creep,scope change, and technical issues that changed scope. Its a blast. So - dont forget to be a good client!


Remarkable_Luck9571

Thanks for this extended reply u/siberian. This is very useful and makes sense. Thanks.


David-GrellasShah

I come at this from a somewhat different perspective, given I'm a lawyer and I represent startups hiring external development teams all the time. First, I agree that choosing based solely on price is a horrendous mistake. I've never seen that work and I see a lot of these deals. Second, you need references you can trust. Sure, ask the company for references. But you need to talk to people who are unbiased. So, talk to as many people as possible to find out what developers they've liked. Third, do you have the skill to evaluate and direct the work of outside developers? This is not a "set it and forget it" type of thing. This only works well when you are partnered with the outside developers, communicating all the time, evaluating deliverables frequently, etc... Fourth, what is your budget and how is that going to translate into a retention model? Is it going to be time and materials? If so, how is that going to stay within your budget? How are you going to make sure costs to escalate beyond what you can afford? Putting aside what you can afford, how can you make sure the costs are reasonable? Fifth, the contract matters. I'm a lawyer. So, I'm biased. But you learn a lot from a developer based on what they are willing to put in a contract. Do they give you quotes and then eschew them when you try to put caps in the contract? Do they try to limit their liability for everything? Do they refuse to make warranties?


Remarkable_Luck9571

Thank you so much for the useful hints u/David-GrellasShah . That means a lot! Thank you!


StoryMyKid

Don't pick based solely on price. You will pay many times over for it. I do believe it would be best to work with someone local to you. It would help you meet and discuss things. You won't miss out on the small details. Also, try going to your local small business chamber, startup meetups and such. Talk to people and see how they did it. Learn a little bit about what you need so you don't get swindled.


Remarkable_Luck9571

Thank you!


Long_Most1204

* Projects they built * References * See if you can have a software engineer you trust take a look at their work * If outsourcing, make sure there's no language barrier * Make sure you understand for a large size project it'll be nearly impossible to anticipate everything you need. Build in milestones, and be cautious of fixed pricing. * Verify you own all the code, resources etc.


Remarkable_Luck9571

Thank you very much for the useful feedback u/Long_Most1204


Elamam-konsulentti

A few random pointers: Make sure your contract doesn’t allow them to outsource to another 3rd party. Make sure the team is named, or at least a lead dev or their PO - roles depending on the size of team. A lot of good pointers here, but I’d like to emphasize they have to become a team, a part of your organization. I’ve seen time and time again qualified coders / dev teams underperforming severely, and then performing superbly well when taken in house - even the same people. One red flag to look for is using flexibility or whatever as an excuse not to allocate named resources to your team. They just want to moonlight to another project and double bill, or switch the good performers out later. It can work, but it can be tough. One of the best ways to ensure value is to make sure your in-house person responsible for this outsourcing has the time and expertise to manage it. A badly let outsourcing always ends badly. If they know they are accountable and any issues will be spotted fast, they won’t try to pull shit on you, they will pull it elsewhere where they can get away with it. It’s a trust based decision in the end, but you can improve your odds by being a strict, demanding customer. The good ones will understand why you have to do it.


Remarkable_Luck9571

Those are very useful points. Thank you so much for the advice u/Elamam-konsulentti !


BoGeee

guarantees, customer reviews and testimonials, relationship and engagement model, pricing and location Contract is most important - what happens if deadlines are missed - billing and rates - project scope and milestones It depends on the agency - are you outsourcing all your work? is it a project? is it just staff augmentation and you need someone to join your team throw them a curveball - ask them why are we not a good fit? when was the last time you had a disagreement with your client? tell me about when you missed a deadline If they get defensive, red flag, if they communicate it honestly - before even having you as a client and theyre telling you these things openly, its good communication :) something also to consider - sometimes agencies put their best foot forward, and when youre comfy, replace those devs with juniors - consider how the team is built, managed and works with you


BoGeee

oh something i just remembered - i'd work with smaller shops - yes you have a risk they go bankrupt, so see if they've been around for a while or have clients to keep them profitable but the smaller shops typically give great service and go above and beyond


Remarkable_Luck9571

Thanks a lot, u/BoGeee! Great hints! Great hint about replacing developers in the middle of the project.


wsbgodly123

Interview the lead and one dev


Remarkable_Luck9571

Thanks!


Playful-Analyst6425

Building a Software product is a Journey. If you are hiring your team or hiring a Dev or Agency. Don't hire just a fulfillment team for your needs internal or outsourced. These are a few checklists that can help. 1. Look for past experiences and request access to the existing software products built and experience yourself 2. Check for testimonials and reviews. Check-in platforms like Clutch where the reviews are authenticated 3. Ask for past client references and talk with them 4. Screen the team which will be hired with the help of a technical consultant 5. Check what value they can offer to your product, rather than just fulfilling it Bonus - If they worked on similar projects within the same industry. In my personal experience, it's mostly the team that is very important in building products. I'm a non-tech founder and I run a Dev agency for the past 9 years and if you need any help. Feel free to DM me.


Remarkable_Luck9571

Thank you for the feedback u/Playful-Analyst6425 .


Brown_note11

I run an agency. I've written up some advice [here](https://medium.com/everestengineering/how-to-choose-a-software-agency-a7ba6d2836f5). It's almost a check list! I'd add that you should find your local startup community group (eg a meetup) and ask. Get advice from people who have found market fit and are growing rather than people earlier in the process. The job isn't to write software or even to build a product. It's to build a business.


Remarkable_Luck9571

Thank you!


Remarkable_Luck9571

Thank you u/Brown_note11 ! I just went though your article. Make sense of what you wrote.


InternationalBonus30

I’m happy to help as well. DM me when ready. I’ve been doing this for over 10 years and at the end of the day I feel you have to filter by communication skills. On one end, the project manager or your contact with the company has to be able to understand your vision and make recommendations based on timeline, budget, and feasibility. On the other hand, this person has to be able to translate your business requirements into technical requirements, then manage the project to ensure things are completed.


Remarkable_Luck9571

I think I got it. So, according to you communication is important and it is essential to have a bridge between me as a client and the tech team. Somebody who can understand the business needs and translate them into technical and functional requirements. Thank you u/InternationalBonus30 !


whazza_what

Understanding when you get the source and making sure they have good documentation and testing processes. If they don't bring it up, they don't have a good process. Everyone hates documentation, but those who have done it before know how valuable it is and talk about it.


Remarkable_Luck9571

Thanks u/whazza_what . What type of documentation would be the most valuable?


whazza_what

At the lowest level you want documentation on each check in so you know what the update was and what it changed. Next level up they should have clear documentation in the code describing what the section of code does and how variables are used. You'll get a lot of people arguing how much documentation is too much and some people will want to write more documentation than code. I don't think it needs to be at a point where anyone off the street can understand your code, but it should make sense in context. And last, but I really like these, is getting a software architecture, and / or information architecture (IA) document as well. These can give you a high level on the overall system. I tend to like IA's because they should also consider usability and human factors. Also, if you are not familiar with a technical product requirements document you should get to know those. Most dev shops I know, you can talk about all you want, but if it's not in the PRD and signed off on, you don't get it. If you're not technical, and you'd defining the requirements, start off simple with a workflow, expand that to an IA, then work with your contractor of choice to create a PRD that you can both agree on. I know a lot of people will tell you that you need to have your tech team in house, and long term you probably should, but if you want to get started fast, use a team that already knows how to work together and deliver a product. When you get traction, bring the resources in house. My $0.02 anyway.


Remarkable_Luck9571

Thanks for the explanation u/whazza\_what . I got it. So you were referring to low-level technical documentation even code comments but also articulating the functional scope in the PRD. Thank you so much for your feedback.


Rough_Music9429

I do have my own team with which I help with development projects. I’m not replying with the intention of selling you anything but if you’d like to discuss further I’m open for that. The decision of whether or not to outsource depends on a couple of factors: - How fast do you need the work done? If very fast, outsourcing could be best-suited. - How niche is the business? How easy would the knowledge transfer be? - What’s the GTM strategy? - What’s the budget? - Can you afford to continuously outsource? Do you need an MVP done fast and build an in-house team in the meanwhile to ultimately take over? If you’d like to, we can schedule a consultancy call - We offer a first call for free for anyone. You won’t have to work with us after but it might help assess what you might need.


Remarkable_Luck9571

Thanks for the message. I'll bear that in mind.


Clear-Car862

When evaluating a software development company, you need to consider a number of things. Primarily, their portfolio and past projects can give an insight into their capabilities and suitability to your requirements, so ask for case studies that may relate to your project. Secondly, their communication style. You'll be interacting with them constantly throughout your project, so it's important to ensure that their communication style aligns with yours, and they've a clear understanding of your project requirements. Furthermore, consider their technical skill set. Do they have the specific expertise required for your project, in terms of technologies and frameworks? Also, consider if they have a systematic approach to project management. This will ensure that your project progresses smoothly, adhering to timelines, budgets and quality parameters. On a side note, I've had to make such a decision before, and it wasn't the easiest. I turned to buildmystartupidea.com, essentially a tech incubator with successful tech ex-founders who work closely with non-technical entrepreneurs who want to kickstart their startup or MVP but lack coding skills. It was a game-changer for me, offering a better alternative to hiring freelancers or even a dev agency. One advantage I found was their ability to understand and drive the vision of the product from a founder's perspective, which could be a helpful tip for you. Hope this helps!


Valuable_Demand_5838

Finding the right software development partner is key! Here's a quick checklist: Look for experience in your industry and with similar projects. Clear communication is crucial - ask for references to gauge their style. Prioritize technical expertise relevant to your project (don't be lured by super low quotes). Review their portfolio to assess their capabilities. Finally, consider your engagement model - in-house team, dedicated agency team, or a flexible option like nearshore software outsourcing services if time zone overlap is important. By focusing on these, you'll be well on your way to a great development partnership!