jackychen
Goto Top

Kostenvoranschlag für Kompilierung Job

Hallo Leute! Ich habe gestern einen Job Angebot bekommen, zwar ich soll die Source-Code von einer bestehenden Java Webanwendung, nach einer leichten Überarbeitung, wieder kompilieren. Die Anwendung läuft auf Apache+Tomcat.
Nun der Auftraggeber fragt mich wo die Kosten wohl liegen werden. Ich habe aber keine ahnung! Vielleicht jemand von euch könnt mir eine Richtung geben?

Vielen Dank im Voraus!

Content-Key: 145162

Url: https://administrator.de/contentid/145162

Printed on: April 23, 2024 at 13:04 o'clock

Member: filippg
filippg Jun 18, 2010 at 18:13:58 (UTC)
Goto Top
Na, ich sach mal: 517,63.
Wer bietet mehr?
Member: wiesi200
wiesi200 Jun 18, 2010 at 18:18:30 (UTC)
Goto Top
Einfach Arbeitszeit * Stundenlohn (+ Abzüge ala Steuer) und du hast deinen Preis.
Member: jackychen
jackychen Jun 18, 2010 at 18:24:07 (UTC)
Goto Top
Danke für die schnelle Antwort!

Ich habe zwar solche Anwendung im Studium programmiert, aber NUR kompilieren habe ich noch nicht gemacht. Ist das
eigentlich aufwendig? Ich meine da man die Struktur erst kennenlernen muss und so. Als ich programmiert habe, habe ich
alles im Eclipse+Tomcat, mache einfach run as web application, dann war schon kompiliert. Das hier ist doch nicht anders oder?
Und der Preis hast du dann mit Stundensatz x Zeitaufwand ausgerechnet? Wo liegen die Zahlen denn so? Der Auftraggeber
meinte, er wird sicher nach erster Kompilierung noch Fehler haben und ggf. nachmal kompilieren lassen muss. Ist das gut
für mich oder schlecht? :D
Member: jackychen
jackychen Jun 18, 2010 at 18:31:11 (UTC)
Goto Top
Das ganze soll als eine kurzfristige Beschäftigung abgewickelt werden, ich bin noch ein Student.
Was stellt euch mit dem Zeitaufwand vor? Und welcher Stundenzatz soll man so dafür nehmen?
Denn ich muss dem Auftraggeber schon sagen können, welchen Stundensatz ich erwarte, und
wieviele Arbeitsstunde es voraussichtlich sein wird.
Member: dog
dog Jun 18, 2010 at 18:55:41 (UTC)
Goto Top
Als ich programmiert habe, habe ich alles im Eclipse+Tomcat, mache einfach run as web application, dann war schon kompiliert. Das hier ist doch nicht anders oder?

Ich habe (zum Glück) keine Ahnung von Java, aber ich würde mir denken, dass jetzt ein Java-Guru eine Herde Elefanten durch dein Wohnzimmer schicken will.
Sauberes, portables und performantes kompilieren ist eine Sache für sich...
Member: maretz
maretz Jun 18, 2010 at 19:14:24 (UTC)
Goto Top
Moin,

ich finde das faszinierend. Du sagst einfach mal nix über die Aufgabe aber möchtest ne Kosteneinschätzung.

Nur mal zum überlegen:
- Ist es nen "Hallo-Welt-Programm" bei dem der Aufruf des Compilers länger als das übersetzen dauert - oder ist das nen komplexes Programm wie z.B. KDE bei dem das Übersetzen einige Stunden dauern kann?

- Muss es einfach nur übersetzt werden - oder muss es für bestimmte Dinge optimiert werden?

- Ist das Programm ein Hallo-Welt-Programm bei dem ein Fehler eigentlich nicht weiter wild ist - oder ist das z.B. die Steuerung einer Nasa-Sonde bei der ne Abweichung um 1° schon mal eben nen paar Millionen in den Sand setzen kann?

Sorry - mit deinen Angaben würd ich sagen: lass dir nen Lolli geben. Denn einmal "javac ...." aufrufen ist nicht soviel wert. Es kann aber eben auch sein das es sehr komplex wird und einige Stunden/Tage in anspruch nimmt. Dann wäre der Lolli doch eher ein schlechtes Geschäft...
Member: Biber
Biber Jun 18, 2010 at 22:34:12 (UTC)
Goto Top
Moin jackychen,

im eigenen Interesse solltest du zuerst die Aufgabe (oder wie die Profis locker ins Kundengesprach einflechten "die Herausforderung") für dich nochmal, mit zwei Schritt Abstand, grundsätzlich bewerten.

... ich soll die Source-Code von einer bestehenden Java Webanwendung, nach einer leichten Überarbeitung, wieder kompilieren.
Der Skill, den du erbringen sollst ist doch nicht das Starten der javac.exe nach richtigem Erraten der richtigen classpaths...
Die "kleine Anpassung" (wer immer das so formuliert hat) ist doch das Minenfeld.

Wenn es eine "bestehende Java Webanwendung" ist, übersetze ich das mal für dich:
"bestehende Java Webanwendung "=
  • on air, produktiv, täglich 500 Hits/Endkunden/Anwender
  • die in einem mehr oder minder bunten so genannten stabilen Ungleichgewicht der Applikationsunlogik alles anklicken, was ihnen langsam genug erscheint
  • und in GROSSBUCHSTABEN erzürnte Mails an die im Impressum hinterlegte Adresse schreiben, falls irgendetwas nicht funktioniert oder auch nur nicht mit den Vereinsfarben ihrer Fussballmannschaft harmoniert

