Tuesday, October 23, 2007

Leaving Zend

I've worked at Zend for the past 13 months, heading up an open source project called the Zend Framework. Zend Framework is a library of PHP 5 classes providing simple, object-oriented solutions for most features common to modern web applications. I was the project manager as well as developing a lot of code, tests and documentation, and engineering the product releases through its 1.0 release.

When I joined Zend in September 2006, that project had made a few "Preview Releases", but it was losing momentum. My assignment was to organize the project, finish development of the 50+ components in the library, make regular beta releases to demonstrate progress, and to move the product to a general 1.0 release as rapidly as possible.

To achieve this goal, I knew we had to manage the scope of the project carefully. There's always tension between CSSQ (Cost, Scope, Schedule, and Quality) in any project. The project already had bare-bones cost, we had high standards for quality (who doesn't?), and Zend placed a very high priority on making a general 1.0 release as soon as possible. So the only thing remaining to control was the scope.

We were blessed with an enthusiastic user community, but this meant that we had dozens of people submitting feature requests and proposals for new components every week. Though the ideas were genuinely very attractive, there was simply no way to add them to the project scope without causing consequences to the schedule or quality of the project. And there were some features that we wish we had time to do before we had to reach that 1.0 milestone.

Some members of the user community voiced objections to the emphasis on schedule over feature-set. I hope they understand that we were following the priorities of Zend, who is after all the sponsor of the project.

We released Zend Framework 1.0 on June 30, 2007, and followed it with a couple of bug-fix releases in July and September. Zend Framework is accelerating in popularity, with over 2.3 million downloads to date. I feel proud to have contributed to a successful web application component library. It's very satisfying to see so many people using code I worked on, making their own projects more successful.

I was honored to work with a great team of software developers. I learned a lot from Darby, Matthew, and Alexander as we worked together, about technical subjects, productivity, and teamwork. Those guys were great to work with, and I hope to work with them again someday. There are a lot of other fine people at Zend and in the Zend Framework developer community, but I worked most closely with those three.

I completed my assignment at Zend successfully. But Zend and I were unable to define a next objective for me. That usually means it's time to declare victory and move on, so I gave notice and I finished working there last week.

During the time I was on the project, the Zend Framework increased by:

  • 104,000 lines of PHP code in its core library;

  • 100,000 lines of PHP code in its unit tests;

  • 3,945 unit test functions (overall code coverage from tests is 84%);

  • 40,000 lines of documentation;

  • 200 new community contributors.


Lars Strojny said...

Thanks for the work you did on the Zend Framework!

Matthew said...

Hi Bill,

I haven't been following the list very closely lately because I've been very busy, but I just read this and wanted to say thank you for your contributions to the framework. You did a great job getting Zend Framework to 1.0. Best of luck!

Matthew Ratzloff

Andries said...

Hi Bill! Thank you for all your effords to the Zend Framework. Your work has been an inspiration to me! I wish you the best of luck in your career!

phpua said...

why have you gone with the project as think whether there is ZF future, and whether further your work actually with php5, and if you can not skormny matter how many years you?

Justin said...

Thanks for answering so many questions. You were always helpful, which really made me want to use the Zend Framework.

wojtek said...

Thanks and good luck Bill :-)