|
Agile Is More Than Monkey-See-Monkey-Do - Peter Provost
In the six years since the Agile Manifesto was signed we have seen an
upswelling of interest in agile techniques. Scrum Masters are everywhere and everyone
wants to talk about TDD and other agile practices. But it seems that the pragmatic
essence of agile development is being lost. A vast majority of talks, tutorials,
and speeches at conferences over the past year or two seem to have lost that same
essence and have instead focused on practices instead of principles. The goal for
this presentation is to explain why it is the essence of agility that is so critical,
so important to the success of any project trying to succeed. ?People over Process,
Collaboration over Contracts, Working software over Written Words, and Planning
over Plans? are not hollow words to an experienced agilist ? they are the lifeblood
of what they believe and color how they act.
Agile Security - David LeBlanc
The Security Development Lifecycle (SDL) as practiced at Microsoft assumes a level of process and structure that one would expect from very large scale efforts such as Windows Vista, Microsoft Office, and other large Microsoft products. For many organizations, various Agile development processes produce better results for their development teams and products, but it can be difficult to incorporate security into Agile processes. Just as Agile development processes stress lightweight, just-in-time design, a lightweight approach to security will improve application security without burdening the overall experience.
Architecting a Scalable Platform -
Chris Brown
At one time, scalability meant buying a bigger database. Today, architecting
a planetary scale service means juggling consistency, availability, and performance
in the face of network partition, and sometimes total datacenter failure. Yesterday?s
?ACID? transactions and two-phase commit are giving way to distributed, consensus-based,
eventual agreement and sometimes just apology in the face of failure. In this session,
we?ll look at recent techniques in content caching, peer-to-peer delivery, traffic
management, and distributed messaging with real-world examples. We?ll also discuss
the monitoring, metrics and testing useful in planning and operating these services.
Build Your Own Software Factory - Wojtek Kozaczynski,
Bob Brumfield, Ade Miller
This session exposes the lessons learned from building the latest versions
of the patterns & practices factories, and how to apply these lessons to either
customizing those factories for your own requirements or building your own factories.
We will cover how to build a model-driven factory, utilize inter-connected models,
separate models from technology specific information (deferring the application
of specific technologies), manage complex code-generation utilizing DSL Extensions,
and utilize a custom validation framework.
Building Services with the Service Factory: Modeling Edition - Bob Brumfield & Ade Miller
There are clear advantages of using a modeling environment when building
services. The development team has more flexibility when the modeling environment
includes logical models that don?t force platform and language decisions too early
in the project. When this environment has a great deal of extensibility, the capabilities
are only limited by imagination. The Web Service Software Factory: Modeling Edition
provides this type of modeling environment. Attend this session to see how the Service
Factory can be used and extended by your service development team.
Dependency Injection Frameworks - Brad
Wilson & Scott Densmore
Dependency injection is a way to achieve loose coupling. The technique
results in highly testable objects, particularly when applying test-driven development.
In this session, we'll examine the reasons behind dependency injection, and preview
the changes coming in ObjectBuilder 2.0. We'll show two sample containers, including
one that behaves like Castle Windsor. Finally, we'll examine the new method interception
system that allows a limited form of Aspect-Oriented Programming when using ObjectBuilder
2.0.
Designing for Rich UI Platforms - Kathy Kam
Rich Internet Applications (RIA) are more and more prevalent on the internet.
This session explores the tradeoffs involved in RIA and illustrates how to take
advantage of the managed platform exposed to Microsoft .NET to build next generation
applications.
Designing for Workflow -
Ted Neward
Windows Workflow represents a completely different style of coding, one which
utilizes a different style of programming than what we?ve seen before. Known in some circles
as continuations, Workflow essentially provides the ability to serialize an executing thread,
store it for a period of time, then restore the thread in a different environment or time for
further execution. In this presentation, we?ll examine how Workflow does this (with your help),
and how it can be used to solve some interesting design scenarios.
Domain-Specific Development with Visual Studio DSL Tools -
Gareth Jones
Domain-Specific Language Models are a powerful technique for embodying
in a tool the abstractions specific to the software your business is building and
guidance on how to use them with your own frameworks. In this session we?ll examine
the domain-specific development pattern, see how to build a simple graphical language
from scratch, how to make it domain-specific and finally how to add architectural
guidance directly to the tool.
Empirical Evidence of Agile Methods - Grigori Melnik
Agile methods have come of age. Recent surveys indicate that agile methods
(including Scrum, eXtreme programming, Lean development, MSF Agile, DSDM, FDD, ASD)
are being adopted or seriously considered for adoption by many organizations. Practitioners
want to know which individual agile practices work and do not work, and under which
conditions. Existing data on agile methods and practices analyzing their claimed
merits will be presented. This empirical evidence can also be used by leaders who
need to evaluate agile methods and motivate their adoption. It may help
implement changes in your organization with more confidence.
Enterprise Library 3.0 Applied - Lars Laakes
ADP Canada is leveraging the Enterprise Library 3.0 as part of its core
application platform for all future ADP Canada applications. This session will describe
how ADP Canada used and customized EntLib for a real world solution.
Enterprise Library Devolved - Scott Densmore
The patterns & practices Enterprise Library is a library of application
blocks designed to assist developers with common enterprise development challenges.
As a set of guidance for meeting these challenges, this will cover changes made
in the EntLib Refactored project on CodePlex.com. It focuses mainly on simplifying
the code and changes based on 3 versions of learning and feedback.
Enterprise Service Bus (ESB) Guidance - Marty Wasznicky
This session describes Microsoft's platform value to customers evaluating
ESB vendor offerings and the capabilities offered by the Application Platform and
the Microsoft ESB Guidance for BizTalk Server. In addition it introduces architects
and developers to the ESB architectural concepts as addressed by the guidance, describes
the implementation of the components and frameworks within it, and explains the
functionality of the guidance through a set of use cases.
Evolving Client Architecture - Billy Hollis
We are past the point as architects that we can assume that one user
interface technology will be used in our applications throughout the application?s
lifetime. Some applications needs multiple types of user interfaces today. Others
will need to grow to accommodate the world of Rich Internet Applications in the
next few years. This session discusses the architectural challenges in creating
applications that are capable of supporting multiple UI technologies, and in creating
rich client applications with more capability and logic than typical HTML-based
user interfaces of today. We?ll look at the necessary patterns, such as Channel
Adapter, Command, Observer, and Model-View-Presenter to see how each can be applied
to rich Internet-based applications to create applications that are loosely connected
and agnostic about data sources and data transports. We?ll look at layering the
client systems when using technologies such as WPF and Silverlight, and how to properly
take advantage of state on the client. And we?ll discuss some of the attributes
of .NET that make it cost-effective to create applications that simultaneously support
multiple user interface technology stacks.
Fresh Cracked CAB - Ward Bell
Smart Client line-of-business applications are known for their enormous
number of screens. Every screen is crowded with UI controls, elbowing for pixel
room on a panel or tab. Along come the proponents of Model-View-Presenter telling
us to break those screens into multiple sub-views of at least four class files each
("model", view, view interface, and presenter). Then we need page controllers to
compose and manage them. There's an explosion of moving parts. Why is this a good
thing?
The Future of Model-Based Design - David Trowbridge
Models are an effective way to manage the complexities of application
evolution and design. Future versions of Visual Studio Team System will include
is building out an integrated set of designers which help allow you to visualize
and evolve your existing code towards a target architecture using a best practice
based approach. Integration between designers and Team Foundation Server TFS enable
you to flow information between models, code and team members involved in the SDLC.
Cutting edge code and metadata visualizations let aide you in comparing compare
your actual code with the intended design to guide your application evolution. Team
factories, based on specific application types, can be plugged in to guide you through
the construction process and jump start your development efforts. This session will
provide you with an overview of some of the efforts going on inside Microsoft to
empower the code based developer and architect with next generation tools.
The Future of Design Patterns (panel) - Dragos Manolescu,
Wojtek Kozaczynski, Ade Miller
Future of patterns & practices - Rick Maquire
Grid Security - Jason Hogg
This session will provide an overview of a security
declarative, logic-based security policy language called SecPAL which is being developed
by the Advanced Technology Incubation team and Microsoft Research Cambridge. SecPAL
has been designed to address challenges relating to access control including: establishment
of trust, fine grained delegation, compliance and support for different policy authoring
models. The presentation will include an overview of SecPAL, plus a walkthrough
of its application and demonstrations based on the .NET research release that is
available from http://research.microsoft.com/projects/secpal.
Introducing the Aikido Project - Andres Aguilar
Aikido is a new ASP.NET control framework that builds on top of ASP.NET AJAX, providing XHTML compliance and CSS friendly designability.
Aikido is designed to simplify new control development. We will describe the Aikido architecture and show how to build new controls that take advantage of it.
Lessons Learned in Unit Testing - Jim Newkirk
It has been over 5 years since the first release of NUnit 2.0. In that
time there have been literally millions of tests that have been authored. Some of
these tests have become invaluable resources for their teams. Others have not been
maintained and were viewed as failures. This session will describe some of the patterns
that improve the usefulness of your tests as well as highlight key anti-patterns.
Make It Your Own - Scott Densmore
The deliverables from patterns & practices provide guidance for developing
Enterprise Applications on the Microsoft platform. When adopting this in your organization,
sometimes you would like to make changes to meet the specific needs of your organization.
This talk will cover ways to make changes to the code deliverables to help make
them you own.
Soon we notice the structural uniformity from screen to screen. There
has to be; we can't afford to turn each screen into a work of art and users would
be confused if we did. Perhaps we can harness that uniformity, slow the file bloat,
and still build loosely coupled, testable applications that exploit patterns such
as MVP. This session introduces architecture and techniques for building pages dynamically
with reusable views, presenters, and controllers. It draws upon recent experience
with CAB-based development that is starting to appear in some commercial applications.
Patterns of Software Factories - Wojtek
Kozaczynski
Examining implementation of design patterns can give you tremendous insight
into how to apply them in the solution you are building. The patterns & practices
factories are a rich source of examples of implementations of many software patterns.
This session will explore
their evolution of some of the most common and useful patterns including dependency injection, chain-of-responsibility, MVP, container hierarchy, proxy, and more.
Moving Beyond Industrial Software - Harry Pierson
Computers have been instrumental in ushering in the post-industrial age.
Yet, most enterprises today are run with an industrial mindset and the IT department
is organized like a factory. This creates a tension between the forces of industrialization
that define the organization and the forces of post-industrialization that define
today?s marketplace. For example, our post-industrial world is becoming more decentralized
by the day. Yet many organizations believe the key to a successful service oriented
architecture ? a very decentralized system design ? is to have a central service
repository.
In this session, Harry Pierson will examine this tension, get you thinking
outside the industrial mindset and help you think about software development in
a post-industrial way
The Right Tools for the Right Job - Rocky Lhotka
It seems like building applications keeps getting harder, not easier.
The technology options to choose from keep multiplying, and each of them is billed
as the answer to everything. Should you use object-oriented concepts, service-oriented
concepts or maybe workflow? Or do you go with SOA or n-tier client/server, and is
there even a difference? The reality is that you may need to use any or even all
of these technologies. Each one is designed to solve a specific problem space, and
is a weak solution for other problem spaces. Join Rockford Lhotka in a pragmatic
discussion about when to use all the technology options at your disposal.
A Software Patterns Study: Where Do You Stand? - Dragos Manolescu
Recently Microsoft's patterns & practices group conducted a survey that indicates a significant gap between the patterns expert community and the software
practitioners attempting to use patterns and leverage pattern thinking in their daily work. As this gap widens it will lead to an irreversible divide between the
two communities, and patterns will fail to deliver their potential. In the light
of our experience of using patterns to package development guidance as well as input
from practitioners using patterns, we analyze the key causes behind this gap and
recommend a set of actions aimed at the patterns expert community. Bridging this
gap will have a dramatic effect on practitioners? understanding of patterns and
their ability to leverage them as the patterns expert community envisions..
Using Team Factories -
David Trowbridge
First generation factories provided a wizard-based, guided design experience
for an individual developer. The factory concept has now evolved to include the
entire team and the use of models to manage the complexities of application design.
In this session you will besee an overview of the capabilities of a team factory,
which include code generation, work item generation, test creation and Domain Specific
Languages (DSLs).
Web Client Guidance: Building Rich Internet Applications with
ASP.NET AJAX and the Web Client Software Factory - Michael Puleio, Chris
Tavares, & Blaine Wastell
Rich Internet Applications (RIA) are here! With their arrival comes a
whole new set of standards for web user interface experience. In the RIA world,
the traditional server-centric continual post-back model no longer keep users happy.
In the new world, it?s all about the browser experience and providing richer, more
responsive and fluid applications that look and feel more like a traditional smart-client.
Within Microsoft a number of technologies have emerged including ASP.NET AJAX, Silverlight
and SharePoint to address these concerns. For Enterprise Line-Of-Business application
developers using the Web Client Software Factory, they may be asking themselves
?Is there anything in this for me?? and ?Can I create composable, RIAs with WCSF??.
The answer is ?yes!? Come to this session to hear about the exciting work we?ve
been doing on the client team that leverages ASP.NET AJAX to provide that next generation
experience. We?ll talk about things like AJAX views, Contextual Auto complete, Client-side
validation, DI on user controls, and our new style of deliverables.
What?s New in "Rosario" Process Templates? - Alan Ridlehoover
Process is a means to an end. Without enough process, you can stray off
course. With too much process, you?ll never get anything done. Team Foundation Rosario
will contain significant changes to the familiar Agile and CMMI process templates.
In this session, Alan will demonstrate the latest bits and explain the thinking
as they were created.
"Yet Another Agile Talk on Agility" - Peter Provost & Brad Wilson
One of the best ways to learn about agile software development is by
doing it. This talk will be facilitated using an agile project management approach
to prioritize and answer questions from the audience by a panel of agile experts.
Come experience agile first hand and get your questions answered at the same time.
|