If you read much about the current state of software development you hear things about cost overruns on software development. A few years ago some people started a movement to change a lot of this. The Agile Software development process was born out of a need to get business people working closely with software development teams. Face to Face communication is very important in Agile development. The role of business owner is introduced to the Agile team to be a designate who has the authority or ability to get decisions quickly.
A major shift in Agile development as opposed to normal Waterfall method is frequent deliveries or releases to production environments. The emphasis is on providing the business owners with valuable software faster. We want to focus on what is the most needed feature we can provide to the product owners right now. One of the biggest wins in Agile is when you can show the business how quick we can get working software out and providing values.
The team make up in an Agile environment is fairly small and tightly focused on one product. The Agile world has a popular rule of thumb stating 7+or-2 for team size. Anything larger than 9 and it is too big, smaller than 5 and it is too small. A good team composition might be three developers, two testers, a scrum master and a business owner.
One final important change for Agile software development is the aspect of changing requirements. In an Agile workflow the requirements can change up until the time the sprint starts. Once a sprint starts all items requirements must be fixed and estimated. The nice part about this is the sprints are usually short in duration perhaps two weeks.