Welcome to BossTalks.com!

Free discussion board, forum and blog about entrepreneurship, business and startups.

BossTalks.com » General (English)

Better practice on managing outsource (off-site) development teams?

(12 posts)

  1. Hi there,

    I'll highly appreciate any help from managers who had an experience with outsourcing/offsite teams. How to manage them better? Our development team is growing, and besides of designers, we expand on developers, who live in really different timezones, and have absolutely different Internet connection, and we work with all of them using flexible hours. So, well, we are trying to make everybody's life easier, by adjusting to the needs of "real person". However, that twists my head. How should I manage the team more effectively? Should I request certain amount of hours being present online (i.e. via instant messenger)? Or should I require everyday's reports? My strategy for now can be explained as "find better way", but it's really always changing, and highly depend on every team member. We cannot do that anymore as we keep growing.
    And I definitely don't want to press on people too much. People are the most expensive and important resource in the business. Don't want to screw up that! :-)

    Again, any help and advices I highly appreciate. Thank you!

    Posted 3 years ago #
  2. Hi,

    I had positive experience running offshore teams using the Scrum agile framework.
    It is quite simple to start with and brings everyone together in order to solve common problems. I bet you should try it.

    Let me know you need some more hints from where you could start.

    The prerequisites are:
    - you have a team that can meet (skype is relatively O.K.) once a day for 15 minutes
    - you have a person who can act as a product owner, prioritizing the work items, planning iterations/releases, being responsible for the project outcome
    - you have someone in the team who can act as a ScrumMaster - a person who understands follows agile/Scrum values and will help the team and the product owner to cooperate more effectively.

    ---
    I am from Ukrainian agile group - www.agileukraine.org and we are having a gathering in Kiev on 31.03.07 to talk on these and other related topics - you're welcome. More info is available here: http://www.agileukraine.org/2007/02/events.html

    Alexey

    Posted 3 years ago #
  3. That doesn't really help. We have project manager (or call him "product owner"), who is doing all the scheduling. We have business analyst, which works with project manager and senior developer to build proper business logic. We have a team which can meet once a day for 15 minutes. But this doesn't help building team's "spirit", this doesn't help to be in "control" of what's going on in the team. We also have every 1-2/day(s) reports, but this is only it. Scrum and agile are methodologies for proper software development, but my question was mostly about managing offshore development team. ;-)

    Posted 3 years ago #
  4. peet
    Member

    My 5 cents. If any of you had ever chance to see Startup.com movie, you should mention a moment when the former major of Atlanta, hired as director, talks to people, motivates them, asks to stand up and generates a feel of success, richness and solidness. He did it very well, but all of them were local. And the question was (as I read it) how you can make the same to offshore people. Who can't listen to you that well, who can't see you and who can't share your excitement. Sorry, project management methodologies and strategies have nothing to do here. You need a people management tool, that is more closer to psychology and sociology nowadays.

    Posted 3 years ago #
  5. mr green,

    having the things I mentioned are the basement of building the team's spirit - but don't forget about the bricks when building. for the such bricks are:
    1 prioritized list of features (product backlog) done by product owner
    2 everyone's agreement on growing software iteratively and incrementally, iteration length is chosen (in most case bi-weekly ones work fine)
    3 team's actions in building iteration plan based on the product backlog by choosing the top items that they believe they can do during the next two weeks (or whatever you've agreed on)

    here you go, if the team are motivated professionals, they will find their way to make it.

    ..but, what will also help is having a coach on the team's side that will facilitate them meeting their goals by removing the impediments on their way.

    being a remote facilitator is really-really hard, i know this from my experience.

    Posted 3 years ago #
  6. sir,

    ..but, what will also help is having a coach on the team's side that will facilitate them meeting their goals by removing the impediments on their way.

    this is the best way out, the most proven to work, but impossible. our developers are just too far from each other.

    as for the development - you are right, and iterative development is usually an answer in outsourced software development; however, even if it does help minimizing risks of such development, it does not help with team control and supervising. with iterative development you just can be sure that if some of developers will screw you up, it woudn't affect whole huge piece of project.

    but thank you. your notes are helpful - hopefully also this discussion can help other people to consider agile development from the very beginning, if they are just thinking on starting outsource development.

    Posted 3 years ago #
  7. As I know there is only one possible solution: great team leader inside the remote strongteamstrong, team building actions and regular (twice a year) travels.

    Posted 3 years ago #
  8. Twice a year travels for the whole team? You've got to be kidding... Who's gonna work then?

    Posted 3 years ago #
  9. melan
    Member

    According to my experience there are several schemes of cooperation with remote teams (I'm not talking about remote employees):
    - You have only sales and customers support departments in your head office:
    In the case you need to have well organized remote team that can execute all the required activities through software development life cycle . And you only share requirements, clients features requires, bugs and your recommendations about future scopes. All the other work is the team responsibilities.
    What do the risks of the approach? Bad work of any office is the main risk. But you don't need meetings often and so on because each group has own sphere of responsibility.
    As for me the schema is the best. Because your managers near their teams.
    - You have all the departments mentioned above + planning, product specialists and high level architects in your head office and all the other tasks are covered by remote employees.
    In the case you need more communications between offices but both the offices work independently the most of time. Risks are the same. The approach allow you take you hand on project's pulse.
    - You have distributed development team (some developers are located in the head office and some are located in the remote one).
    The worst approach. The first problem is that your developers need to spend a lot of time for communications. The second issue is that you have two managers: one in the head office and the second is in the remote office. You will never know how is responsible for the project's fails (Responsible for the problem is another leader :-) )

    So I see next keystones that are important for successful utilization of remote dev. team:
    - You should delegate as more independent parts of project as possible. To exclude unnecessary communications.
    - You should be familiar with remote leaders/managers. In the other case you will be only e-mail address for the remote team but not a man.
    - You should provide detailed documentation for the project to the remote team. You know more about the project then the remote team and they need as more information as possible.
    - You should participate in few first iterations of the project's development. The participation will allow to share your knowledge with the remote team and establish interpersonal communications with the remote team members

    Posted 3 years ago #
  10. What you see as the worst case scenario (several developers, spreading over different time zones) is an actual world scenario and one of the most possible future where outsourcing leads to. Nowadays, too much companies are seeing outsourcing's main benefit is ability to build 24x7 development cycle, switching from each time zone during the work day (and night).

    Posted 3 years ago #
  11. melan
    Member

    Practically I don't see any reasons to have 24x7 development cycle for regular software development. The approach is OK for support teams which produces some kind of hot fixes. I can ground my assertion.
    First of all the approach makes life of project manager (coordinator) extremely hard because the guy should be available for the developers any time. From the other side you may hire 2 or 3 PMs. It the case we have problems with the managers' team coordination and responsibilities.
    Also you need to make very detailed project documentation (design, requirements and etc.) for such kind of teams.
    You may say that we may hire testers, developers and CM team from different time zones and in the case testers will have hot versions of the product at the beginning of their working time and developers will have new bugs in the morning of the next day.
    It is really great assumption but in the case we have new problems again. For example CM team can't compile new version of the project because of some unfortunate misprint in code. What should they do? Should they awake developers to fix the misprint or they should not do anything? Another problem is the long term testing sessions.
    I'm sure any schema of distributed development process should be weighted and assessed in details.
    Because there is no silver bullet in Software development.

    Posted 3 years ago #
  12. Well, I never spoke about the silver bullet. Also, it's strange why you can't understand the benefits of 24x7 development cycle. If the company delivers a product and it wants to increase a productivity, 24x7 development cycle is a key factor to do this. By incorporating several-timezones development cycle you can deliver product at least 2 times faster.

    Speaking about problems in intergration like you mentioned (when one team produces an error which stops other team from continue work) these problems should be solved the same way like you solve other problems in your company. First, it' depends on clearely stated development cycle and last, but not least, it is a test-driven development that will keep you safe.

    Posted 3 years ago #

RSS feed for this topic

Reply

You must log in to post.

Project of Olexiy and Olexandr Prokhorenko. Powered by bbPress and ratebo.

The prior written permission is required to reproduce content of the site.