Speakers
- Dan Allen
- Aaron Bedra
- Tim Berglund
- Rohit Bhardwaj
- David Bock
- Stevie Borne
- Jeff Brown
- James Carr
- Scott Davis
- Jeremy Deane
- Keith Donald
- Michael Easter
- Robert Fischer
- Neal Ford
- Brian Gilstrap
- Andrew Glover
- Brian Goetz
- Stuart Halloway
- David Hussman
- Mark Johnson
- Dave Klein
- Scott Leberknight
- Tiffany Lentz
- Howard Lewis Ship
- Chris Maki
- Matthew McCullough
- Alex Miller
- Ted Neward
- Michael Nygard
- Pratik Patel
- Mark Richards
- Brian Sam-Bodden
- Srivaths Sankaran
- Nathaniel Schutta
- Aleksandar Seovic
- Ken Sipe
- Brian Sletten
- Matt Stine
- Venkat Subramaniam
- Burr Sutter
- Vladimir Vivien
- Mark Volkmann
- Craig Walls
- Richard Worth
John Heintz
President of Gist Labs
John D. Heintz is a husband, father, developer, Agilist, entrepreneur. After studying electrons in college, John's intuition led him to pursue software, and he's been a digital craftsmen since. Always seeking solutions with higher leverage and deeper simplicity has led John to important methods and tools. John's approach to building systems and teams started with leading his first Scrum team in 1999, included XP and TDD, and now Agile and Lean methods are part of his daily work and consulting. John has built single-source hyperdocument SGML publishing systems, a version control CORBA/Python CMS, an AspectJ dependency acquisition framework, added test automation to many Java and .NET systems, coached a 100-person Agile/Lean game studio, and built RESTful Web integration systems. John has launched his own company, Gist Labs, to further his focus on essential innovation.
Blog
Criteria for Innovative Success
Posted Thursday, June 18, 2009
I've got this in my head and want to write it down. I'm still tweaking it, and would like feedback.Criteria for Innovative Success:1a) A Shared Vision of Success1b) Willingness to drive towards that Vision2) Reflective Problem Solving Sta more »Presenting at Austin JUG tonight, Kanban
Posted Wednesday, May 27, 2009
Update: The presentation went well, lots of good questions and conversation.Link to the slides: http://gistlabs.com/john/pubs/2009/05/AJUG/I'm presenting at the Austin Java User more »Setting up our Kanban board
Posted Tuesday, May 19, 2009
Last week one of my clients and I set up a Kanban board for the team. We did it as a physical board, and we're backing each card with an issue in a tracker.We plan to use the issue tracker for these purposes:generate a Cumulativ more »Presentations
Adding Behavior to Java Annotations
Java's Annotations provide a way to add data to program elements. Annotations are used to configure containers, describe persistence configuration, set security roles, and are defined by nearly every recent JSR standard. This presentation explains the pro more »Tool support for Agile Databases: Introducing Liquibase
This presentation introduces and demonstrates Liquibase: a new Java tool to support automating database refactoring and deployment. more »Test Automation: The Big Picture
Why should we automate testing? What types of automations are there? How do we automate testing? more »Introduction to REST: What can we learn from it?
REST is a description of how the Web works, what use is that to developers just trying to build or integrate applications? This presentation introduces REST, explains the key differences/constraints, and then highlights how these concepts can improve key more »Java's Annotations provide a way to add data to program elements. Annotations are used to configure containers, describe persistence configuration, set security roles, and are defined by nearly every recent JSR standard. This presentation explains the processing options available for consuming Annotations and demonstrates the techniques with live code demonstrations.
The presentation: * introduces Annotations and how to create custom Annotations, * surveys the techniques that can add implementation effects from Annotations (code generation, bytecode transformation, runtime reflection), * demonstrates adding behavioral effect to an example with APT, Reflection, Javassist, and AspectJ, * wraps up with best practices for using and defining Annotations.
No prior experience is necessary, and attendees will learn how to define and to provide behavior for custom Annotations in their own systems.
This presentation introduces and demonstrates Liquibase: a new Java tool to support automating database refactoring and deployment.
Agile Database tools and techniques have been evolving to catch up with the existing support for source code. Many projects struggle to keep external databases (and DBAs) in sync with rapidly changing and tested source development.
Support for Agile Database development needs to include tools support for the following areas: * Database Refactorings * Schema Version Control * IDE Support * Scripted tools (Ant, Maven, command line)
Liquibase is an LGPL-licensed Java tool for tracking, managing, and applying database changes. Liquibase enables the database schema, reference data, and data change scripts to be managed as effectively as source code on Agile projects: * the CI build doesn't break from forgotten SQL script runs * developers don't have to coordinate check-ins/outs with each other * embedded or external databases can be managed with the same scripts * databases can be automatically upgrades, or SQL generated for review
This presentation introduces these topics and demonstrates Liquibase with an example application showing Spring Framework, Ant, and continuous build integrations.
Why should we automate testing? What types of automations are there? How do we automate testing? Where do we go from here?
This session gives advice and answers to these question.
The motivation for automating the testing of a system beyond just xUnit is explored from both an Agile and Lean perspecitve.
A brief survey of types of testing that are well suited to automation (functional, integration, performance) and also those types of testing that are not suited to automation (exploratory and user experience).
Several test automation frameworks are demonstrated to show how test automation can work for customers, developers, and test professionals.
REST is a description of how the Web works, what use is that to developers just trying to build or integrate applications?
This presentation introduces REST, explains the key differences/constraints, and then highlights how these concepts can improve key parts of application and service development: * scalability, integration, evolvability
Introduction to REST Constraint-based Architecture Hypermedia Properties of REST Constraints of REST Conclusions