12

I don't think there is going to be an easy answer to this question. From my perspective, the critical factors are: Team is not meeting the development goals QA runs late, but does not want help from developers as it is currently offered/supplied Developers complete the work that they perceive is necessary, and don't perceive any need to do additional ...


9

It depends pretty much on the Organizational Structure each company wants to follow. I believe that what you meant by a cross functional structure would follow a Matrix Management. As your question is related to the disvantages of it, follows the quote from Wikipedia: Key disadvantages of matrix organizations include: Mid-level management having ...


6

First off, I should note that, as per my understanding of the term 'cross-functional team', it is not a team where every member can do everything. Rather, it is a team that is capable of doing everything. If your team is capable of taking a project from start to finish without waiting on dependencies, then it is cross-functional. If the team has to spend a ...


6

They will do other work that needs doing. Keep in mind that "being in the sprint" means that the story is important. Not being in the sprint means the story is not that important. Looking for something that falls in line with a person's specialty is nice, and making sure that over the long term your team's capabilities align with the kind of work requires ...


5

There are three independent questions in your question and so let’s attempt to answer each one of them one at a time. Your first question – "Are there reasons why companies prefer this type of structure?" - has two Reasons depending on the kind of organization you are dealing with. Reason 1 – Organizations / Managers who believe in the idea of focus and ...


5

The most direct result of this is that QA is constantly behind. When we start a sprint there are already several items ready for QA. While they work on these items, things keep piling up and at the end of the sprint we've got a giant set of items in QA and developers saying they have nothing to do. Of course with items not getting finished in a sprint, the ...


4

I see this happen all of the time with System Architects. Their specialized skills are needed by multiple teams, but no single team consumes all of their time during the sprint. The best solution I've seen for this type of situation is to have the group of specialized individuals (architects, designers, whatever) operate as their own scrum team making ...


4

Unfortunately, you are facing one of the bugs in Scrum. By default, it assumes that people are eager to work together regardless their previous roles or ambitions, and they are more than happy to give these up for the greater good. I'm not sure that a generic solution exist, but here are some ideas: If you want to keep Scrum Most probably the team has some ...


4

Your biggest problem is a toxic work environment. As you note, we yell at the technical person telling him almost literally that he is "not smart" enough to understand what we are trying to do. If someone were to do that to me, I'd immediately demand an apology. If I didn't get one, it'd clearly be time to update my resume... or perhaps even go to HR ...


4

Yes, put them together. There is only one way the teams will ever get shared knowledge, by sharing. It's also the only way you'll ever get to continuous integration/ deployment. Example: In a previous organization, we eliminated the HR job of QA. All the existing QA people were moved over to a development path. They did not share the same skills as the ...


3

Optimize for Flow, Not Utilization In Scrum, when picking a set of stories to accomplish in one sprint, some sprints will have mostly art-heavy stories queued up, and some sprints will have mostly engineering-heavy stories queued up. By picking the next most important stories, we'd be committing to having some disciplines sat idle once their part is done, ...


2

An excellent set of answers so far. I just want to add this: I recommend the book How Google Tests Software. This quote sums up their goal for balancing development and QA: Quality is not equal to test. Quality is achieved by putting development and test into a blender and mixing them until one is indistinguishable from the other. This has been my ...


2

There is already an excellent answer from Mark C. Wallace but I thought I'd add one more thing. Try to balance the system a bit by using work in progress limits. At the moment, dev is producing work at a faster rate than QA can test it. Try set a work in progress limit on the dev process that will feed work into QA at a rate they can complete it, you will ...


2

Ideally a user story is a complete business value statement and the estimate is the total estimate for all tasks and testing that are required to deliver the user story. What you are describing sails into component territory whereby you write up user stories dedicated purely to one component As a Front End Dev I want make a Button because the Back End ...


2

I've observed many organizations using Project teams from different functional groups. Functional groups allow people with the same or similar functions to learn from each other. This assumes interest on the group members, and opportunities for sharing knowledge. These don't always exist. This structure works well for establishing best/standard ...


