Skip to main content

Ken Pugh

Ken Pugh
Net Objectives

A fellow consultant with Net Objectives, Ken Pugh helps companies transform into lean-agile organizations through training and coaching. His special interests are in communication (particularly effectively communicating requirements), delivering business value, and using lean principles to deliver high quality quickly. Ken trains, mentors, and testifies on technology topics from object-oriented design to Linux/Unix. He has written several programming books, including the 2006 Jolt Award winner Prefactoring and his latest Lean-Agile Acceptance Test Driven Development: Better Software Through Collaboration. Ken has helped clients from London to Boston to Sydney to Beijing to Hyderabad. He enjoys snowboarding, windsurfing, biking, and hiking the Appalachian Trail. Reach Ken at [email protected]

Speaker Presentations
Tuesday, June 9, 2015 - 8:30am
Half-day Tutorials
Eight Steps to Kanban

 Transitioning to agile can be difficult—often downright wrenching—for teams, so many organizations are turning to kanban instead. Kanban, which involves just-in-time software delivery, offers a more gradual transition to agile and is adaptable to many company cultures and environments. With kanban, developers pull work from a queue—taking care not to exceed a threshold for simultaneous tasks—while making progress visible to all. Ken Pugh shares eight steps to adopt kanban in your team and organization. Ken begins with a value stream map of existing processes to establish an initial kanban board, providing transparency into the state of the current workflow. Another step establishes explicit policies to define workflow changes and engender project visibility. Because you can easily expand kanban to cover many parts of development, another step is to increase stakeholder involvement in the process. Join this interactive session to practice these key steps with hands-on exercises and take away an initial plan for implementing kanban in your organization.

Tuesday, June 9, 2015 - 1:00pm
Half-day Tutorials
Design Patterns Explained—from Analysis through Implementation

Ken Pugh takes you beyond thinking of design patterns as “solutions to a problem in a context.” Patterns are really about handling variations in your problem domain while keeping code from becoming complex and difficult to maintain as the system evolves. Ken begins by describing the classic use of patterns. He shows how design patterns implement good coding practices and then explains key design patterns including Strategy, Bridge, Adapter, Façade, and Abstract Factory. In small group exercises, learn how to use patterns to create robust architectures that can readily adapt as new requirements arise. Lessons from these patterns are used to illustrate how to do domain analysis based on abstracting out commonalities in a problem domain and identifying particular variations that must be implemented. Leave with a working understanding of what design patterns are and a better way to build models of your application domains.

Wednesday, June 10, 2015 - 1:30pm
Business Analysis & Requirements
Requirements and Acceptance Tests: Yes, They Go Together

The practice of software development requires a clear understanding of business needs. Misunderstanding requirements causes waste, slipped schedules, and mistrust. Developers implement their perceived interpretation of requirements; testers test against their perceptions. Disagreement can arise about implementation defects, when the cause is really a disagreement about a requirement. Ken Pugh shows how early acceptance test development decreases requirements misunderstandings by both developers and testers. A testable requirement provides a single source that serves as the analysis document, acceptance criteria, regression test suite, and progress tracker for each feature. Explore how the business, testers, and developers can create, evaluate, and use testable requirements. Join Ken to examine how to transform requirements into stories, which are small units of work that have business value, small implementation effort, and easy-to-understand acceptance tests. Learn how testers and requirement elicitors can work together to create acceptance tests prior to implementation.

Wednesday, June 10, 2015 - 4:15pm
Lean Software Development Is for Everyone

Lean software engineering emphasizes continuous delivery of high quality applications. Ken Pugh explains the principles and practices that form the basis of lean software development―concentrating on developing a continuous flow by eliminating delays and loopbacks; delivering quickly by developing in small batches; emphasizing high quality which decreases delays due to defect repair; making policies, process and progress transparent; optimizing the whole rather than individual steps; and becoming more efficient by decreasing waste. Ken describes lean’s emphasis on cycle time rather than resource utilization and demonstrates the value stream map which helps you visualize the development cycle flow to identify bottlenecks. He explores the differences between push and pull flow, describes how lean thinking shows up in agile processes including Scrum and Extreme Programming, and discusses how lean can be applied to the entire workflow—not just to the development portion. Ken concludes with a discussion of how you can begin your lean transformation.