[Typo3-dev] The Right Crew
Sander Vogels
sander at netcreators.nl
Fri Oct 28 02:25:06 CEST 2005
Kasper Skårhøj schreef:
> Hi Guys,
Hi Kasper,
>
> Thoughts kept buzzing around in my head this night and finally forced me to
> get out of bed early :-(
Dude, count your days lucky, this will be normal as soon the kids hace
arived. Tomorow 6.30 daddy has to be present! ;-)
First a short background; I'm not a developer at all, I cannnot write
one line of code. I've been in strategic product development, marketing,
customer relations and the lobbying and networking of TYPO3 now for five
years. I'm in the mrketing group of TYPO3 because I think it needs a
customer perspective in development. Personnally I find the marketing of
TYPO3 a simple task, its quiet easy to convince organisations,
companies, cities, governments and even the military to use the system.
Sure we did put lots of efford in it but still, without a large
marketing budget TYPO3 became ECMS market leader in the Netherlands
within a few years and over 100 companies make a living of it.
So how can a CMS with a core that some say isn't up to certain standards
gain this dominant position?
Thats because all these organisations look at TYPO3 as customers or
users who need a product that fits their needs on an information
perspective. The people who make the decissions are not into neet OO
code, most of the time they don't give a sh..
Functionallity of most software products always comes first in the real
world, the way its' programmed second. I can point out to all developers
here that this is why Windows became so dominant. It was user-friendly,
made a pc cheap and created a platform were developers could create
functional programms for easily. Altough the code stinks up to this very
day!
So should we have no concerns of how our code looks? Ofcourse we should
have these and ofcourse we should improve it. Yes we might even in some
future rework the complete Typocore to the desired standards. But is
this reason to great worrying at the moment? Well from a customers
perspective it isn't. TYPO3 is doing quit well what people want it to do
and we have lots of time to redesign parts of it or even the core if you
like.
This whole discussion is not new btw, it started already in the US in
the seventees ultimating in a famous essay in te Lisp community in 1984
called 'The Rise of 'Worse is Better''. You can read it here:
http://www.jwz.org/doc/worse-is-better.html
What I always have liked is the conclusion of the author;
'The lesson to be learned from this is that it is often undesirable to
go for the right thing first. It is better to get half of the right
thing available so that it spreads like a virus. Once people are hooked
on it, take the time to improve it to 90% of the right thing.'
The people of the Lisp community didn't agree and see where it got them.
I do agree a great lot with this and think that this is exactly the case
with TYPO3. We're half-way in development of the for 90% perfect thing
but in the meanwhile its spreading like a virus. And once infected
organisations using it will only benefit from our improvements.
>
> CONCERN:
> A true concern I have is this; How do we channel all the great
resources from
> the TYPO3 community into a unified effort on the development of TYPO3
which
> does not compromise the quality or impose great levels of overhead.
1. as soon as you are aware of a problem and start thinking of it,
you're already half way.
2. I ask myself or this can be done. Can you organise a large scale
coordinated efford on development of a product which already has become
so huge without overhead? And is this unified effort even neccessary or
can the chaos theory also be projected on an open-source project?
In my opinion such an efford can only be done with a tight structure
with corporate kinda hierarchy which is not wishfull on a open-source
project. Some month ago I read the study on open source projects from
Matthias Stürmer which included input from Daniel on TYPO3
(http://opensource.mit.edu/papers/sturmer.pdf)
This study again made me feel very comfortable with the open source
project I'm in. But it also made me think again on the issues of
commitment and dedication that you are refering about. My first
conclusion would be that voluntering for community work and open source
development is something that needs fresh blood all the time and you
need as much as you can get. And this email of yours is the first that
I've ever seen that points to this direction. But you talk about which
profile people shoud have while I think first you should wonder if you
and the rest of the core-team have been open for this until this very
moment. Over the years you guys have astonished me with the output you
have and I have always been amazed how you hold up to it. So it should
be fairly normal after such a long period of intense work combined with
the super large system it has become, that you extend the core team to
10 or 15 people. I think this is what is needed to stay up with the
demands within the market the next three of four years. (and who even
wants to look further then such a period?). This enlarged team should be
close cooperating with the marketing team to get the input form the
markets and so guidance to development on functionallity as much as on
clean code. (btw the team members would also have a lighter job to do)
This team should, each within its own base, communicate with the rest of
the community for input, to get a basis of agreement and to get people
helping with sidetracks like documentation and bugfixing but also the
communication to the 'outer world'.
Now comes the fun part; in theory this is what we already have planned
to do to some extend. The founding and structure of the Associotion and
its relation to the community is the beginning of this. Yes we need more
people on board, we need fresh blood, we need to listen to fresh ideas
and we really should listen to oneanother and act upon the things we
agree on. But we're already half way and that is enough for now or at
least no reason for you to get out of bed in the morning. (side-effect
is that we never get Kasper juniors this way)
For the future I have some ideas that tackle your concerns. This in
response of the rest of you email.
>
> I need your help on the answer, but to prime the ground I will tell you about
> how I see myself and evaluate my personal skills as crucial for the success
> until now. This is NOT to be seen as a defense speech for what I have done! I
> don't need to defend any of it and I'm pretty proud of TYPO3 including its
> quirks.
>
> BACKGROUND:
> As the initiator and chief developer of TYPO3 I think I possess at least three
> key criteria that were necessary for this role:
>
> 1: Vision
> 2: Pragmatism
> 3: Stamina
>
> Vision: I have been visionary about concepts that solve realworld CMS problems
> (TCA / TER / TemplaVoila / TypoScript / ImageProcessing / Workspaces etc). I
> have also been visionary about the architecture of procedural programming in
> a language like PHP although unorthodox at times and not classic OOP at all.
>
> Pragmatism: I have been willing to compromise when the degree of importance
> fell below a certain limit in order to actually release working code. I never
> believed that my code could not be improved, but I did believe that if I kept
> circling around in constant obsession with architecture I would not serve the
> overall vision.
>
> Stamina: I kept going and going and going. I realized that to be successful I
> would have to concentrate on TYPO3 at the expense of business opportunities,
> education, other interesting areas of the web and the distraction that awaits
> around every other corner in life. Many times the grass has looked greener on
> the other side, but without my discipline of commitment TYPO3 would not be
> what it is today.
>
> Now, what happens if I lacked one of these:
> - Without vision there would be no product of interest.
> - Without pragmatism the vision would be in alpha-state for eternity.
> - Without stamina we had raised a tombstone back in 2002
This are in some way the same labels management books use as the basis
of a succesfull corporation;
- a creative chaotic visionair that forsees the future and thinks of all
kinda products that can be developed
- a director that filters these ideas and brings them into real life
products
- a worker that ensures that te work is done and delivers the product to
the consumer.
So what you point out is not only the framework that is needed within
people for development of the product, it are also the main roles that
our organisation, The Association, should fulfill.
This is why its also important to involve marketeers and communicators
into the process.
I find it perfectly acceptible if most programmers ony have pragmatism
and endurance, but the vision is something that should be a joined
efford. As a programmer you need vision if you want to create new
programming language because you have to be able to forsee wat you could
do with this language. Like you have forseen that with typoscript, we
would be able to endlessly tweak TYPO3. But as soon you have the
language all kind of business professionals can be able to envision a
great product.
>
>
> THE RIGHT CREW:
> Does every member of our future TYPO3 crew need all of these skills?
>
> Vision: Not everyone needs to be visionary, in fact only a few might be
> preferable. I don't think visions are our problem. Maybe it could be a
> problem to agree on which visions to follow. Yet, a more serious problem is
> how the visions of functionality and code architecture can be adopted by
> those who are going to implement it (if we assume they are not necessarily
> the same as the visionaries)?
>
> Pragmatism: One a continuum from visionary-coder-releasemanager the visionary
> could do with almost not pragmatism, the coders would have to live with a
> mixture and release managers must be very pragmatic. The interesting focus is
> the coders in the middle, because their responsibility is to make sure things
> are working today and tomorrow but in the long term pay attention to the
> visionaries direction. How can this be implemented in a way that doesn't
> break backwards compatibility between each release and at the same time is
> inspiring to coders?
>
> Stamina: This one is - unfortunately - necessary for every link in the chain.
> To build anything as teamwork it is critical that every team member can be
> trusted to carry his part to the end. The unfortunate thing is that most
> people involved in volunteer work think that they can feel less committed to
> the cause because they are not paid and usually prioritize their paid work
> and opporties higher assuming that everybody will understand. Maybe others
> will understand but it just doesn't solve be huge problem it creates: When
> people are constantly running in and out of volunteer commitments it
> generates huge amounts of wasted overhead in the form of training, social
> investment etc. in the team! The impact on the volunteer context is even
> worse than for a company because a company could pay someone to deal with
> such overhead while in the volunteer context it is OTHER volunteers who waste
> their time on training a new volunteer that just disappears a few days, weeks
> or months after.
> To make matters even worse for our online community it has been the general
> experience that people slip out even easier because they don't risk to face
> their abandoned team bodies in the local supermarket.
With the last point I dont agree. Yes its true that people run out of it
all the time. But the tendency in your words is that this is because
they don't have the stamina for the job were I think that you might
wonder if the attitude of the core-group has been very open for these
people. One should always start to look if you can improve yourself
since you have more control over this then over others.
Another thing is that on a certain level there was a complete lack of
direction within the project or some sub-projects. This is not
somebodies fault, this is just a growth problem of a product thats
maturing big time and we should tackle this problem.
So we should not start loking how the right crew can be formed but first
how we create an environment where people thrive and florish. This
environment will be the perfect soil were we grow our talents and
organise it further into a great product (that's 90% perfect :-))
So I fiercly applaud on your current efford to open-up to the community
this way. We're gaining another 10% at least towards improvement. The
structure has started and the discussion is open, this makes me very
happy indeed.
I also think that a list thread is not the ideal instrument for a
discussion like this so maybe we can have a session or two during the
next snowboard tour?
>
>
> How, people. I'm sure you all have great intensions and plans for version 5 of
> TYPO3 and I'm all excited about discussing them. But how on Earth can we make
> sure that such a discussion is not just another play with verbal buzz-muscles
> that wastes time that could have been fruitfully used on practical coding?
>
> How can we make sure there is a crew to make it happen at all?
Conclusion: better direction, better structure, more openess and room
for creative and wild ideas, brainstorms and last but not least;
changing of roles.
I'm a very frontfighter of chanching roles lot of the times, for example
to let membership of the Associations' board and General Assembly
roulate every two years or so. Not just for democratic reasons but also
because voluntering is something you cannot do all the time, you have to
spend some time to build you own life and come back again. You can still
contribute but in a well organised structure others can take over part
of your job sometimes so you can refill your energy. For the rest leave
the management, marketingcommunication and back-office to people who
enjoy doing that and we're set!
Well, how was that for a starters? :-)
I'm sorry but I won't be able to response on replies before after the
weekend since I'm off to the German marketing meeting.
Ciao,
Sander Vogels
More information about the TYPO3-dev
mailing list