Agile Software Engineering Workshop
Duration: Two Days
Target Audience:
Software Developers, Architects, Testers and anyone interested in Agile Software Engineering practices.
Workshop Objectives:
- Understand the concepts of Agile Software Engineering.
- Learn Agile modeling and emergent design principles.
- Master the creation and slicing of Use Cases and User Stories.
- Practice Test-Driven Development (TDD) technique.
- Explore the benefits and techniques of Pair Programming.
- Gain proficiency in code refactoring.
- Understand the importance of Continuous Integration.
- Apply Clean Code practices in software development.
Day 1:
9:00 AM - 9:30 AM: Registration and Welcome
- Registration, networking, and distribution of workshop materials.
9:30 AM - 10:00 AM: Introduction to Agile Software Engineering
- Overview of Agile principles and values.
- Key concepts of agile software engineering and extreme programming.
10:00 AM - 11:00 AM: Agile Modeling and Emergent Design
- Introducing Agile modeling.
- Techniques for emergent design with agility.
11:00 AM - 11:15 AM: Morning Break
11:15 AM - 12:30 PM: Use Cases, User Stories, and Slicing
- Creating effective Use Cases and User Stories.
- Techniques for slicing user stories.
12:30 PM - 1:30 PM: Lunch Break
1:30 PM - 3:30 PM: Test-Driven Development (TDD)
- Understanding the TDD cycle.
- Writing and refactoring tests with TDD.
- Benefits and challenges of Pair Programming.
- Principles of code refactoring.
- Hands-on exercise.
3:30 PM - 3:45 PM: Afternoon Break
3:45 PM - 4:45 PM: Continuous Integration
- Introduction to Continuous Integration.
- Setting up and using CI tools.
5:45 PM - 6:00 PM: Q&A and Closing Remarks
- Addressing participant questions.
- Preparing for Day 2.
Day 2:
9:00 AM - 9:30 AM: Recap of Day 1
- Review key concepts covered on the first day.
9:30 AM - 10:30 AM: Clean Code Practices
- Principles of writing clean and maintainable code.
- Code quality attributes and best practices.
10:30 AM - 10:45 AM: Morning Break
10:45 AM - 12:30 PM: Hands-On Coding Session
- Coding session to implement TDD with Clean Code principles and practices.
12:30 PM - 1:30 PM: Lunch Break
1:30 PM - 3:30 PM: Hands-On Coding Session
- Session continued.
3:30 PM - 3:45 PM: Afternoon Break
3:45 PM - 4:30 PM: Group Project Presentations and Feedback
- Groups present their projects.
- Facilitator and peer feedback.
4:30 PM - 5:00 PM: Workshop reflection
- Reflecting on Agile practices.
- Identifying areas for improvement.
- Closing remarks.
Hands-On Activities:
Throughout the workshop, participants will be engaged in hands-on coding sessions, group projects, and practical exercises. This includes:
- Writing User Stories and creating Use Cases.
- Implementing Test-Driven Development in coding exercises.
- Code refactoring and Continuous Integration setup.
- Applying Clean Code practices.
Workshop Materials:
- Presentation slides.
- Hands-on coding exercises.
- Reference materials on Agile Software Engineering practices.
- Group project scenarios.
This two-day workshop is designed to be interactive and immersive, allowing participants to gain practical experience in applying Agile Software Engineering practices. Adjust the agenda based on the specific needs and skill levels of the participants.