What is the best way to handle multiple projects when you have one development team?

Is Agile / Scrum the answer? How does Scrum handle this?

One product owner, one PRoduct title versus multiple product owners and product lag?

How does it work for you? Tell us about your failed success stories?

I try to combine a process to manage several work queues, ranging from infrastructure projects, simple feature enhancements, and then large projects with a small development team of 6-7 developers.

+4
source share
6 answers

I think you can do two things:

  • Make one release of one project, when done, do the following
  • Divide your development team.

Or a combination of both :)

Agile / Scrum are good words, but don't seem to be very related to your question. Because they apply to the scope of the project, and not to a bunch of projects.

I have experience with the second option, to the point where there are more projects than developers, which you don’t want. But with decent code review sessions, it seems to work.

+1
source

One missing bit is technically one product (for example, one code base, even if large) or not.

If these are completely separate products , then using Scrum, I would go for very short sprints (1-2 weeks) and work on developing a sequence. So two weeks of project A, then project B, then C, then again A - maybe for two sprints, then C, etc. In such a situation, a single lag does not make sense, separate blocks must be stored for A, B and C. I know at least one command that works like this.

If you need more software, it is rather a function of product knowledge. Maybe you need someone for each project, maybe you have someone who knows A, B and C well to be a PO.

If there are different products, then when you try to do this by accepting different stories from different magazines, each sprint in which you end up is a divided team. Naturally, people will specialize in this project, it will also be very difficult to have a good definition (we do it if we can send new increments for A and B, but not C with this sprint?). If you cannot organize projects with short sprints, I would look at Kanban, trying to invest some kind of organization in it.

If this is one product / one code base , then everything is much simpler. Even if the team has to touch different areas of the code base due to different projects, they will still work on the same products, so all Scrum mechanics will be well applied. One lag, one software.

One drawback to this should be noted is that the people on the team will switch to the context, and there is a penalty from this, no matter what process you use. Whatever process you choose, you should try to minimize this as long as possible (as long as the business can hold on). The good thing about Scrum is that it has this built-in agreement with PO that context switches can only happen at the sprint border - in other words, the team will get 1-2 hours to concentrate before switching to another project.

In addition, do not forget about all the technical practices of flexible work. Unit tests. Automated builds and tests. Code Review. Smart use of repositories. High standards. qualitative. All this is necessary in such a complex environment.

+2
source

A little more detail might help. Is this one big production team that shares many projects between them? Is this a small team (5 ish) with a lot of projects?

Why do you have many projects? Do they work in different time frames, some of which are “real work”, while others are “if you are not busy, do it as a background task”.

I believe that the key here may be related to the project for developers.

We have one department of about 15 people that runs 3-4 projects at any given time. People usually belong to a project at any given time, but can move between them, because projects go through different phases and require different skills. The test, in particular, seems to change projects a lot.

For a rigorous process, make the process appropriate for your needs. If we have a better idea of ​​your needs, we can make the best deals.

+1
source

One of the important points is that the owners of several products must know each other and be able to work together outside the development sphere. If they are divided into their own estates, and each of them tries to be louder than the others in order to draw attention to his product, then you will have problems.

By the time any work on development is put before the team, these things should already be fixed. Developers should not care (or, in some cases, even worry) about what tasks are intended for owners or which projects, etc. They can take care and know this, of course, but this should not be critical.

Product owners and various other high-level roles should start each sprint with a plan that needs to be done during this sprint. It doesn’t matter how many stories from any given project are included, sorting this issue is an interest in planning for these stakeholders. When working with an architect or senior developer or such, they should simply decide which stories will be implemented in the current / next sprint.

(On the side of the note, I have an Area 51 suggestion for this kind of thing: http://area51.stackexchange.com/proposals/9543/development-methodologies )

+1
source

IMHO, Scrum is more effective if you have 3 to 4 iterations of two weeks with a team of 4-6 developers. Therefore, for projects + - 400 person-days

I think it is a bad idea to do several projects at a time.

Please also check this previously asked question:

How does Scrum work when you have multiple projects?

0
source

You seem to be mixing product and project concepts.

I propose managing one product with one team and one product. Do not create separate projects to query the functions of one project. Instead, one team works on various requests from different clients, setting priorities for user history.

Although, if these are completely separate products that you are developing, try to split the team so that each team can focus on one product at a time.

0
source

Source: https://habr.com/ru/post/1315106/


All Articles