Agile Software Developer Essentials: December 10, 2012 -- Online
Monday, December 10, 2012 at 8:00 AM - Friday, December 14, 2012 at 12:00 PM (PST)
Note: This is an online training offered in 4-hour sessions over five consecutive weekdays. Please see our FAQ for details on hardware requirements to attend this training remotely from your computer.
This comprehensive, twenty-hour program presents essential Agile developer principles and practices that will empower you to build higher-quality software more rapidly, and with fewer defects.
You will go beyond the basics of Agile development to learn the practices expert developers employ to write code faster and solve a range of software problems. You’ll discover simple, yet powerful techniques for analysis and design, refactoring to patterns, and leveraging test-driven development to emerge solutions. You’ll identify code qualities that make software easier to build and test, and learn a common vocabulary for evaluating and communicating designs that will enable you to collaborate more effectively with your customer, as well as your teammates.
Anyone who develops software will find value in the techniques covered in this training, regardless of your coding proficiency or current skill level. By the end of class you will have gained an in-depth understanding of how Agile development practices improve software construction, and you will have become a more valuable contributor on any development team.
Completing this training will give you a deeper understanding of software development using the Agile methodology, and enable you to:
- Employ expert techniques for analysis and design
- Read and write the most useful UML diagrams
- Review and evaluate effective design alternatives
- Estimate development tasks more accurately
- Deliver valuable software in short iterations
- Apply strategies for refactoring legacy code
- Create designs that can be easily changed
- Identify key code qualities that improve maintainability
- Recognize pathologies of poor code and know how to fix them
- Use object-oriented techniques to write more-extensible software
- Understand the importance of continuous integration and versioning
- Support collaboration and pair programming, and work effectively with teammates
- Write software that supports an iterative process without excessive rework
- Define classes based on responsibilities, and model their relationships
- Learn a common vocabulary for evaluating and communicating designs
- Refactor to design patterns just-in-time to avoid upfront overdesign
- Use test-driven development practices to build higher-quality software
- Master iterative development techniques for emerging designs
Who Should Take This Course:
This training will benefit all software-development team members, including architects; business analysts; DBAs; designers, developers and development managers; directors; documentation specialists; operations and support staff; product and project managers; software engineers/ programmers; testers; technical analysts, leads and writers; and QA engineers. Familiarity with basic Object-Oriented (OO) concepts and terminology is recommended.
Session 1—Agile Fundamentals
- Development Essentials
- CREATE Software Quality
- Paradigms and Wisdom
Session 2—Agile Analysis
- Principles and Perspectives
- Software Patterns
- Encapsulating Varying Behavior I
- Encapsulating Varying Behavior II
Session 3—Agile Design
- Encapsulating Foreignness
- Group Exercise
- Design Reviews
- Exercise Debrief
Session 4—Agile Development
- Encapsulating Sequence and Cardinality
- Encapsulating Construction
- Development Practices
Session 5—Agile Testing
- Test First Development
- Testing Techniques
- Refactoring and Emerging Systems
David Bernstein’s continuing passion for software design and construction has led him to train more than 7,500 developers in the last 23 years for clients that have included Fortune 500 firms such as Microsoft, IBM, Yahoo!, Boeing, AT&T, Sprint, Medtronic, SunGard, State Farm, MetLife and Weyerhaeuser. As a longtime IBM consultant, David trained software engineers around the globe, giving them the skills to write the next generation of applications and operating-system software while earning one of the highest satisfaction ratings in the history of IBM education. Since 2006, he has devoted his consulting practice to providing organizations with training and coaching for software developers and teams transitioning to Agile and Scrum.
Praise for this Training
“This class renewed my enthusiasm for the love of software development…[David’s] enthusiasm is infectious, and you might find that you start thinking better about software development practices.” – Mark Walsen, Owner/Developer, Notation Software
“If you want to know a better and more effective way of thinking and working with software, then don’t miss this class.” – Javier Espana, Designer/Developer, Velocity Partners, Argentina
“This class is absolutely essential for a modern software developer.” – Arkadiy Tseytlin, Software Developer, ShareBuilder.com
Become a more proficient developer—contact us to arrange a private, on-site session of this training for your team.
View a pdf version of this course description.
To Be Agile
As a Registered Education Provider for the Scrum Alliance To Be Agile now offers Certified Scrum Developer (CSD) training. We also offers agile software development training, object oriented analysis and design training, and design patterns training, plus coaching and consulting services to help your technical team become more Agile.
FOR MORE INFORMATION CONTACT
Email: david (at) ToBeAgile (dot) com
Phone: (206) 792-9700
Or Visit: http://ToBeAgile.com