Entwickler-Ecke

Off Topic - Diskussion: Probleme von Gemeinschaftsprojekten


henni - Fr 05.08.11 12:08
Titel: Diskussion: Probleme von Gemeinschaftsprojekten
Moderiert von user profile iconMartok: Abgetrennt von [.NET] Nosomco Games - Kindersicherung [http://www.delphi-forum.de/viewtopic.php?t=98325].


Wie schon gesagt, dieses Projekt ist nicht das erste, welches in dieser Sparte aufgegeben wurde.
Vielleicht lohnt es sich, die Probleme zu identifizieren, die Schuld an diesem und an anderen Fehlschlägen waren, um es in Zukunft besser machen zu können - unter Umständen sollte auch die eventuell entstehende Diskussion in einen eigenen Thread ausgelagert werden.

Zitat:
Wie Prophezeit. ;)

Ich weiß nicht, was du tatsächlich damit gemeint hast, will aber dennoch versuchen, zu erschließen, wie du über dieses Projekt denkst:
Warum haben sie nicht gleich auf mich gehört und das Projekt aufgegeben?
Oder, selbst Schuld, wenn ich doch gesagt habe, dass sie sich übernehmen?

Ohne dich kritisieren zu wollen, Luckie, vielleicht stimmt sie sogar, vielleicht aber auch nicht - aber die Aussage "Hinzukommt, dass es zu ihr euch da wohl zu viel auf einmal vorgenommen habt" ist unbegründet und entstand wahrscheinlich aus einem Vorurteil (dazu gleich noch etwas).
Ich hätte vielleicht das gleiche gesagt, wenn nicht ich das Projekt gestartet hätte. Aber du kennst mich nicht und ich würde denjenigen auch nicht kennen! (Ohne damit zu implizieren, dass ich ein professioneller Entwickler bin, was aber nicht heißt, dass ich nicht in der Lage bin, nicht-triviale Anwendungen zu entwickeln)

Ich behaupte einfach mal, dass der Fehlschlag in diesem Falle nicht daran lag, dass das Projekt als solches zu komplex - zumindest für mich - war (in Hoffnung nicht als arrogant abgestempelt zu werden, so ist es nicht gemeint)!
Vielmehr, dass kein wirkliches Interesse bestand: Eine einzige Person hat sich gemeldet, mit der sich dann auch leider nicht auf dieser Ebene arbeiten ließ.

Die Leute, die wirklich entwickeln können, halten sich aus diesen Gemeinschaftsprojekten heraus, weil sie wissen, dass diese Projekte hier sowieso nichts werden.
Und warum werden diese Projekte sowieso nichts? Weil sich die Leute, die wirklich entwickeln können, aus diesen Gemeinschaftsprojekten heraushalten - schlimmer noch, sie gehen mit denjenigen, die das Projekt gestartet haben, so um, als wären es totale Anfänger (was sie in der Regel auch sind, weil sich alle anderen hier heraushalten - daraus entstehen Vorurteile)!

Ein Teufelskreis, der diese Sparte zum Sterben verurteilt.
Oder nur totalen Anfängern eine Möglichkeit bietet, Projekte mit anderen zu programmieren. Allerdings ist es eine schlechte Idee, Anfängern eine Team-Arbeit zuzumuten, weil dazu eine gewissen Erfahrung benötigt wird, die erst in einer Solo-Karriere gesammelt werden kann - diese Projekte sind also auch zum Scheitern verurteilt.


Eine großes Manko sehe ich deswegen in der "Qualifikation" der Teilnehmern. Luckie kann zu Recht meine Kentnisse nicht einschätzen, einige können nicht mal ihre eigenen Kentnisse beurteilen. Wenn allerdings zwei unterschiedliche Welten aufeinander treffen, kann es nur zu Konflikten kommmen.
Und dem einzigen Teilnehmer zu sagen "Du bist nicht gut genug" erweckt nicht nur den Anschein von Selbstüberheblichkeit, sondern führt auch dazu, dass das Projekt dann alleine entwickelt werden muss.
In diesem Falle hat sich der Teilnehmer einfach nicht mehr gemeldet, sodass das Projekt auf mich alleine zurückfiel.
Wie gesagt, der Prototyp exisitert, aber alleine alles auszuprogrammieren ist derart Zeitverschlingend, dass es nur in seltenen Fällen möglich ist.

@Zuck:
Zitat:
und auch Delphi helfen

