What is Agile Methodology
Agile is purely about effective communication and continuous improvement. Focus on the people and listen your customer. Agile is about giving the priority to the people involved in the process. People are responsible to make a project fail or succeed. The use of Agile Methodologies helps projects to see problems sooner.
Agile chooses to do things in small increments with minimal planning, rather than long-term planning. It splits the work into iterations which take short time frames typically lasting from one to four weeks. Iterations undergo a full software development cycle. This minimizes the overall risk and allows the project to adapt to changes more quickly. Documentation is produced as required by stakeholders. Multiple iterations may be required to release a product or new features.
Team composition in an agile project is usually cross-functional and self-organizing without consideration for any existing corporate hierarchy or the corporate roles of team members. Team members normally take responsibility for tasks that deliver the functionality of iteration. They decide for themselves how they will execute during iteration. There is a Scrummaster and the team members in a usual agile team.
Agile methods emphasize face-to-face communication over written documents (routine and formal daily face-to-face communication methods are common). Most agile teams are located in a single open office to facilitate such communication. Team size is typically small (5-9 people) to help make team communication and team collaboration easier. Larger development efforts may be delivered by multiple teams working toward a common goal or different parts of an effort. This may also require a coordination of priorities across teams.
Each agile team contains a customer representative. This person is appointed by stakeholders to act on their behalf and makes a personal commitment to being available for developers to answer mid-iteration problem-domain questions. At the end of iteration, stakeholders and the customer representative review progress and re-evaluate priorities with a view to optimizing the return on investment and ensuring alignment with customer needs and company goals.
An Agile culture is established when the 3 major groups come together within a company. Executive management endorses the Agile principles, working managers learn to coach instead of direct, and the project team understands and supports Agile principles and practices.
Scrum has become one of the most popular Agile packaged methods. The Scrummaster is at the heart of Scrum. This individual is not a manager but more of a process facilitator and guide. A Scrummaster:
• Helps the team develop practices that support Agile principles
• Acts as a guide in training the team on how to be Agile and use Scrum
• Removes impediments that prevent the team from delivering software
• Shields the team from corporate bureaucracy and activities that do not add value to software development
• Champions engineering excellence and processes that support the creation of shippable software
• Ensures the team has direct access to the customer
Traits required to work in agile teams
As agile teams work differently from normal teams and depend a lot on effective and efficient communication and fast execution, there is an increased need to use soft skills. Some of the traits and skills that can make the agile teams more meaningful and productive are:
· “just enough” planning
· A desire to finish things.
· A spirit of collaboration.
· The ability to ask for help, to seek out review.
· The ability to take initiative.
· Enjoy working in an intense environment.
· Adapting to new situations and frameworks easily
· Ability to develop and maintain collegial relationships across the team.
· Managing Diversity
· Value for:
o Individuals and interactions over processes and tools
o Working software over comprehensive documentation
o Customer collaboration over contract negotiation
o Responding to change over following a plan
3. Time Management/ Planning
5. Conflict Management
6. Dealing with Change/ Flexibility
7. Decision making
8. Teamwork/ Teambuilding
9. Handling stress
10. Problem Solving
Individual opinion about what’s important
Learning from peers
Reliance on individual abilities
Comfort knowing help is there
Panic when workload peaks
Focus on the organization
What’s in it for me?
Responsibility for the team
Stress on the "supervisor"
Simple, visible measurement
· Customer satisfaction by rapid, continuous delivery of useful software
· Working software is delivered frequently (weeks rather than months)
· Working software is the principal measure of progress
· Even late changes in requirements are welcomed
· Close, daily cooperation between business people and developers
· Face-to-face conversation is the best form of communication (Co-location)
· Projects are built around motivated individuals, who should be trusted
· Continuous attention to technical excellence and good design
· Self-organizing teams
· Regular adaptation to changing circumstances
· Reduced risk
Modules for sessions:
· Managing Self
· Managing Relationships
· Managing Work