2

Good question, first off. Here are my suggestions, and you pretty much already said it without knowing it is to adopt a more-or-less hybrid framework: Scrumban. You can have you Kanban Board setup in the way you suggest, in the normal 'To Do', 'Doing', 'Done' fashion (with QA/UAT anything else the actual Programmers/Devs will be doing) and with breakdowns ...


2

I agree with Joel's answer regarding: There is only one way the teams will ever get shared knowledge, by sharing. Which addresses your first concern of the two groups cannot help each so much due to little shared knowledge and unidirectional dependencies Regarding your remaining concerns: the two groups frequently get out of sync because, e.g., ...


2

The Scrum Guide states a few things about the Development Team - it is "self-organizing" and no one can tell "the Development Team how to turn Product Backlog into Increments of potentially releasable functionality", that there are "no titles for Development Team members, regardless of the work being performed by the person", there are "no sub-teams in the ...


1

It's worth noting that a team is not only cross-functional, but also self-organizing. The team is empowered to use their skill constraints as a means to address work that is deemed valuable for the sprint goal. This means the team can, and should, reach out to subject matter experts to help them understand their gaps in order to achieve the sprint goal. ...


1

in video games there's generally there's not a hard dependency between the disciplines (don't need to wait for all of one discipline to be done before the other can work), and if there is, the disciplines will work closely together to iterate on that one task/story You are already cross-functional (CF) to some extent. As Marut pointed out, a CF team ...


1

A common approach is to split sprint planning in to two parts. In the first part of planning the team works with the Product Owner to allocate stories to the sprint. They estimate in story points as a team and base their capacity on the velocity calculated from previous sprints. In the second part of planning the delivery team breaks each story down in to ...


1

I address this topic in detail in my upcoming book: Agile IT Organization Design. In brief: Cross-functional teams are indeed the way to go to reduce cycle times and improve business agility Traditionally, a functional organization is seen as more cost-efficient since it affords greater utilization of specialists across several teams. However, this reduces ...


1

I think the biggest advantage of creating functional teams is that it is easy...or perceived to be easy. And, I think there is a huge perception of control. By control, I mean the organization would believe that if you put an entire function in one team led by a functional manager, you would naturally build a high performing competency and set of very ...


1

TL;DR Motivation is a separate problem, and is largely about making the process appeal to team members' enlightened self-interest. The process, on the other hand, is definitely something you can improve. Knowledge-Sharing as Process The Scrum framework encourages knowledge-sharing and cross-functional teaming through a number of practices and framework-...


1

I have always found it quite useful to have everyone physically close, ideally in an open floor-plan. That is, no closed offices, low cubical walls. This kind of proximity gives rise, assuming the people are so inclined, of everyone seeing and hearing what is going on with every other member at all times. The moment someone encounters a new (for that person)...


1

I think you'll find that this is a structural problem and not related to individual attitudes or understanding of scrum. Whenever I have encountered devs who won't do testing, testers who want the code handed to them on a platter, and so on, it is because they are doing what they are told or what is implied by the circumstances of their employment. If devs ...


1

I wonder how sophisticated your automated testing facilities are. If not particularly good, then there may be a real benefit in investing time and effort into this area, as the payback will be rapid and substantial. You indicate in one of your comments that you have a month long regression testing period before every release: this sounds very significant ...


1

Scrum by the book, states that team members need to be neither in different teams nor in different projects. This is an ideal situation, but if a company is transitioning to scrum/agile it may take a while to be able to get project resources structured in a scrum way. I would start with having them on multiple teams and projects, even if this is not ideal, ...


1

According to Scrum, it is not possible, but in the real life it happens time to time, and it is a good thing and it is working. Make sure that she can attend both stand-up and planning meetings so that she can organize his work, know what will come and the teams know what to expect from her. I don't see any other good solution.


Only top voted, non community-wiki answers of a minimum length are eligible