Nicht unbedingt, zumal dieses Projekt in .Net entwickelt werden soll(te).

Microsofts Parental Control ist leider nur für recht primitive Szenarien gebrauchbar: Es kann in einem Zeitplan ausgewählt werden, wann ein Benutzer spielen darf, und wann nicht.
Das wars auch schon (gut, eine Alterseinschränkung gibts imho auch noch)...
Außerdem legt es seinen Schwerkpunkt auf kindersicheres browsen.


dark-destination1988 - Fr 05.08.11 12:14

Ohne dir jetzt was vorzuwerfen, aber zu behaupten das die die programmieren können, an solchen Projekten nicht mitarbeiten finde ich schwachsinn. Ich denke ich bin in der Lage zu programmieren, aber mir fehlt einfach die Zeit. In meinem Beruf bin ich bis 17 Uhr ausser haus und dann noch an einem umfangreichen projekt weiterarbeiten? Also ein bisschen Zeit zum "abschalten" brauch jeder Mensch. Ich bin jedenfalls der Meinung , dass die die programmieren können einfach keine zeit haben.


Zuck - Fr 05.08.11 17:19

Es kommt immer auf den Beruf darauf an, der ausgeübt wird. Wenn ich täglich 8h vor nem PC sitze, dann hab ich am Abend darauf auch keine Lust mehr. Bin ich allerdings handwerklich tätig, dann ist das Programmieren am Abend auch eine Abwechslung.

Und da es viele (ok zumindest einige) gibt, die zwar sehr gut Programmieren können, aber nicht in dem Zweig beruflich tätig sind, müsste es schon möglich sein, ein Team zusammenzustellen. Dazu müssen sich alle allerdings auf eine Hierarchie / Kommunikationsart / Zeitplan einigen und sich auch an diese halten.

Oft ist es denke ich so, dass das Team zu groß angelegt wird. Man sollte klein anfangen, vielleicht als 2er oder 3er-Team und dann wenn erste Milestones erreicht wurden, kann man immer noch weitere Leute ins Boot holen, die dann von den anderen angewiesen werden was für Arbeiten noch ausständig sind, in welchen Bereichen sie sich einbringen können. Ein 5er-Team, in dem alle Entscheidungen gleichwertig getroffen werden wird IMHO immer scheitern. Ein Führungsteam von 1 / 2 / 3 Programmierern ist ok, aber darüber wird selbst die Kommunikation schon anstrengender und komplizierter alle zur selben Zeit in nen Chat zu bekommen, etc.

Ich würde mich gerne in einem Gemeinschaftsprojekt beteiligen, allerdings habe ich bis jetzt noch keines gefunden, das mir zugesagt hat und gleichzeitig eine Hierarchie herrschte, die ich als möglicherweise-erfolgreich ansehe. Ich werde aber weiterhin alle Gemeinschaftsprojekt-Starts verfolgen und möglicherweise sogar mal in eines einsteigen.

Möglich wäre zum Beispiel folgendes: Jemand hat eine gute Anwendung programmiert und hat jetzt nicht mehr ganz so viel Zeit sie weiterzupflegen. Er sucht sich 1 / 2 Leute, die ihm dabei helfen. Dadurch, dass das Projekt schon steht und es schon genutzt wird, ist der Ansporn, es zu erweitern durchaus größer, als wenn man von Anfang an im Team "lebt" und erst nach einigen Monaten die erste brauchbare Version rauskommt. Hier liegt IMHO das Problem: Man will in angemessener Zeit Ergebnisse sehen und deshalb sollte jemand, der vor hat ein Team zu gründen, zumindest bis in den Alpha-Status gekommen sein. Dann kann man in nem Monat bei beta sein und in 2 Monaten möglicherweise die erste Version releasen.

Nur mal so als Beispiel: Würde man Memp (oder heißt es Nemp; egal, auf jeden Fall den Audioplayer) als Gemeinschaftsprojekt weiterführen, könnte daraus sehr bald etwas iTunes-ähnliches werden. Sicher ist es eine Menge Arbeit, aber der Grundstein - ein funktionierender und angewandter Audioplayer - stehen schon und man kann jedes noch so kleine Feature sofort live testen, was sehr motiviert.

wfg Zuck

PS: Eine Abtrennung in einen eigenen Thread wäre sicher vorteilhaft. Möglicherweise könnte einer der Admins / Mods das machen. Ich hab mir zwar überlegt, ob ich das Topic beginnen soll, allerdings sind die paar Postings vor diesem auch schon nicht mehr Nosomco-On-Topic.


