The general meaning of "cross-functional team" is a team which combines specialists in different fields that are required to reach the goal.

But it looks like in Agile cross-functionality means not only combining different specialists, but making them mix. Henrik Kniberg defines cross-functional team this way: "Cross-functional just means that the team as a whole has all skills needed to build the product, and that each team member is willing to do more than just their own thing."

But where is the line drawn? Is it normal to ask developers to become testers for an iteration if it is required?

  • It is common that each developer is testing his code. For example Scrum team should not have specializations - everybody should be able to write and test code. The reason is that at the beginning of the iteration (sprint) there is nothing to test so the pure tester has nothing to do. Commented Mar 20, 2011 at 15:34
  • 2
    @LadislavMrnka Cross-functional does not mean you shouldn't still have specialists!
    – Michael
    Commented Oct 7, 2011 at 2:46
  • @Michael: Yes you can have specialists but they should be cross functional = they should be able to do other tasks as well. Commented Oct 7, 2011 at 9:46
  • Being a specialist doesn't mean to know one thing at the expense of all others.
    – JeffO
    Commented Oct 27, 2012 at 17:51
  • 3
    Why is it so often I see talk of "programmers should be able to test" but never "testers should be able to program"? Commented Apr 10, 2015 at 8:20

5 Answers 5


My take is that a cross-functional team is a team that includes people from the different functions of a company: engineering, IT, technical writing, marketing, finance, legal, sales, HR, operations, quality, and executive.

In larger companies, these "functions" are put into silos (lines of management), but to get things done you generally need the time of someone from all of them.

If you are doing TDD or something like it, yes, it is perfectly normal.

However, in general the responsibility for signing off on developer work should not be in the hands of those same developers.

  • 2
    This is exactly what cross-functionality is not in agile methodologies like Scrum. Commented Mar 20, 2011 at 15:32
  • 1
    @Ladislav Mrnka: It wasn't clear from the question that this was Agile-specific. In Agile methodologies, I still think it stands. In any methodology, you sometimes need to do something outside your area of expertise ("function") to get the job done. C'est la vie, c'est la guerre!
    – Peter K.
    Commented Mar 20, 2011 at 16:46
  • Why "the responsibility for signing off on developer work should not be in the hands of those same developers"? Not if you want to decrease cycle time.
    – Todd Owen
    Commented Mar 11, 2018 at 23:57
  • @ToddOwen And decrease software quality.
    – Peter K.
    Commented Mar 12, 2018 at 0:30
  • @Downvoter: Any comment on why you don't agree? :-)
    – Peter K.
    Commented Aug 10, 2018 at 15:38

A cross-functional team is one where functional experts from different domains come together to define what to build and to assess if what is being built is useful. In an agile environment, these assessments will happen often.

However, the domain experts will determine how to do their particular part of a project. Software developers will develop software. Testers will test. Operations people will run the software, and so on.

Having the opinions of development, testing, and operations is extremely useful in defining a good product, and that is where lies the value of cross-functional teams.

  • I don't think the team defines what to build, but how to build it. The product owner decides on what. Also I think team members should not limit their activities to a domain they are specialist in. The idea is to do the tasks that need to be done to realize the team goal, create a production quality product.
    – Kwebble
    Commented Apr 21, 2015 at 17:47

A good cross-functional team has and needs people who are 'a jack of all trades' but also a master of some. Usually one or two.

For instance, on the ones I've worked on. I specialize in C++ and a couple web languages, but I know about a million. I'm fluent with video editing and 3D media and that sort of thing on the side plus business and project management. So on this rather small team taking on large projects, I'd do some hardcore coding most of the day and spend part of it doing grunt work on the site and getting different media ready.

Not many projects use all my skills but to rely on multiple, I think that is 'cross-functionality'. Some times it is a really good, efficient design, other times not so much.

Thank God for when I don't have to be a developer / network admin.. that is no fun. These small business in my area..are insane. Who trusts their network to programmers, sheesh. Last thing you want is to see me try to 'debug' your routing table :P


A "cross-functional team" to my mind is more of a bunch of generalists that come together to get the job done. The edge is in the versatility of handling different kinds of tasks as there isn't the bottleneck that would happen in a group of specialists where some people can only take on some tasks.

Yes, it is normal for developers to become testers if it is required to get the work done for an iteration.

Cross-functional can fall into that territory where it is a buzzword that can have various meanings depending on the company. Some may take it to be the highest level, where a developer could be anything from a gopher to a temporary CEO and others may view it much more specialized so that it is different kinds of developers used. A developer may have to be a business analyst, system administrator or tester some of the time. I remember a few years ago now where I had just started a job and another developer and I were testing a release as one of our first tasks as there was a shortage of testers at that time to properly test the release.

  • 1
    I don't think developers being testers fits the cross-functional definition. That seems more like a jack-of-all-trades type scenario where developers also test, take sales calls, go out and buy coffee to restock the office, etc, which may be typical in a startup. A cross-functional scenario seems more like a situation where, for instance, you might be a developer, and I might be in marketing, but we're working together as a team to build and market the product.
    – jmort253
    Commented Mar 19, 2011 at 17:45

A cross-functional team is not just about areas of expertise but attitude towards getting things done. The members step up and take on the tasks at hand. You don't hear, "That's not my job."

Constraints on a project are not always technical. Sometimes you don't have the luxury to hire an expert at every task and only require everyone to work in their prefered area.

You never want to pull devs away from coding, but in some teams it can't be helped. Normal is relative.

Not the answer you're looking for? Browse other questions tagged or ask your own question.