How Agile is your Code Base?
Is your code easy to change? Can you get nearly instantaneous feedback when
you do change it? If the answer to any of these questions is no, you have
legacy code and it is draining time and money away from your development
efforts. It doesn't matter when the code was written, how object-oriented it
is, or whether anyone on your team feels the the design is appropriate. If
it is hard to test and change, you are paying a price for it.
The traditional answer to these problems is Refactoring: changing the design
of your code to make it more maintainable without changing its behavior, but
to refactor safely, we need tests. That's fine, but to get tests in place we
often have to refactor. In this talk, Michael will discuss a series of
strategies that you can use to get out of this chicken and egg situation.
He'll show how to safely break dependencies and get tests in place so that
you can refactor and add new features without breaking old functionality.
The strategies that Michael will be discussing come from his new book:
"Working Effectively with Legacy Code". The talk will consist of a series of
staged examples in Java, C++, and C#. After the talk, we'll have a
discussion period where you can raise any questions you have about the
techniques and their applicability in your code base.
Come to the talk and learn how to revitalize your legacy code.
AGENDA:
6:00 - 6:30 PM Networking and refreshments
6:30 - 6:35 PM Announcements and door prize giveaways
6:35 - 7:45 PM Presentation
SPEAKER
Michael C. Feathers works for Object Mentor, Inc., one of the world's top
providers of mentoring, skill development, knowledge transfer, and
leadership services in software development. He currently provides worldwide
traning and mentoring in Test-Driven Development (TDD), Refactoring, OO
Design, Java, C#, C++, and Extreme Programming (XP).
Michael is the original author of CppUnit, a C++ port of the JUnit testing
framework, and FitCpp, a C++ port of the FIT integrated testing framework. A
member of ACM and IEEE, he has chaired CodeFest at three OOPSLA conferences.
Is your code easy to change? Can you get nearly instantaneous feedback when
you do change it? If the answer to any of these questions is no, you have
legacy code and it is draining time and money away from your development
efforts. It doesn't matter when the code was written, how object-oriented it
is, or whether anyone on your team feels the the design is appropriate. If
it is hard to test and change, you are paying a price for it.
The traditional answer to these problems is Refactoring: changing the design
of your code to make it more maintainable without changing its behavior, but
to refactor safely, we need tests. That's fine, but to get tests in place we
often have to refactor. In this talk, Michael will discuss a series of
strategies that you can use to get out of this chicken and egg situation.
He'll show how to safely break dependencies and get tests in place so that
you can refactor and add new features without breaking old functionality.
The strategies that Michael will be discussing come from his new book:
"Working Effectively with Legacy Code". The talk will consist of a series of
staged examples in Java, C++, and C#. After the talk, we'll have a
discussion period where you can raise any questions you have about the
techniques and their applicability in your code base.
Come to the talk and learn how to revitalize your legacy code.
AGENDA:
6:00 - 6:30 PM Networking and refreshments
6:30 - 6:35 PM Announcements and door prize giveaways
6:35 - 7:45 PM Presentation
SPEAKER
Michael C. Feathers works for Object Mentor, Inc., one of the world's top
providers of mentoring, skill development, knowledge transfer, and
leadership services in software development. He currently provides worldwide
traning and mentoring in Test-Driven Development (TDD), Refactoring, OO
Design, Java, C#, C++, and Extreme Programming (XP).
Michael is the original author of CppUnit, a C++ port of the JUnit testing
framework, and FitCpp, a C++ port of the FIT integrated testing framework. A
member of ACM and IEEE, he has chaired CodeFest at three OOPSLA conferences.
SPONSORS
The November 2004 meeting sponsors are:
- Object Mentor (http://www.objectmentor.com)
- Addison-Wesley (www.awprofessional.com)
- Softpro Books (http://www.softpro.com)
- Qwest (http://www.qwest.com)
DIRECTIONS
The Qwest auditorium is in the Qwest building on the corner of 17th and
Curtis. The street address is 1005 17th Street. Take the exterior escalators
facing 17th from street level to Level 1. You can then access the elevators
via doors to the right of the escalator landing. Take an elevator to Level A
for the auditorium. If these doors are locked, go to the main building lobby
which is on Level 1 if you proceed from the escalator landing.
In addition to street parking, there is an outside parking lot on the East
side of the Qwest building that costs a flat $6 after 4pm. Several other
lots are within a few blocks and covered parking can be found in the Tabor
Center for around $4.
A G I L E D E N V E R
www.agiledenver.org
The November 2004 meeting sponsors are:
- Object Mentor (http://www.objectmentor.com)
- Addison-Wesley (www.awprofessional.com)
- Softpro Books (http://www.softpro.com)
- Qwest (http://www.qwest.com)
DIRECTIONS
The Qwest auditorium is in the Qwest building on the corner of 17th and
Curtis. The street address is 1005 17th Street. Take the exterior escalators
facing 17th from street level to Level 1. You can then access the elevators
via doors to the right of the escalator landing. Take an elevator to Level A
for the auditorium. If these doors are locked, go to the main building lobby
which is on Level 1 if you proceed from the escalator landing.
In addition to street parking, there is an outside parking lot on the East
side of the Qwest building that costs a flat $6 after 4pm. Several other
lots are within a few blocks and covered parking can be found in the Tabor
Center for around $4.
A G I L E D E N V E R
www.agiledenver.org