Delete - Fr 05.08.11 17:54

Ich wollte damit auf keinen Fall meine Genugtuung ausdrücken, dass ich recht behalten habe. Was mich aber zu der Aussage bewogen hat, dass es scheitern wird, sind einmal die jahrelange Erfahrung als Softwareentwickler in einer Firma und zum anderem die jahrelange Erfahrung als Mitglied mehrere Delphi Communities, in denen immer mal wieder solche Projekte begonnen werden.

Um solch ein Projekt umzusetzen brauchst du Leute die voll dahinter stehen und du brauchst eine Möglichkeit sie führen zu können. Unter führen verstehe ich, das Koordinieren, Aufteilen und Organisieren der Teilprojekte (Unteraufaben). Das geht meines Erachtens nur, wenn man sich auch wirklich in der Realität sieht. Und um dann noch zusammenzuarbeiten sollte man wenn möglich sogar in einem Büro sitzen. Und wenn es nur dazu dient, dass man kommt und an seiner Aufgabe weiterarbeitet. Zu Hause ist man immer abgelenkt. Es kommt immer was dazwischen. Man sagt sich: "Das kann ich ja später noch machen." Usw. Ich glaube, du verstehst was ich meine. Ist meiner Meinung nach nicht das richtige Umfeld gegeben, fällt das ganze wieder auseinander.

Hinzukommt, dass diese Disziplin nur wirklich professionelle Entwickler besitzen. Doch diese sitzen schon acht Stunden am Tag vorm Rechnern. Die wenigsten werden dann Lust haben sich noch mal den Zwängen und dem Druck eine Hobby-Projektes auszusetzen. Bei Programmierern, die hauptberuflich etwas anderes tun, kommt das im vorherigen Absatz geschilderte Problem zum Tragen.

Deswegen sind die meisten größeren OpenSource Projekte entweder aus kleineren Projekten hervorgegangen oder es gab schon eine professionell geschaffene Codebasis.

Ich habe selber mal an solch einem Projekt gearbeitet. Es gab sogar schon eine Grundlage von jemanden anderes und wir hatten auch eine Sourceforge Seite und alles. Es ist aus oben genannten Gründen gescheitert. Zudem sehe ich das selbst bei mir in der Firma. Wie viele ambitionierte Projekte hatte da schon der Chef im Kopf und wurden angefangen? Seit ich bei dieser Firma bin (ca. 8 Jahre), sind es bestimmt drei vier gewesen. Und keins davon wurde bis zum Abschluss gebracht. Gut, hier muss man noch berücksichtigen, dass da Kundenprojekte, die Geld bringen natürlich Vorrang haben und dann auch Ressourcen abgezogen wurden.

Deswegen fange klein an. Kleines Projekt, kleines Team, nach Möglichkeit mit Freunden, aus deiner Umgebung, wo es kein Problem ist sich einmal in der Woche wirklich zusammenzusetzen.


Zuck - So 07.08.11 02:50

*push* [damit es auch in "Die letzten 10" aufscheint.


rushifell - Mo 15.08.11 11:29

Ich denke, das Problem ist ganz einfach lösbar. Im Grunde braucht man bei jedem Projekt eine treibende Kraft, d.h. einen Programmierer, der die Hauptarbeit übernimmt. Dabei sollte sich der Programmierer nicht abhängig von anderen Leuten machen. Nach dem Motto: Ich bin froh, wenn ich Unterstützung bekomme, wenn ich jedoch keine bekomme, dann mach ich's einfach selbst. Im Endeffekt hängt es dann von der einen Person ab, wie sich das Projekt entwickelt. Ich habe auch einige Projekte, bei denen ich es sinnlos finde, diese weiterzuführen. Programmieren macht zwar einerseits Spaß, andererseits sind gerade große Projekte anstrengend und zeitraubend. Das ist auch ein Grund, warum ich nur noch Anwendungen programmieren, von denen ich selbst profitiere und die ich auch selbst nutze. Wenn das Programm jemand anderem gefällt, dann freue mich und bin auch bereit, gewisse Dinge an die Bedürfnisse von anderen anzupassen, sofern diese in einem gewissen Rahmen bleiben. Wenn man das Programm für sich selbst benötigt, dann ist auch die Motivation, es weiterzuentwickeln groß genug.

Gruß


zuma - Mo 15.08.11 12:57

Also,
als hauptberuflicher Softwareentwickler möchte ich auch mal was dazu sagen, obwohl das meiste (meiner Meinung nach richtige) schon von Luckie gesagt wurde.

Software entwickeln ist nicht einfach nur programmieren. Programmieren ist ein Teil der Softwareentwicklung! Das zu begreifen, halt ich schon mal für eine unabdingbare Vorraussetzung.
Software kann man auch ganz ohne Programmierung entwickeln (UML, PAP, etc. um mal Stichworte zu nennen, zur not sogar nur mit Notepad ;)). Die Realisierung findet dann als Programmierung statt. Viele Projekte scheitern imho daran, das es zwar eine Idee und evtl. sogar ein paar niedergeschriebene Ideen gibt, aber nix wurde geplant, strukturiert oder zeitlich, personell betrachtet.
Neben den 'technischen' Anforderungen an ein Projekt (siehe vorheriger Absatz) gibt es dann auch noch den menschlichen Bereich. Wie schon angesprochen, muss Disziplin nicht nur da sein sondern auch kontrolliert werden. Wenn mehr als nur einer an einem Projekt arbeitet, kommen die sogenannten 'Softskills' zum tragen. Kritikfähigkeit, Toleranz sind nur 2 der wichtigsten Softskills.

