Software Engineering Paper: "Lessons learned developing the Nuxeo EP open source, component-based, ECM platform"


You can't create great software without both a vision and discipline. Specially when it's open source software.

This is the reason why I accepted the invitation to write (with some of my colleagues) and present a paper at the ICSSEA 2010 conference this week in Paris.

As we wrote in the abstract:

This paper presents the main original business-driven goals for the project, their impact on the functional and technical requirement for the platform and its architecture, and the solutions that were devised to address them. It reflects upon the benefits and challenges of developing the project both based on open source libraries and frameworks, and itself in an open source fashion. We found that existing open source Java frameworks, libraries and tools provide sufficient building blocks for enterprise software, as long as a proper architecture and development process are set in place to address the software quality needs of this kind of project.

And in the conclusion:

The Nuxeo EP project has succeeded in creating the foundation for a rich range of vertical and horizontal applications, in meeting its other initial business goals, and in evolving according to unforeseen business and technical needs that have emerged since its inception, thanks in great part to the efforts that have been spent on the design and development of its modular and extensible architecture.

Read the full paper (PDF, 11 pages) to learn some of the key decisions that led us to where we stand today.

Download the paper.

See also the keynote I gave two years ago at the Nuxeo DevDay conference, which addresses some of the same issues, and was called: The Nuxeo Way: leveraging open source to build a world-class ECM platform.