Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Architecture
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
Bing
BizTalk
Book Excerpts
Build and Deploy
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Design Patterns
Development Process
Display Technologies
Distributed Computing
DotNetNuke
DSL
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
Internet Explorer 8.0
Interviews
iPhone
Iron Ruby
Java
Java Script
jQuery
LINQ
Linux
Mac OS X
MDX
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
Network
NHibernate
Object Oriented Development
Odata
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Python
Q&A
Rails
Rake
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Search
Security
Services
SharePoint
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
Tips
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WF
Whitepapers
Windows 7
Windows Azure
Windows Live
Windows Server
Windows Vista
WinForms
Workflow
WPF
XAML
XML
XNA
XSLT



CODE Training


 


QCon

Reader rating:
Click here to read 1 comment about this article.
Article source: CoDe (2009 Jan/Feb)

Roundtables vs. Lunch Counters


Rod Paddock

I have a strange pet peeve. I hate rectangular tables. It’s a strange pet peeve but its mine and I stick by it. I hate rectangular tables because they don’t scale conversations for groups of people greater than about six people. I became aware of just how much I hate rectangular tables last week. I was at QCON in San Francisco and went to dinner with some friends at a great seafood restaurant. Our dinner party had dour people and because there were no tables available, we had to sit at the bar, which had four empty seats side by side. We had a great dinner and some good conversations. But we basically had two conversations of two people. I would have preferred to have one conversation with all four people involved. I cemented my hatred further two days later at another dinner with another rectangular table. We had a larger group (12+ people) this time. The people in the middle had a better communication situation. A larger conversation “cluster” formed in the center with smaller satellites of communication for the “edge” people.

Flash back two weeks earlier to the Kaizen Conf (Continuous Improvement in Software Development Conference, http://kaizenconf.com). Kaizen Conf is a conference centered on concepts of continuous improvement, agile and lean software development practices. Most of the sessions I attended were large groups (some 50+) sitting in large circles having healthy and involved discussions on some healthy topics. In this sort of structure, everyone can see and hear everyone else. Communication is more fluid and minimizes the “clustering” effect. In addition, the round table structure promotes a channel balancing effect. No channel is more important or larger than another. There is no “head” of the circle.

I find a lot of similarity in software development practices today. Classic waterfall development is what I call lunch counter development. Communications happen in differing stages along the lunch counter with the bulk of quality communication happening in the middle. The edge people are generally left out of the main communication and never have their concerns really addressed. Just think of your customer sitting at one end of the table trying to communicate their needs to the other end of the table.

Now consider agile/lean and RAD (iterative) software development practice, which I see as round table development. It promotes a different value system. Agile/Lean/RAD development values communication between all stakeholders at all stages of the development process. Every stakeholder has a seat at the table. The cornerstone of these practices is the active communication between all constituents at all times. Stand up meetings, iteration planning meetings, retrospectives. All of these (and many more) practices relate to facilitating communications between project stakeholders.

The more I develop software using round table (agile/lean) methodologies and practices, the more I find the lunch counter development (waterfall) detestable. Software development practices that emphasize and promote communicating down lunch counters are destined to disappoint and generally leave bad tastes in stakeholder’s mouths. Users aren’t the only ones disappointed. All stakeholders are disappointed. How many developers do you know that don’t really care about their end users or the quality of their software? I take it personally when my software doesn’t work, doesn’t deliver its expected value or frustrates my end users who I truly care about. I bet you feel the same way. Let’s not forget that it’s not just you or the end user that feel the effects of the software development process. Along with end users and developers; project managers, managers, executives and customers all feel the true quality of the software process.

Stories differ, but legend says King Arthur created his round table to emphasize equal status among all that had a seat. The most important aspect of any software development process is the communication of requirements. Does your company communicate down a lunch counter or do they sit at a round table?

In other news, CoDe Magazine now has a companion podcast called"CodeCast" hosted by Ken Levy, Markus Egger (the Publisher of CoDeMagazine), and Gary Short. CodeCast focuses on .NET developer topics andfeatures many of the "usual suspects" you have come to know as CoDeMagazine authors. I plan to make a number of appearances and be a semi-regular on the show myself. Subscribe to CodeCast (free of charge,of course) on codemag.com/codecast.


How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
3 out of 5

2 people have rated this article.

      Virtual Brown Bag Lunches

 

DevReach