How about writing some more unit tests? Are you willing to help?
The engineering techniques are useful, but sometimes we just don't have that bit of time.
For people who are not full time developers, it's hard to apply these industrial standards sometimes.
Things are not as easy as it looks like. For example, I found it very difficult to do proper 
unit testing for GUI applications which require many user interactions.

If you're willing to help, I'd suggest that you add unit testing to LXDE projects as you see fit.
You can git clone them and put them somewhere like on github, and add your test cases.
Later, we can pull your changes from them. This will really help a lot.

About the process you mentitoned:
1. requirement gathering: we always do that.
2. design and modeling: we always do that as well, but it's not documented and there is no UML stuff.
3. implementation: we of course always to that.
4. test: this is the area that lacks something. We don't have good unit testings. (pcmanfm/libfm has some primitive unit tests already, but they are poor)

Software engineering is not a golden rule. It's just a good method derived from experience of prior successful and failed projects.
Many people already do these things unconsciously everyday, but they don't know that it's called "software engineering".
Thanks for the suggestions.

On Fri, Dec 30, 2011 at 12:05 PM, Alexis Lopez Zubieta <> wrote:
Thanks for your advice Tim Bernhard, I know that the real world is quite diferent from what the books and the teacher says. But I think that a bit of organization could help a lot to the lxde project and to other open source projects.

Most of the open source projects are developed by comunities in close colaboration and exchange. Becoming this a root factor of the development process, projects without organization tend to by slow and hard to assimilate. As a newcomer to this world I found hard the task to understand and assimilate the existent code. So in my opinion the use of software engineering  techniques could help to improve our productivity and the quality of the sotfware that is built. The simple aplication of a entire software development process (requirements gathering, desing and modeling, implementation, test) can improve the resulting software. The right application of theese techniques could mean also that we will save time in understanding and reusing the software created by others.

So I bring to you (project leaders, developers, the whole comunity) the proposal of spend a bit of time in not just commenting more our code but also follow theese basic engineering steps to create a better software for every body. Specialy I ask to the LXDE comunity to use it in the development of the new versions of the lxdepanel, pcmanfm, and other applications that will be built now on.


University of Informatic Sciences (UCI)
Nova Light Development Team
Alexis López Zubieta