Hi all,

My proposal comes from my personal observations so far. I believe currently
the 'customer' of the Ofbiz Project should be the developer, not the end
user. I say this because of the following reasons:

1. There is no SaaS offering for Ofbiz. That means, if you are an end user,
you will not be able to use Ofbiz if you don't know how to install it.
2. If there are some bugs or minor modifications needed in Ofbiz to make it
work for the specific case of the company that is using it, there is still
a need for a developer to make the changes.
3. You will most definitely need support as an end user.

For these reasons I believe the end user will actually benefit most from
Ofbiz when there is a company that supplies Ofbiz as a service, as is the
case for example with Hot Wax Systems.

In this regard I believe the Ofbiz Project itself should focus on the
developer as it's main 'customer', or user, and use this information when
there is a need to make decisions.

If the project would decide to move towards a more developer friendly
approach, then I have the following improvements/practices to propose:

1. Simplicity: Focus on simple code, avoiding unnecessary complexity.
- This could translate as taking a service implementation and breaking it
up in several classes, or methods, each with it's own scope and objective.
This would make unit testing a specific component feasible. As an example
the createOrder method from the OrderServices has 970 lines. Those could be
split up in multiple classes and methods.
2. Feedback: Continuous feedback from the system. Are tests run after each
commit? Is there a place where we can see the test results, so we can find
out if our commit(or PR) broke something?
3. Test-Driven Development (TDD): Writing tests before the actual code to
ensure that it meets the required functionality.
- In the current state it is quite hard to write unit tests. Splitting up
services into smaller classes that can be mocked would make the code a lot
easier to test.
4. Refactoring: Encourage refactoring.
- This of course assumes that there are proper tests in place. Also in
order to encourage refactoring I propose to add another item to the OFBiz
commit message template: 'Refactored', to aid the committers when reviewing
a PR, and to encourage developers to refactor code.

Feedback or other proposals are welcomed.

-- 
Groza Dănuț

Reply via email to