Teams of equals; Self-Organizing; No Egos; No PM No Leader; Willing to Analyze, design, code, test, and document.
In a Team, we had members from different domains such as Infrastructure, Database, Development and Testing; There was a hybrid management where PM was introduced but it didn't work out well as it doesn't fit in Agile framework.
Following are some articles in Agile Series you may like:
Each team was having experts in that particular functional area and if it is not the case then it is bound to fail or delay the overall vision.
In our case, we had the team of experts for specific functional area such as Development in Sharepoint, Database, Infrastructure, UI, Testing, etc. We all were divided into two teams considering the size of the team and two Scrum Master were assigned.
Internally we used to communicate and solve the issues related to specific function and Scrum Master was more of facilitator. Initially we were reluctant to communicate and didn't give much thought on importance of role of scrum master but all cross functional teams realized importance of an facilitator once we realized the importance of Agile methodology. In our case all teams were self organized and capable of understanding relevant stories based on their expertise. However, it was felt that not enough free hand was given to them and often things were dictated which was not in the boundries of Agile.
What I feel:
Initially, we thought there was no role of Scrum Master in the overall framework but we realized later the importance of Scrum Master, Sometimes ignorance doesn't allow you to open mind. Scrum Master as a facilitator helps you to fit into the Agile framework and it is required to know how Agile framework actually works. All teams should be in good terms and communication and collaboration across cross functional team is a base for the success of Agile methodology implementation.
Free Agile Scrum Cheat Sheet & Handbook: