from Hacker News

Ask HN: How to keep a tight tech team in a consultancy?

by Eclyps on 8/25/15, 1:14 PM with 5 comments

Every article that I read about managing a development team is geared towards a single company developing a product, where all developers are working toward the same goal of delivering said product in the best way possible. There is some really great information out there, but I can’t seem to find anything that’s geared more toward consultancy-based organizations. Here are some big differences that I see:

* We are working on projects, not a product. A lot of what we do doesn’t come down to what the end-user wants, it comes down to what the client wants (and sometimes those wants are really, really strange).

* Our projects can be wildly different from one another (though we stick with a standard stack as much as we can).

* The entire team isn’t working on the same project at the same time. We currently have 6 developers, at any point we might have 1-3 on the same project. That means that we can have 2-4 unrelated projects going on at one time.

* Our timelines and budgets are relatively fixed, and need to be provided prior to development and adhered to.

Different projects have different requirements and allow for different levels of flexibility. Some projects it might make sense to go with TDD and weekly sprints. Other projects might have an extremely short shelf life and just need to get out the door, so spending time on code coverage and refactoring may not be something that makes a great deal of sense. We have our own values and processes that we use for every project of ours, but the constant changes in our client’s needs make it difficult to form a solid repeatable methodology.

Can anybody recommend some reading material that’s more focused on project-based work rather than product-based? Any personal advice about managing a team where members are often working on different projects from one another? Thanks.

  • by oferzelig on 8/25/15, 1:29 PM

    Man, I have so much to say about this but it's not the right time and the right place.

    One quick reflection: unless it's a very very short project (say less than 2 weeks) no one knows the exact content of the project - not you and not the client. It ALWAYS changes. Take that into account when determining price, and/or when a change comes in, know how to flag it to your customer right away and charge for it. Otherwise you end up doing tons of very small changes (each one seems like would be unfair to charge the customer extra for) that accumulate and you end up paying a lot more to your employees and lose money.

  • by rsto on 8/25/15, 7:16 PM

    Maybe you could find something in Joel Spolsky's earlier blog posts http://joelonsoftware.com ? Today, FogCreek focuses on their products, but in the early days they set out to build a developer-centric consultancy.
  • by rubiquity on 8/25/15, 1:58 PM

    Shit clients say:

    - "This project/change is easy"

    - "This project/change won't take very long"

    - "I know this isn't the rate you wanted, but we're totally gonna give you more work at the rate you did want later on"