COURSE 5000 | 2-DAY SESSION
Agile Essentials (formerly Agile Software Development Fundamentals)
Course Outline
I. Introduction
- Agile processes embody iterative / incremental development
- Tackling uncertainty
- Early availability
II. Key Aspects of Agile Development
- Iterative / Incremental Development
- Self-organizing, empowered teams
- Emergent project
- User / Customer Involvement
- Time boxing
- Continuous integration
- Vision / mission
Exercise #1: Self-organizing teams
III. Agile Versus Plan-Driven Development
- Environment
- Management
- People
- Customer
Exercise #2: Simulation Introduction -- Create a vision and a set of requirements
IV. Management of Agile
- Coaches and facilitators
- Customer interaction
- Planning
V. Agile Requirements
- Use cases
- User stories
- Formalized requirements
VI. Agile Planning
- Planning is the major difference between agile and plan-driven development.
- Requirement backlog
- Prioritize Requirements
- Estimation
- Release planning
Exercise #3: Simulation Release Planning -- Prioritize the requirements and create initial release plan
VII. Phases and Activities
- Planning
- Staging
- Initiating
- Developing
- Releasing
- Review
- Scaling
VIII. Agile Testing
- Testing versus debugging
- Unit tests
- Acceptance tests
Exercise #4: Simulation - First Iteration Beginning -- Develop tests for the requirements, then develop implementation for the requirements
IX. End of iteration activities
- Demonstrate functionality
- Evaluate functionality
- Retrospectives
Exercise #5: Simulation First Iteration Ending -- Demonstrate functionality and performa retrospective
X. Aspects
- People factors and project staffing
- Communication skills
- Process improvement
- Small and large projects
- Slipping in features
- Tracking and visibility charts
XI. "Up Front" Activities
- Prototyping
- Risk Management
- Agile Modeling
Exercise #6: Simulation Second Iteration -- Develop implementation for second set of requirements
XII. Examination of Agile Processes
- Scrum
- Extreme Programming
- Crystal
- Feature Driven Development
- Lean Development
- Dynamic Systems Development Method (DSDM)
- Agile Modeling
Exercise #7: Simulation Process Change -- Decide how you want to alter your process
XIII. Technical Management
- Configuration
- Testing and Quality Assurance
- Risk Management
- Estimating and time-boxing
XIV. Team
- Structure and roles
- Responsibilities
- Customer
- Project Sponsor
- Collective ownership
Exercise #8: Simulation Third Iteration -- Develop third set of requirements using your new process changes
XV. Agile Tools
- Testing - Unit and Acceptance
- Refactoring
- Coding standards
- Continuous integration , daily builds
- Source code control systems
- Code reviews and pair programming
XVI. Agile Project Management
- Success Factors
- Achieving consistency, repeatability
- Validation and verification
XVII. Agile and Practices
- Agile and RUP
- Agile and the Capability Maturity Model
XVIII. Agile Manifesto
- Individuals and interactions; processes and tools
- Working software; comprehensive documentation
- Customer collaboration; contract negotiation
- Responding to change; following a plan
XIX. Agile Principles
- Early continuous delivery of software
- Working software is measure of progress
- Welcome change for customer's advantage
- Business people and developers work together
- Motivated teams
- Sustainable pace
- Face-to-face communication
- Retrospectives
- Attention to technical excellence
- Minimize unessential work
ASPE has been reviewed and approved as a CPE training provider for the National Assoication of State Boards of Accountancy (NASBA). 12 CPEs are awarded upon full completion of Agile Essentials.
|