[dev] Horde 4 kickoff - dev prozess

Thomas Koch thomas at koch.ro
Tue Oct 21 15:49:08 UTC 2008


Hi,

thx Chuck, for clarification on the GIT layout. Maybe I may start
another related topic and propose a development process:

1. Present the Idea
2. Write Requirements Document
3. Write Design Specifications
4. Implementation <-> (Unit) Testing
5. Review
6. Release

I stress this, because I think many projects suffer from the fact that
coding is much more fun then planing.

Because this development process is very strict, I think it makes sense
to see horde development separated in two parts:

1. The underlying libraries
2. The application build on top of the libraries

Libraries:
- e.g. ical, vcard handling, webdav, data structures, VFS, text
  processing
- more easily testable with Unit Testing since no user interaction
- higher requirements for accuracy, errors are harder to see/find
- greater reusability for other projects

Applications
- user interaction, harder to test
- errors (more) directly visible
- harder to Unit Test
- more likely to be customized for different installations
- not much reusability for other projects
- high demand on feature sugar

I think it makes sense, to be a little bit more relaxed for the
development process of applications and very strict with libraries. And
to make it easy to separate these things, it makes sense to pack them in
two different repositories. Checking out two or three repos to work on
horde is not much an issue.
On the other hand it would be an issue for other projects using the
horde libraries to checkout all applications too.
It is also a helper to seperate the Presentation from the logic when you
see them as two different projects.

My vision is, that somebody who wants to program a ticket reservation
system and needs a library to handle a calendar, can come to horde and
use the calendaring library.

Best regards,
-- 
Thomas Koch, Software Developer
http://www.koch.ro

Young Media Concepts GmbH
Sonnenstr. 4
CH-8280 Kreuzlingen
Switzerland

Tel    +41 (0)71 / 508 24 86
Fax    +41 (0)71 / 560 53 89
Mobile +49 (0)170 / 753 89 16
Web    www.ymc.ch


More information about the dev mailing list