FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Architecture & Design
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
TABLE OF CONTENTS
May 16, 2006

Where Did All the Positions Go?

(Page 2 of 2)

Where Do I Fit In?

On agile teams we have roles such as stakeholder, developer, and coach instead of stakeholder, business analyst, architect, designer, programmer, tester, project manager, quality assurance expert, database administrator (DBA), and so on. The result is that it can be difficult for traditionalists to see where they fit into an agile project. Agile teams don't need someone who is just a DBA, but they do need someone with good database skills who can also model, program, test, and so on.

Table 1 presents strategies for traditional IT professionals to transition to agile software development teams. First, traditionalists must change their mindset (see "The New Rules" sidebar) and approach the situation with an open mind. Second, traditionalists should leverage their existing skills, which are still incredibly valuable, while learning new skills from their teammates. Table 1 also suggests a few activities that each traditional role should consider starting with as they ease into agile ways of working as well as activities and/or ideas that will hamper your ability to fit into an agile team.

Traditionalists often bring valuable skills to the table, and that's a great start, but you need to be willing to stretch your skill set in new directions if you're going to be a valued team member. A traditional DBA might have phenomenal database skills, but because agile developers iterate back and forth between development tasks, we might only need database skills for a few hours each week. It isn't sufficient to be a specialist any more. You can gain the new skills that you require by working closely with others who have those skills. Luckily, close collaboration is a fundamental value of agile software development.

The New Rules

To be successful as an agile developer, you must:

  • Focus on building working software. Upon hearing the detailed description of a requirement you should have working, tested software in place within hours or at most days, not weeks or months.
  • Maximize collaboration. Agilists rarely work alone; instead, they follow collaborative practices such as pair programming, modeling with others, and active stakeholder participation.
  • Become a generalizing specialist. Agilists have one or more specialties, a general understanding of software development, and better yet, a good understanding of the domain in which they work.
  • Minimize hand-offs. A hand-off between people or groups is a barrier to communication where defects will be injected and wastage introduced.
  • Constantly improve your skill set. Recently on the Agile Modeling list, Jon Kern, one of the original 17 signers of the Agile Manifesto, had this to say: "One of the hardest things people struggle with regarding "goin' agile" is that you have to 1) have a brain and 2) be willing to use it on a regular basis."

Previous Page | 1 Where Did All the Positions Go? | 2 Where Do I Fit In?
RELATED ARTICLES
No Related Articles
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK