Thursday, July 16, 2009

Graduation or Maturity?

This question has been puzzling me for a long time now, but maybe there is no difference at all between graduation and maturity in a lifecycle of a project?

The basic definition of a "mature project" is a project that has been in use for long enough that most of its initial faults and inherent problems have been removed or reduced by further development. On the other hand, I couldn't find consensus about the graduation step of projects. I'll take two examples from two different worlds - Java/Eclipse and PHP. As described in the proposal lifecycle of Zend Framework after a project has been recommended, the promotion step includes confirmation of unit tests and documentation in its way to graduation. It seems that the Eclipse Foundation set a few clear criteria for graduation that include adhering active community, fully operational project, and a technical review of the architecture. These two processes are so different but still I start to get a notion that graduation is not about passing criteria but only a phase that a project becomes aware of itself, and most important thing graduation is only the first step toward maturity.

Projects that pass their graduation process although have not seen widespread use yet, enjoy a core user base, are more flexible and still cannot be extensible in an easy way. Fully mature projects are projects that enjoy the publicity in a larger community and probably less flexible since many adopters already extend the previously defined API.

Anyway, the most important (and fun!) period in the lifecycle of a project is when it is graduated and starts to get all dots connected till its final maturity. This is exactly where Eclipse PDT project in, and we see more and more people that ask to extend its core capabilities.

Tuesday, July 07, 2009

Latest News from PHP/Zend Tooling World!

The first half of the year (2009) is over and the Web world got new, structured techniques for rich Web application development tools in Zend Server and Zend Studio 7.0 based on the latest Eclipse PDT project (2.1) with features such as Server integration, smart code analysis for dynamic languages, refactoring tools and more.

Instead of writing blocks of texts describing these new exciting features I want to share with you a few screen casts created by Zend (thanks Yossi L.!) that demonstrate the new capabilities provided to Web developers who work with php as their main server side engine. If you want me to elaborate on specific screen cast comment out or let me know, I promise to add details in another post.

Enjoy ;)

Jump Starting Web Application Development Using Zend Studio & Server Integration

Code Navigation

Code Analysis and Auto-fix

PHP 5.3 Development

PHP Code Refactoring

RAD Tools

Root Cause Analysis