Java Productivity Primer

English full version

October 2008

Java Productivity Primer

Twelve guidelines to boost your productivity with a software factory

Development teams want Java to help them achieve better productivity. This paper provides a set of guidelines to help you be more productive with Java when developing enterprise applications. It includes a quick introduction to modern development principles and guides you through the fundamentals of organizing your activities around a productive software factory, i.e. a set of tools that automates repetitive tasks and helps implement an efficient development workflow.

About Java Productivity Primer

It can be challenging to adopt new architectural patterns (e.g. Web-based applications) and develop enterprise-grade software using the ever-evolving Java platform. The Java ecosystem itself, whose great vivacity comes at the price of great complexity, is often baffling for newcomers to the platform. Some are accustomed to the productivity provided by classic client/server development environments like PowerBuilder or VB, and have a hard time figuring out how to attain, let alone surpass, this level of productivity in Java.

So, you want to get productive with Java?

Clearly, the challenge of productivity, widely acknowledged by Java users and vendors, is one of the most worked-on issues in the Java community. For instance, productivity is the primary focus of the new Java Enterprise Edition (JEE 5 [1]) effort led by SUN and has led to large-scale changes being made to the Java language itself, starting with Java 5 [2], and the adoption of better programming models coming from the lightweight containers movement. Still, Java enterprise development continues to be a substantial undertaking and presents many hidden traps and dead ends.

Organizations often have legacy systems, integrated in a number of different ways, and many data flows and repositories of various levels of quality; all forming layers and layers of software that we need to interact with in our Java projects.

Faced with these challenges, the Java development community is adopting productivity-enhancing practices, combining efficient, agile development tools and processes into what are called software factories. This document will introduce you to these forms of development. It is structured along twelve practical guidelines sprinkled with easy-to-use advice.

Contents and Extracts

About the Authors

The authors, a team of software architects at OCTO Technology, are responsible for designing and supporting such a software factory inside a large financial institution. This paper is the fruit of our hands-on experience, the lessons we have learned in our quest for productivity and feedback from the OCTO software architect community.

© 2008 OCTO Technology