Und die filigrane Anwendung kann nur auf drei Arten ins Haus gekommen sein:

a) gekaufte Branchensoftware (passt überall zu 70%, aber bei keinem zu 100%) mit kosmetischen Änderungen.
Dann --> gibt es keine Dokumentation
b) Ein Einzelkämpfer hat es zusammengeschrotet (Neffe vom Cheffe oder der letzte Azubi oder ein ehemaliger MA)
Dann --> gibt es keine Dokumentation
c) es ist professionell im Team (1 Architekt, 2 Web-Entwickler, 1 Datenbankfuzzy + 1 Koordinator) mit Eclipse & SVN modular, objektorientiert und mit den neuesren Trendtools entwickelt worden
Dann --> gibt es keine Dokumentation.

Und du sollst da "kleine Anpassungen" machen...

Somit gibt es für dich 2 Möglichkeiten (IMHO)
  • entweder du sagst..."Hmm, ich weiss auch noch nicht, ob ich das hinbekomme..." --> dann Finger weg!
  • oder du sagst: "Hey, mich kann KEIN Javacode erschrecken und überhaupt, diese Applikation werde ich bei Gelegenheit mal vom Kopf auf die Füße stellen.. "

in diesem Fall B erweitere wiesis Ansatz
Einfach Arbeitszeit * Stundenlohn (+ Abzüge ala Steuer) und du hast deinen Preis.
...
und zwar:
Arbeitszeit ist die Summe aus
  • 20% nötige Zeit zum Verstehen des Kontextes/der Appz zum Finden der Stellen, an denen geändert werden sollte
  • 10% Implementierung der Anpassungen
  • 25% der Zeit zum Rückgängigmachen der Anpassungen nach Erkennen der Codezeilen, die man lieber doch nicht hätte ändern sollen wegen dieser unerwarteten Seiteneffekte
  • 25% Test, Debugging, Test, Test , Versionierung, Deployment, Rollout, Rollback und nochmal Rollout
  • 10% Dokumentation (des vorgefundenen Zustandes, der Kundenanforderungen im Wortlaut und deiner Änderungen am bestehenden System)
  • 10% Reserve für schnellen Fluchtwagen, plastische Chirurgie und falschen Pass, falls es in die Grütze geht

Diese einzelnen Anteile kannst du (die Prozentangaben sind realistisch) mit deinen Stundenschätzungen abgleichen.
Und zwar ausschließlich ausgehend vom Prozentwert Punkt 1.

Wenn du also nach dem ersten vorsichtigen Sourcecodeschnuppern merkst:
"Um das HALBWEGS nachvollziehen zu können, brauch ich 4 Manntage nur fürs Einlesen"
---> dann sind 4 Projekttage eben gleich die 20% aus meiner Liste.Punkt 1
---> Dann sind 100% =20 Projtage = 1 Mannmonat.. => 80 Euro pro Tag*20 = 1600 Ocken

Wenn du meinst, zum Einlesen und Verstehen der Appz reichen 2 Stunden, dann sind eben diese 2 Std = 20% und das ganze Projektchen ist in 10 Std abgekaspert.

Grüße
Biber
Member: jackychen
jackychen Jun 19, 2010 at 06:55:01 (UTC)
Goto Top
WOW! Vielen Dank Biber und auch alle Anderen! Das war sehr sehr hilfreich. Nur mit diesem Thread habe ich schon wieder
vieles dazu gelernt. Gut dass man hier die Experten so schnell finden kann :D. Ich bin ein Neuling im Geschäft, möchte halt
nicht nur studieren, sodern auch etwas Praxis ausüben. So viele Perspektive und tiefen Einblick in die Sache habe ich noch
gar nicht. Wenn jemand auch noch Vorschläge hat, dann bitte nur zu.
Member: maretz
maretz Jun 19, 2010 at 08:17:54 (UTC)
Goto Top
Moin,

als Neuling würde ich ehrlich gesagt die Finger von sowas lassen - bzw. notfalls einfach mal "Erfahrungsgeschäfte) machen. D.h. du sagst dem das du es dir ansiehst und das du bei Erfolg X Euro haben möchtest, bei Misserfolg braucht er auch nichts zu zahlen. Dafür gibts aber eben auch keine Garantie und die weitere Haftung wird ausgeschlossen.

Denn als Neuling hast du nahezu keine Chance ein komplexes Projekt "etwas abzuändern" - und schon gar nicht so das du es auch komplett durchtesten kannst. Denn die kommen und sagen "naja, die kleine Änderung ist ja nur der Einbau einer minimalen Zusatzfunktion" -> und du stellst fest das du dafür den kompletten Quellcode umbauen musst... Aus meinem Erfahrungsschatz z.B. kam das hier eine kleine Zusatzfunktion mal war das ich Positionsdaten zu einem Dokument automatisch berechnen lassen sollte. Dummerweise gab es bei der ID nur Text-Werte (ABCD1234567). Hört sich ja nicht schwer an - kann die DB ja schnell machen. Leider ging es um soviele Werte (und die Vorberechnung der Endsumme mit verschiedenen Währungen) das der Durchlauf mal eben 2-3 Stunden gedauert hat... Eine kleine Erweiterung also - nur das man das ganze Prog. hätte umschreiben müssen um das ganze auch in akzeptabler Geschwindigkeit hätte machen können...