Are You Certifiably Agile?



January 01, 2004
URL:http://www.drdobbs.com/architecture-and-design/are-you-certifiably-agile/184415083

Are You Certifiably Agile?

Software Development


Worried about losing your job to an offshore outsourcer? Do you work for an outsourcer and want to become more competitive? Simply want to become the most effective developer you can be? Luckily, it’s New Year’s resolution time here at Software Development, and once again I’d like to provide some words of wisdom about how you can become a better developer.
There are three fundamental strategies for perfecting your skills. In previous columns, I’ve already outlined the first two: becoming a generalizing specialist and growing more flexible. This month, I focus on the third: earning certification in your chosen specialties.

In the IT community, certification takes on many forms, from technology-specific certification to certification in higher-level skills such as modeling and project management. Although it’s by no means comprehensive, “Certification Defined” lists some of the common types of certification that you can obtain. The important points? There’s a wide range of certification programs, and no single program dominates the landscape.

Why Even Bother?

Why get certified? First and foremost, certification looks good on a résumé. Everything else being equal, most employers would sooner hire certified Java programmers, because certification shows they’ve taken the time to learn the fundamentals and are serious about their career. For those of you entering the software development profession, certification helps you to get your foot in the door in the same way that a college or university degree does. In fact, some organizations prefer people with industry certification to those with university degrees, specifically because certification is typically more focused and up-to-date.

Second, by preparing for certification, you’ll actually learn something about the subject. Many people debate the value of some of the issues tested—How important is it to know the exact syntax of an esoteric part of the Java spec?—but the fact remains that to pass the test, you must have at least basic mastery of the subject.

Third, if you’re among the initial group of certified developers in any given subject, you can reap large (albeit short-term) rewards, because you’re at the leading edge of a hot new trend. For example, a couple of years ago, it was quite common for certified Oracle database administrators (DBAs) to command double or sometimes even triple the salaries of noncertified DBAs.

Fourth, certification programs help to “raise the skills bar” in the industry. These days, it’s difficult to gain employment as an Oracle DBA without certification. Yes, this is probably a reflection of the current economic times, but I suspect that we’ve seen a fundamental shift toward requiring certification in the database community at large—this doesn’t seem limited to Oracle. I’m also seeing similar trends within the Java and Microsoft communities, as well.

The Down Side

Nothing is perfect, including certification. Although it indicates a certain degree of proficiency, certification doesn’t guarantee competence in the real world. Certification also promotes specialization, something that I believe isn’t in your best interest. If you invest the time to become certified in a specific subject, you’ll probably decide to focus your career on that specialty. For example, people who get their Project Management Institute (PMI) certification typically decide to focus on being project managers—they seldom roll up their sleeves to write some code or deploy the system. Remember, the wider your range of skills, the more effective and employable you are.

Similarly, certification in technology promotes vendor lock-in. For example, anyone certified in Sybase is unlikely to be willing to switch over to Oracle, and vice versa. This is a particularly dangerous problem for technologies that are losing market share—you may not jump to a new technology because you have so much invested in the technology in which you’re certified.

Agile Certification

Does it make sense to certify people in agile development techniques? One has only to look at the popularity of programming language and database administration (DBA) certification to see there is clearly a demand. Although many agile practitioners may cringe at the thought, demand for agile certification will probably grow as agile approaches become more commonplace. Companies will want to ease the hiring process by requiring that employees are certified in given techniques; developers will want to distinguish themselves from the rest of the pack through agile certification. Now is the time for agile practitioners to start thinking about certification.

Though it may seem oxymoronic, there is growing evidence that agile certification is viable. For example, Scrum certification efforts are gaining traction in the project management community, perhaps because that culture is pro-certification due to PMI efforts. Scrum certification presents an interesting juxtaposition to PMI certification—where the PMI focuses on classroom training, self-study and eventual testing, Scrum certification is based more on initial classroom training using case studies and scenario discussions followed by an apprenticeship period. These two approaches to certification reflect the mindset of the underlying material.

What about certifying people in other agile techniques? Can we certify someone in Extreme Programming (XP) or Agile Modeling (AM), or in individual techniques such as pair programming, refactoring, test-first development or database refactoring? It seems a reasonable possibility, although it would clearly require some serious thought. I welcome any feedback that you may have.

I believe that certification is an important part of the overall picture, and that it’s something that every developer should consider. However, certification possesses significant potential to become more of a hindrance than a help. To keep certification effective, you must remember that an employee’s value is measured by what he does, not by the number of certificates or diplomas he’s posted on the wall. Certification is just a start—not a destination.

Certification Defined
  • Database Administration (DBA) (for example, Oracle , Sybase, MySql …). Provides DBAs with the detailed knowledge they need to administer and tune databases. Unfortunately, these programs don’t teach agile database techniques, critical skills required by all modern DBAs.

  • Institute for Certification of Computing Professionals (ICCP). A good start at true developer certification because it covers a very wide range of skills. Unfortunately, the ICCP appears to remain focused on traditional development methods.

  • Project Management Institute (PMI). Promotes appreciation of project management’s importance and ensures comprehension of traditional management techniques. Unfortunately, also promotes bureaucratic processes as opposed to simpler, cooperative and collaborative techniques. PMI-certified managers often don’t fit with agile development teams, but this may change over time, particularly if the PMI starts to adopt project management practices from Scrum.

  • Programming (for example, Java, C# or Visual Basic …). A good start for programmers, ensuring understanding of language syntax. Unfortunately, this type of certification often focuses on language details rather than the wider picture that includes modeling, testing and so on.

  • Scrum. This appears to be the agile community’s answer to PMI certification. It gives project managers/coaches the skills they need to succeed on agile teams, but its validity may be suspect because the program is based on a coaching and mentoring approach instead of traditional certification tests’ multiple-guess format.

  • Unified Modeling Language (UML). Promotes the importance of modeling. Unfortunately, UML isn’t sufficient for real-world development, so being certified in it is at best a start. UML certification may reinforce the false belief that you need only to learn UML to be an effective modeler.


Scott Ambler is a senior consultant with Ronin International Inc. His latest book is Agile Database Techniques from Wiley Publishing.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.