Course Outline
Agile Delivery is about creating high quality, functional deliverables that provide the highest possible business value while reducing the risk of undelivered projects.At JBI Training we work with you to develop and deliver the most appropriate training programme to ensure success in your Agile transformation. Development processes organise the activities and outputs of software development according to a philosophy and set of practices. The software quality, determinism of the schedule, repeatability of the practices, and so on have not always been either evident or in proportion to the effort invested in many traditional documented methods. Agile development processes have recently captured the imagination and support of software developers and managers, offering an alternative discipline to either bureaucratic processes or chaotic processes. They are low in ceremony compared to more heavyweight approaches, but are uncompromising on quality and rigour. Agile methods seek to address development issues through techniques that are less removed from either the code or the team. Popularly, Extreme Programming (XP) has established itself as a process that addresses the developer's technical day-to-day practices, the project management perspective and the business focus. XP, especially in its second edition (XP2), provides a suitable and specific focus for understanding agile approaches in general.This seminar aims to highlight the problems in producing and scheduling of modern software development, give an overview of a number of agile development methods, and focus on many practices that are seen to be central to modern development.
Course Content
We have developed this seminar to introduce delegates of a wide variety of IT / Project Management backgrounds to the main concepts, benefits and implications, of migrating to or incorporating an Agile methodology within the software lifecycle.
Agile Methodologies (Scrum, RUP, XP) Training Course Outline
Motivation for Agile Methodologies
The Agile Manifesto
The Four Values and the 12 Principals
Software Development Issues
Managing change
Spaghetti architecture
Complexity and overgeneralization
Balancing cost, time, quality and scope
Delivery of value
Responsive Development
Pitfalls of static processes
Iterative and incremental development
Architecture
Prototyping
Scenario-driven increments
Testing versus debugging
Agile Processes
The Agile Manifesto
Extreme Programming
Test-Driven Development (TDD)
Rational Unified Process (RUP) and dX
Scrum
Feature-Driven Development (FDD)
Crystal Clear
Dynamic Systems Development Method (DSDM)
Scrum Practices
Roles in Scrum
Self-organising team
Product backlog and product owner
Sprint backlog and planning meeting
Sprint management
Daily scrum meeting
Sprint review
Extreme Programming Practices
Primary and corollary practices
Sit together
Whole team
Informative workspace
Energized work
Pair programming
Stories
Weekly cycle
Quarterly cycle
Slack
Ten-minute build
Continuous integration
Test-first programming
Incremental design
Incremental deployment
Team continuity
Shared code
Single code base
Process and Practice Adoption
Defining a suitable process
Duration and goal of an iteration
Use case and technology slicing
Derisking
Automated system and unit testing
Refactoring
Working with legacy code
Fine-grained version control
Level of documentation
Pairing