The development team is the backbone of any project, and their ability to tackle obstacles determines the project’s success. Hence, development teams should be properly structured to handle problems quickly and efficiently.
Each project that a development team undertakes brings different challenges that can be solved in many ways. One of the ways of tackling the project is to use a linear sequential development approach, where the next step can only begin once the previous stage has finished – a nice clear and easy plan to follow one may assume, but this approach can be far too rigid preventing lateral thinking. These constraints meant projects could often over-run, thus an alternative approach was created in the 1990’s called the Agile approach.
Teams before Agile
In order to understand the advantages of the agile development methodology, one needs to understand the waterfall model that was previously used. Prior to agile development teams, businesses had people of different disciplines separated into groups, for example, testers, developers and business analysts were all divided into their own groups. They would work on their own part of the project and pass it on to another group with little regard for how their work would affect the work of others. This setup was problematic because there was a lack of transparency in development making it difficult to address problems, for example if a tester found an issue, implementing a solution was not easy because that means discussing the problem with the developers who may have moved on to their next project. One may even conclude that this setup even discouraged change.
Transforming into Agile
So with these problems arising change was necessary, in order to do that a change of mentality in how projects were approached was required. Firstly, the concept of different specialist groups had to be done away with, moving to one team made up of members with different disciplines. Secondly, teams needed to be small consisting of 5-10 members, each of whom adding value to the project. Furthermore, by having team members from different disciplines teams became more flexible as different perspectives made it easier to identify and solve problems.
The Agile team
Now that you understand the methodology of an agile team, one needs to understand the make-up of the team to gain a deeper grasp. An agile team should consist of the following: team members to make the product, product owner and SCRUM master. The team should consist of professionals who design, develop and deploy a working product that can deliver full value to customers and stakeholders. A product owner (client) represents the business and understands what the customer wants. The product owner focuses on outcomes (what the company gains from product output) as opposed to outputs, the product owner also has the final say. Finally, a SCRUM master is a member of the team who helps to keep the team on track to deliver on their commitments.
Today Agile is the preferred method of development for project management in software development companies because they allow production teams to be more flexible and better equipped to deal with problems.