4-5 days. If the 4-day version; the sessions are 8:15am-5:45pm (for example). If the 5-day session, sessions are 9:00am-5:00pm (for example)
This popular, high-impact, and hands-on course on agile software development is aimed at developers looking for solid core development Java skills and the ability to "think in objects", and is based on industry leader Craig Larman’s extensive experience coaching and applying agile modeling and development (both objected-oriented and non-OO) for decades.
What really matters is not a set of diagrams and documents, but a quality, running Java system that meets the needs and constraints of various stakeholders. How can we effectively apply modeling in an agile value-adding practical approach, and how can it be integrated with programming and automated tests to create great software? And how to can we design software with technical agility to enable business agility? Finally, what are the overarching principles to the design of elegant, understandable, and extensible systems?
In this intensive hands-on seminar you will find the answer these questions. There is a little lecture time, but the majority of the time is spent in high-value-education small modeling teams at the whiteboards while the coach rotates and works with each team, coaching the case studies while applying agile modeling, principles and patterns. And time programming in Java while the coach helps you implement your systems, while you learn the powerful practice of test-driven development (TDD) with refactoring.
The course involves multiple iterations of several case studies, in which the teams go through repeating cycles of agile modeling and development in Java combined with unit TDD. On each cycle, the coach gradually introduces more principles and techniques to build software with agility.
We apply a variety of education techniques established over 20 years of coaching and mentoring to maximize the learning, value, and fun, including buzz groups, multi-modal learning, pair work, and lots of hands-on practice.
Discussion, presentation, Q&A, workshop exercises
Intermediate: This course introduces concepts and techniques that the attendee will apply during the workshop.
Familiarity with a programming language
Upon completion of this course, students should be able to: