Overview
An Agile approach can be very helpful to streamline the software development process and address the risks, unknowns and uncertainties. The course discusses how Agile addresses the traditional project challenges and overcome the constraints and limitations. The course enables participants to interweave the traditional practices with Agile practices to develop the best software for their organizations and their customers. The course discusses the ways in which the Agile methodology affects the organization, as well as the benefits and challenges of each method, helping participants chart out their own Agile adoption strategies. All tools, skills and knowledge essential for successfully carrying out a transition from Waterfall to Agile are covered in this course.
What You'll Learn
- Explore the problems your organization is currently experiencing with software projects
- Solidify and strengthen Agile concepts already accepted by the organization and explore what is yet to be implemented
- Implement strategies for how to build collaborative, self-directed teams
- Discover how to institute incremental planning and adaptation on projects
- Harvest methods to move your projects to a more customer-centric, change-tolerant requirement process
- Enlighten your organization on how to make ‘quality’ the job of each and every team member
- Prioritize the Agile changes that can be made, identifying the ‘best of breed’ strategies to achieve success
- Create the beginning of your Agile transition action plan
Curriculum
- The Agile lifecycle
- Learning and adaptation
- Collaboration
- Customer focus
- Self-directed teams
- Lean principles
- Progressive requirements elaboration
- Incremental delivery
- Iterative planning and adaptation
- Exercise
- The project manager
- Shielding developers and customers from each other
- Building silos of responsibility
- Documents as the primary means of communication
- Lessons learned at the project end
- Product owner
- The Agile coach
- One small co-located team
- Continuous collaboration
- Face-to-face communication
- Regular feedback
- Regular retrospectives
- Exercise
- Predictive planning
- Command and control management
- Corrective action (conformance to plan)
- Periodic status reporting
- Document review/sign-off as milestones
- Time-boxed projects and iterations
- Incremental planning and estimation
- Self-directed teams
- Daily status checks and periodic view
- Adaptation to new information
- Information radiators
- Delivered software as milestones
- Exercise
- Big bang, up front requirements definition
- Requirements sign-off
- Little customer involvement after requirements
- Restrictive change control
- Conformance to specification
- Product delivered/accepted at the project end
- Progressive requirements elaboration
- Prioritization by the customer
- Incremental product acceptance and feedback
- Welcome changing requirements
- Exercise
- Little focus on developer verification
- Separation of responsibilities (testers vs. developers)
- Testers responsible for quality
- Testing postponed to the project end
- Developers focused on technical excellence
- Developer/tester/customer collaboration/feedback
- Testers as members of the development team
- Early and regular ‘system’ and ‘acceptance’ testing
- Each product increment production – quality
- Exercise
Who should attend
The course would be extremely valuable for anyone aspiring to adopt the Agile methodology and make their software projects more agile. It is highly recommended for –
- Software development manager
- Software project manager
- Software team lead
- Quality assurance specialist
- Process engineer
- Software developer or tester
- Software project customer
- IT director or manager