Contact Techniques of Design for event and ticket information.

Looks like this event has already ended.

Check out upcoming events by this organizer, or organize your very own event.

View upcoming events Create an event

Scrum Software Development Essentials: March 23-25, 2011 -- Phoenix AZ

Wednesday, March 23, 2011 at 9:00 AM - Friday, March 25, 2011 at 5:00 PM (MT)

Chandler, AZ

Scrum Software Development Essentials: March 23-25, 2011 --...

Ticket Information

Ticket Type Sales End Price Fee Quantity
Super Early-Bird (ends February 18, 2011) Ended $1,485.00 $0.00
Early-Bird (ends March 4, 2011) Ended $1,647.00 $0.00
Regular Registration Ended $1,875.00 $0.00
SHARE THIS EVENT

Event Details

Scrum Software Development Essentials

Part of the Certified Scrum Developer Training Week

COURSE DESCRIPTION

CSD LogoThis unique, 3-day training for software developers covers the critical skills needed to be an effective member of a Scrum software development team. Participants learn to identify and give names to the inherent qualities that make software flexible so all team members can communicate with high fidelity. Specific principles and practices which support the development of quality software are presented and examined in detail, including how to discover elegant solutions to software problems using a variety of problem-solving techniques. Understanding the forces at play in software problems enables participants to find and apply the necessary abstractions that make software less complex and reduces the cost of ownership. Advanced techniques, such as commonality-variability analysis, “refactoring to the open-closed”, encapsulating construction, and pattern-oriented design, are emphasized so participants learn how to emerge designs just-in-time and with minimal waste. Mornings are devoted to lectures, with afternoons spent in (Java) programming labs using Eclipse.

  • INTENDED AUDIENCE: Software developers, testers, designers, architects and technical leads.
  • PREREQUISITES: Familiarity with basic Object-Oriented (OO) concepts and terminology; ability to write simple programs in Java using Eclipse; a laptop with the latest version of Eclipse for Java installed (if you cannot bring a laptop you will be paired with someone who brings one).
  • CERTIFICATION: This course satisfies the three days of technical training requirement needed for Scrum Developer Certification. It helps prepare participants to work effectively on Scrum development teams.

WHAT YOU’LL LEARN

Upon completion of this course participants will have a deeper understanding of how to build quality software on a Scrum team and be able to:

    Agile Architecture and Development Slide
  • Write software that supports an iterative process without excessive rework
  • Use object-oriented techniques to write software that is more extendable
  • Identify six code qualities that make software easier to maintain
  • Understand how to create flexible designs that can easily change
  • Use several practices for writing better software, in any language
  • Recognize pathologies of poor code and know how to fix them
  • Support collaboration, pair programming and working with customers
  • Understand the importance of continuous integration and versioning
  • Use test-driven development practices to help build higher-quality software
  • Discover software patterns just-in-time to avoid upfront overdesign

COURSE INCLUDES

    Agile Architecture and Development Slide
  • Expert training from one of the industry’s most experienced Agile developer-instructors
  • Continental breakfast and lunch; snacks and beverages throughout the day
  • A printed and bound copy of all course materials
  • A USB drive containing lab-exercise solutions and other useful content
  • A free, 30-day advisory period entitling you to ask your instructor questions about the course materials and content, by phone, Skype video or e-mail
  • Access to members-only forums containing articles and Scrum-related information
  • Free 1-year membership to the Scrum Alliance (normally $50)
  • Special discounts on future coaching, and other offers, from Techniques of Design

AGENDA

DAY 1: ANALYSIS

  • Introduction: Outline of the purpose, objectives and logistics of the class; why Scrum development is important and how it differs from waterfall development.
  • Scrum Development Essentials: Practices including why and how continuous integration supports building better software more efficiently; collaboration with team members; pair programming; engaging the customer; and building a culture that supports ongoing improvement in software development.
  • Test-Driven Development: Mechanics of Test-Driven Development (TDD), and how to use it to inform design and create executable specifications; discussion of what makes a good test and common TDD anti-patterns to avoid.
  • LAB 1-A: “Iteration 0.” Introduces the case study and software set-up.
  • LAB 1-B: “Writing the Test First.” Explores the experience of writing tests before code by implementing the basic stories for our case study. Students learn practical techniques of estimating and working in short cycles, and are encouraged to refactor their code for maintainability once the core stories are implemented.

DAY 2: DESIGN

  • Design Review: Includes a group discussion on participants’ experience writing the test first and how well they did at estimating their stories. We also examine the trade-offs of various design decisions employed to implement the stories.
  • CREATE Code Qualities: Overview of six critical code qualities; how to recognize when they are missing and ways to get more of them; the relationship between code quality and testability.
  • Agile Architecture and Design: Different design paradigms and methods of approaching problems; design principles and key development practices for writing high quality, extendable software.
  • LAB 2-A: “Adding Optional Logging Behavior.” Examines the use of changing customer requirements to discover patterns that give us extensibility.
  • LAB 2-B: “Encapsulating Complex Business Rules.” Focuses on use of compound patterns to elegantly express complex business rules.

DAY 3: DEVELOPMENT

  • Design Review: We discuss how to find patterns in problems, particularly those discovered in the previous day’s labs; we give names to those patterns and review how they were discovered.
  • Testing Techniques: Explores advanced testing techniques including the use of mocks and shunts, dependency injection and how to write testable code.
  • Refactoring and Emerging Systems: Techniques for refactoring, emerging designs and cleaning up legacy code; different ways to combine the principles and practices covered in the course.
  • LAB 3-A: “Refactoring Legacy Code.” How to clean up code by identifying code smells and which refactorings you can apply to clean them up.
  • LAB 3-B: “Mocks and Shunts.” Presents advanced techniques to write mocks and shunts that ensure you are testing only what you need to.
  • Wrap-Up and Conclusion

YOUR INSTRUCTOR

David BernsteinIn the course of his 30-year career, David Bernstein has trained more than 6,000 developers for several Fortune 500 companies on how to improve their software design and construction. A longtime special consultant to IBM, he worked on the development of OS/2 and was a key programmer for IBM’s ImagePlus platform. David trained IBM software engineers around the world, giving them the skills to write the next generation of applications and operating-system software, and earning one of the highest satisfaction ratings in the history of IBM corporate education. He is the creator of a wholesale bank-accounting software program that has become the de facto standard across the globe, as well as econometric software used to invest trillions of dollars. Over the past five years, David has coached and trained thousands of developers at Microsoft, Boeing, Vanguard and dozens of other companies in Agile development practices.

Register for another one of our public classes or contact us to schedule a private class for your group.


FOR MORE INFORMATION CONTACT

David Bernstein

Email: info@techniquesofdesign.com

Or Visit: http://www.techniquesofdesign.com

Note: Seating is limited and these classes fill up quickly.

When & Where



City of Chandler Community Center
125 East Commonwealth Avenue
Room 101
Chandler, AZ 85244

Wednesday, March 23, 2011 at 9:00 AM - Friday, March 25, 2011 at 5:00 PM (MT)


  Add to my calendar

Hosted By

Techniques of Design



As a Registered Education Provider for the Scrum Alliance Techniques of Design 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

David Bernstein

Phone: (206) 659-8711

Or Visit: http://www.techniquesofdesign.com