[Speakers] change of venue for patterns seminar by Alan Shalloway
Alan Shalloway
alshall at netobjectives.com
Fri Apr 12 12:12:56 PDT 2002
Steve
Sorry to be hitting you with this announcement twice. We had to change the
location for one of our talks. The Refactoring talk on April 24th is now in
Sunnyvale instead of San Jose. I have place a corrected announcement after
my signature. If you passed this on to your group, please let them know of
the change.
Thanks,
Alan Shalloway
Sr Consultant, www.netobjectives.com
---------------------------------------------------------
* Sign up for our free newsletter by sending an e-mail to
info at netobjectives.com
* Learn about and join our design pattern community of practice by going to
www.netobjectives.com/dpexplained
* Jim Trott's & my book - Design Patterns Explained: A New Perspective on
Object-Oriented Design is now available
* Scott Bain's & my new CD based XML training is now available as well
Alan Shalloway, co-author of Design Patterns Explained: A New Perspective on
Object-Oriented Design is coming to Southern California to put on a series
of free seminars on a variety of topics including refactoring, design
patterns and agile methods. See more about Alan below. While down here,
Alan will be presenting both a free evening seminar and a 2 day design
patterns class (the first 6 registrants will get a $100 discount).
Summary of seminars: (go to
http://www.netobjectives.com/pr_future.htm
to get links to all of these -
includes info and how to register).
April 22: Pattern Oriented Development: A Practical Approach to Software
Development, Pleasanton (sponsored by East Bay IEEE)
April 24: Refactoring, Design Patterns and Extreme Programming, Sunnyvale
May 14: The Need For Agility, Cupertino
******************
Pattern Oriented Development: Using Design Patterns In Analysis Through
Implementation.
This seminar discusses how design patterns can be used to improve the entire
software development process - not just the design aspect of it. Design
patterns are usually thought of as being limited to solving local
design/implementation problems. However, they can be very useful in:
* shifting from a noun/verb decomposition of your problem domain space to
one where you look for variations in concepts - this results in more
maintainable code
* avoiding "paralysis by analysis"
* creating a larger perspective on how to do and manage software development
***************************
Refactoring, Design Patterns and Extreme Programming
The two approaches of creating quality, high-level, up-front designs with
design patterns or relying on emergent design using refactoring as espoused
by XP seem opposed to each other. This seminar illustrates why design
patterns and refactoring are actually two sides of the same coin.
With the recent interest in Extreme Programming, many people are learning
the importance of refactoring. According to Martin Fowler:
"Refactoring is the process of changing a software system in such a way that
it does not alter the external behavior of the code yet improves its
internal structure. It is a disciplined way to clean up code that minimizes
the chances of introducing bugs. In essence when you refactor you are
improving the design of the code after it has been written."
Refactoring is very important as a method of improving design to accommodate
new requirements. It is often touted as a way to fix code mistakes.
However, avoiding the code mistakes in the first place is a better way to
go. In this case, refactoring is used to accommodate design changes
required by new requirements.
Coding mistakes usually arise from improper attention to the basics of
coding:
loose coupling
high cohesion
no redundancy
programming by intention
Understanding these principles is essential if extreme programming methods
are to be followed. This seminar walks through an evolving code example to:
illustrate how to follow the above principles
illustrate what refactoring is
show how refactoring can improve designs to accommodate change
The code examples used contain a couple of design patterns. Thus, the
seminar also illustrates how good, high-level designs can be accomplished by
the application of good local coding rules.
*******************************************************
The Need for Agility
Perhaps you've heard the phrase "paralysis by analysis," where all too often
project staff spend too much time on analysis and design. On the contrary,
they might spend too little time on the initial planning and instead leap
right in to the coding.
On one hand, there is great value in getting complete requirements and doing
up-front design. Conversely, we know the requirements are going to change.
Furthermore, the more work we do up-front, the longer it takes until we can
get feedback about what we've done. Both feedback from the customer and
feedback on the technical approach we've taken, are extremely important.
Delays in getting this information dooms many projects.
This seminar is designed to demonstrate how to balance the necessity for
up-front analysis and design with the need to get feedback about how the
project is going.
Topics to be discussed include:
* the impact of changing requirements
* fulfilling staff roles properly
* importance of feedback in the development cycle
* how to do design in a changing word (Commonality/Variability analysis)
This seminar will review these issues and explore how light methodologies
can be more useful in short development cycles.
Learn about:
* the importance of up-front testing
* how much is enough in analysis
* why developing in short intervals is important
* the proper role of the customer
* the proper role of the developer
* the proper role of the business manager
* why too much analysis and design can be counter-productive
* where to continue your investigation of these issues
Who should attend: This seminar is intended for technical managers, project
managers, team leads and developers who want to know how to get a grip on
their software projects.
*******************************************************
To register for any of these seminars, please go to
http://www.netobjectives.com/pr_future.htm, click the seminar in question,
and follow registration information there.
*******************************************************
2 Day Designs Pattern Class (see
http://www.netobjectives.com/courses/c_pubsched.htm for more information).
The course goes beyond merely teaching several design patterns. It also
teaches the principles and strategies that make design patterns good
designs. This enables students to use these advanced design techniques in
their problems whether design patterns are even present. After teaching
several patterns and the principles underneath them, the course goes further
by showing how patterns can work together to create robust, flexible,
maintainable designs. Pricing and up to date location/date info can be seen
at http://www.netobjectives.com/courses/c_pubsched.htm.
Biography of Presenter:
Alan is the founder of and a senior consultant with Net Objectives. Since
1981, he has been both an OO consultant and developer of software in several
industries. His clients includes both Fortune 500 and small companies. In
addition to consulting and mentoring, Alan teaches design patterns, Java,
C++, and agile software development methodologies including XP and a
light-weight version of RUP. He also gives tutorials at several conferences
world-wide each year. His and James Trott's book: Design Patterns Explained:
A New Perspective on Object-Oriented Design, has been very highly rated.
Alan has a Masters in Computer Science from MIT.
Alan Shalloway
Sr Consultant, 425-313-3065, http://www.netobjectives.com
---------------------------------------------------------
* Sign up for our free newsletter by sending an e-mail to
info at netobjectives.com
* Learn about and join our design pattern community of practice by going to
www.netobjectives.com/dpexplained
* Jim Trott's & my book - Design Patterns Explained: A New Perspective on
Object-Oriented Design is now available
* Scott Bain's & my new CD based XML training is now available as well
More information about the Speakers
mailing list