
The
Politics of Technical Standards
Bob
Cringely, Writer, Broadcaster, Computerguy
Thursday, March 18, 5:30pm - 6:30pm
Once their formal education is behind them and they are in the work force, software developers are
primarily educated by vendors, which is both good and bad. Part of that education is promoting one
technical standard over another. In theory standards should arise through pure merit and good
engineering but that isn't always the way it happens. Sometimes new standards are forced on other
companies by a dominant supplier. Sometimes standards bodies are started not so much to promote their
own standard as to hurt the promotion of an alternate standard. This hurts developers who actually have
to use this stuff and if it isn't going to really exist or it exists only to make trouble—not to work well—then they
deserve to know that. This presentation covers the development of several important technical standards and covers the real
stories of the politics that lie beneath it all.
Why Software Development is a Core Competency
Grady Booch, IBM Fellow
Thursday, March 18, 12:30pm-1:30pm
On Demand businesses are faced with a daunting challenge: They need to improve the flexibility of their operations
in order to respond with speed to any customer demand, market opportunity or external threat. To provide this level
of resilience, they seek to integrate their core business processes across the company and with key partners,
suppliers and customers using information technology. This requirement for horizontal integration demands that
modern software development processes and tools be brought to bear in order to accelerate delivery, and assure
success. Please join Grady Booch as he discusses why viewing software development as a core competency allows
companies to differentiate the systems they create, thus creating strategic advantage over their competitors.
Code Complete 2: A Decade of Advances in Software Construction
Steve
McConnell, Author & Chief Software Engineer at Construx Software
Monday, March 15, 12:15pm - 1:15pm
For more than 10 years, Code Complete has been a computing-industry bestseller.
The past decade has seen the emergence of object-oriented programming, the Internet,
the CMM, offshore outsourcing, Java, Visual Basic, and the Agile movement as
well as staggering advances in computing power and numerous other developments.
How have 10 years of advances changed software construction? Has the general
state of programming improved? Are any of the old techniques still relevant?
Has anything moved backward? Award-winning author Steve McConnell explores the
software issues of yesterday and today and arrives at a few lasting truths about
software development. This talk is based on Code Complete Second Edition, available
in Summer 2004.
Recipe for Innovation: Big Challenges, Big Autonomy
Allan
Vermeulen, CTO and VP at Amazon.com
Tuesday, March 16 12:15pm - 1:15pm
Developer and now Amazon.com Chief Technology Officer Allan Vermeulen has
seen innovation thwarted and triumphed. From posing the right problems to exposing
the best solutions, his keynote will discuss how companies and individuals can
create the environment necessary for developers to build the next generation
of software.
Use Cases and Aspects- Working Together
Ivar
Jacobson, Founder, Jaczone AB, Sweden
Wednesday, March 17, 5:30pm - 6:30pm
Use cases have been adopted for requirements universally. Use cases start there
and are translated into collaborations in analysis and design, and to test cases
in test; this is the central idea behind use-case driven development. With use
cases we can cut the system into use case slices with elements from each lifecycle
model - almost! It is just almost true, since today the coding of a component
or a class requires us to merge the code derived from several use cases so the
individual slices will be dissolved and not recognizable any more. The root
problem is limitations in currently used languages. AOP in general is "the
missing link". It will allow us to slice the system cleanly use case by
use case over many models to achieve separation of concerns all the way down
to code. In fact, we will get use case modules crosscutting many models and
their artifacts. It will subsequently allow us to re-compose or weave back these
slices into a consistent whole – the deployed system. The result is a
variant of AOSD - AOSD with use cases. And it is here to be harvested - now.
Join Dr. Jacobson for this compelling keynote as he explains his groundbreaking
work.
Converging Roads: .NET, Longhorn and C++
Herb
Sutter, Microsoft Architect
Wednesday, March 17, 12:30pm - 1:30pm
From the JVM to .NET, mainstream computing is increasingly relying on virtual machine runtime environments with garbage collection.
Microsoft has bet their medium-term future on it: The OO API for Windows Longhorn and the successor to Win32 is WinFX, which is based
on today's .NET Frameworks (FX) and puts the garbage-collected VM squarely at the heart of a major operating system.
But where does this leave existing code? Notably code written in non-VM, non-GC languages like C++? The answer: Right in the
thick of things, thanks to C++/CLI, a set of pure extensions to C++ now being standardized that let programs seamlessly use
all of ISO CLI (the ISO standardized portion of .NET).
In this talk, the lead architect of C++/CLI talks about the importance and viability of environments based on virtual machines
and garbage collection, even for performance-driven applications, and demonstrates how C++ operates seamlessly in that environment
with a tour of the C++/CLI language design and major features. C++/CLI provides first-class and cleanly integrated support in the
C++ language for all .NET features (e.g., reflection, garbage collection, properties, delegates, events, and generics) uniformly
for all types including also for native types. It also provides first-class support in the .NET environment for all standard
C++ features (e.g., deterministic destruction and templates) uniformly for all types, including also for .NET types. These
facilities are expressed through a set of pure conforming extensions to ISO C++, underpinned by a unified type system and
unified pointer/storage system.
|