| By Ravi Kumar | Article Rating: |
|
| September 2, 2008 07:40 AM EDT | Reads: |
6,559 |
What's the key to team and individual developer productivity in maintaining and extending a large application? Let's start by making the following assertions:
- A developer's knowledge of an application code base is likely the single biggest factor of individual productivity.
- Correspondingly, the team's collective knowledge of an application code base is the single biggest factor of team productivity.
Reflecting on it a bit, it doesn't take a rocket scientist to test the validity of these statements. Any real-world, modestly capable application runs to tens of thousands of lines of code, has more than a handful of developers, and is developed over months if not years.
Pondering the reasons for a team's productivity or lack thereof, you will likely come up with a number of answers: knowledge of the APIs, libraries, frameworks, and programming language; knowledge of the application domain, effective tools, development processes, continuous builds, unit tests, and so on.
But, over and above all of this, individual productivity is directly proportional to knowledge of the code base and the team's productivity is directly proportional to the team's collective knowledge of the code base.
Productivity's dependence on code base knowledge grows rapidly as the code base grows larger, teams become bigger, and the code ages.
The collective knowledge of the code base is a critical factor, and hence should be considered a critical asset.
Today, a team's "collective knowledge" is not really collective because critical pieces of information may reside with only one or two individuals for a specific feature area. Today's productivity concerns are due to the pain involved in individuals needing to come up to speed on some part of the application where there is limited understanding. Even modest employee turnover can open up critical gaps and affect the team's ability to maintain or extend an application. In this sense, lower productivity means more than just taking an extra day or two to complete a task.
The Application Factories' vision addresses this missing link in the development productivity tool chain.
Published September 2, 2008 Reads 6,559
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Ravi Kumar
Ravi Kumar is principal architect in the Java tools group at Embarcadero Technologies and is responsible for the vision and architecture of Eclipse-based JBuilder product line. He is the driving force behind many key innovations. Of late, he has set forth to offer a compelling new vision of software architecture and development called Application Factories. In addition to his role as the architect, Ravi specializes in SOA, Web Services and Database tooling.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?




