Wie Luckie bin auch ich der Meinung, das man diese ganzen Fähigkeiten fast nur bei professionellen Softwareentwicklern findet (mag selten Ausnahmen geben). Und wenn man schon solche Fähigkeiten hat, verdient man damit lieber direkt Geld als sich mit Projekten rumzuschlagen, bei denen der finanzielle Erfolg meist fraglich ist. Und Idealisten sind ja toll, aber meist auch die Hungerleider ;)


jasocul - Mo 15.08.11 13:06

Ambitionierte Projekte sind eine tolle Sache, aber Ressourcen sind rar.
Gerade in so einem Forum wie hier, könnte man denken, dass man viele Mitstreiter finden kann. Das ist aber nicht so.

Primär ist ein Forum ein Medium für den Informationsaustausch. Jemand hat eine Frage und andere helfen bei der Beantwortung. Die Aufgabe terminiert nach eine überschaubaren Zeit.

Bei Projekten sieht ds anders aus. Da arbeiten mehrere Leute an einem komplexen Thema, dass auch nach Fertigstellung mit Nachfolgebedarf besetzt ist.
Erfahrene Programmierer kennen das Problem und lassen oft gleich die Finger davon. Anfänger würden gerne mitarbeiten, sind aber in den meisten Fällen schnell überfordert. Es ist also ein Trugschluss, dass das eine vom anderen abhängt.

Ich gehöre wohl eher zu den erfahrenen Programmierern.
Da ich beruflich viel mit IT zu tun habe, verbringe ich meine Freizeit lieber mit anderen Themen. Da bin ich sicher nicht der Einzige. Wenn man dann noch Familie hat oder gar ein Hobby, dass nicht mit IT zu tun hat, überlegt man es sich, ob man sich ein Projekt ans Bein bindet.

Zu einem größeren Projekt gehört auch immer ein Projektleiter, der plant und organisiert. Außerdem müssen die anderen Teilnehmer immer wieder mal in Gang gebracht werden. Das ist trotz moderner Medien oft nicht möglich, wenn man sich nicht regelmäßig trifft. Diskussionen gehen halt von Angesicht zu Angesicht immer noch am besten.

Auch ich hätte sicher Lust auf verschiedene Projekte. Ich habe selbst noch genug Ideen. Aber meine Familie und meine Freizeit sind mir zu wertvoll, um größere Dinge anzugehen. Und ich bin mir ziemlich sicher, dass das vielen erfahrenen / älteren Programmierern so geht.


dark-destination1988 - Mo 15.08.11 13:13

user profile iconjasocul hat folgendes geschrieben Zum zitierten Posting springen:

Auch ich hätte sicher Lust auf verschiedene Projekte. Ich habe selbst noch genug Ideen. Aber meine Familie und meine Freizeit sind mir zu wertvoll, um größere Dinge anzugehen. Und ich bin mir ziemlich sicher, dass das vielen erfahrenen / älteren Programmierern so geht.

Jo genauso meine ich das auch, wieviel leute haben burnout, weil sie nicht abschalten können und so will der programmierer daheim auch mal was anderes machen, als 16 stunden lang zu programmieren