Ich habe bei einer Firma gearbeitet, die Auftragsarbeiten für andere
Firmen gemacht hat. Ein OEM war auch dabei (BMW), aber die Ausnahme.
Da gabs ein Team mit HW-Entwicklung, SW-Entwicklung, HW-Validierung und
SW-Validierung.
Die Validierer hatten durchaus einen kniffligen Job, da musste alles
ausprobiert werden, um Funktionsfehler zu finden.
Jetzt bin ich (freiberuflich) wo anders, auch wieder Auftragsentwicklung
(keine Automotive oder sicherheitskritische Sachen)
Ich bin der einzige SW-Mensch.
Auf die Notwendig von Testen haben ich hingewiesen, Antwort: das
brauchen wir nicht, das machen die (d.h. die beauftragende Firma, in den
USA) für uns. "Außerdem ist es kein Automotiv, da muss es nicht so exakt
sein"
So einfaches Testen machen wir schon, d.h. schauen ob das Teil
einschaltet und überhaupt Daten liefert. An Plausibilität wird nichts
gemacht.
Das wäre auch ein größerer Aufwand.
Bisher hat alles funktioniert, der Kunde (in den USA) war zufrieden,
aber ich merke, dass mit zusätzlichen Feature die Komplexität
exponentiel steigt.
Was macht man da, ohne meinen Kunden zu vergraulen?
32-Bit schrieb:> Was macht man da, ohne meinen Kunden zu vergraulen?
Da wirst du wohl selber Tests aufbauen müssen,
die möglichst bei jeder Auslieferung automatisch geprüft werden.
Welche Testfälle du vorsiehst, weisst du als Entwickler natürlich am
Besten, jedes IF sollte in beiden Zweigen durchlaufen werden.
Daß euch ein extra Testing fehlt, ist natürlich schlecht für ISO9001 und
ähnliches, aber dank Chef derzeit wohl nciht zu vermeiden.
Sorge also zumindest für eine automatiserte Testumgebung, in die du
einfach und problemlos Testfälle eintragen kannst, alles was dir
einfällt und alles was schon mal einen Fehler produzierte der dann
gefixct wurde und möglichst nicht noch einmal auftreten sollte.
Hat das Programm eine GUI, ist Testen ggf. komplexer zu automatisieren.
32-Bit schrieb:> Die Validierer hatten durchaus einen kniffligen Job, da musste alles> ausprobiert werden, um Funktionsfehler zu finden.
Das klingt eher nach Verifikation als nach Validierung.
> Auf die Notwendig von Testen haben ich hingewiesen
Was denn jetzt, Validierung oder Verifikation?
> aber ich merke, dass mit zusätzlichen Feature die Komplexität> exponentiel steigt.
Dann wird das den Punkt erreichen, an dem der Kunde in den USA nicht
mehr zufrieden ist, weil die Durchlaufzeit bis zu einer korrekt
funktionierenden Version zu lange wird.
> Was macht man da, ohne meinen Kunden zu vergraulen?
Business-Cases aufstellen und darlegen, was auf Dauer günstiger wird.
Das natürlich mit dem Hintergedanken, für welchen Kosten- und
Zeitaufwand Du sowas liefern könntest.
Ansonsten machst Du einfach mal das, wofür man Dich beauftragt hat.
Ansonsten sucht man sich eben einen Freiberufler, der sich auf seine
Aufgaben konzentriert, anstatt welche zu machen, für die er nicht
beauftragt wurde.
Der Projektleiter denkt, so ein Testprogramm ist schnell mal in ein paar
Studenten programmiert, auf einem Raspberry.
Viele Dinge konnte ich blitzschnell herzaubern, z.B. SPI- und I2C-
Ansteurung auf dem Labor-Raspberry.
Der denkt, ALLES geht so schnell und einfach.
32-Bit schrieb:> Der denkt, ALLES geht so schnell und einfach.
Dann ist es Zeitverschwendung, mit ihm über etwas zu reden. Du wirst
nämlich kein Angebot machen können, das sinnvoll ist und sich für Dich
auch rechnet, UND das er auch annehmen könnte.
Er kann nicht beurteilen, welchen Aufwand eine gescheite Testumgebung
bedeutet, weswegen er auch nicht in der Lag eist, Angebote zu
beurteilen.
Die Reaktion für ein faires Angebot mit brauchbarem Testumfang wird dann
in etwa so sein "ach was, viel zu teuer, brauchen wir nicht, das macht
ein Praktikant einfach mal".
Aber als Freiberufler kann Dir das doch ohnehin egal sein. Wenn der
Kunde Deine Hinweis enicht hören will, dann eben nicht, so what.
32-Bit schrieb:> Der Projektleiter denkt, so ein Testprogramm ist schnell mal in ein paar> Studenten programmiert, auf einem Raspberry.>
Heutzutage kann man also schon Studenten programmieren, da ist Google
der künstlichen Intelligenz schon näher als vermutet.
Und übrigens muss du Zocker_52 nicht ernst nehmen, er tut es ja selber
nicht er trollt sich hier durch das Forum.
32-Bit schrieb:>Was macht man da, ohne meinen Kunden zu vergraulen?
Entweder mit dem Chef sprechen und ändern lassen oder zugucken wie alles
schief läuft und danach sagen "ich habs euch doch gesagt"
32-Bit schrieb:> Ich bin der einzige SW-Mensch.
Wer soll denn testen? Du bist (als Freiberufler) der einzige SW-Mensch
und möchtest, dass Dein Kunde Deine Arbeit testet? Das ist nett, aber
läge das nicht bei Dir? Notfalls höher kalkulieren und jemand anderes
beauftragen.
Achim S. schrieb:> Das ist nett, aber> läge das nicht bei Dir? Notfalls höher kalkulieren und jemand anderes> beauftragen.
Möglichkeit 1: Kunde testet
Möglichkeit 2: Kunde oder Entwickler lässt testen
Möglichkeit 3: Entwickler testet selber
Möglichkeit 4: keiner Testet, keiner muss Testen bezahlen. Spart Geld!
kurzfristig zumindest...
> der einzige SW-Mensch und möchtest, dass Dein Kunde Deine Arbeit testet?
Nein. Ich will selber testen, aber soll das nicht, sondern neue features
implementieren.
Ich hätte auch nichts dagegen, wenn er eine zweite externe Kraft mit ins
Boot holt. Die Aufgaben ließen sich gut aufteilen.
Er meint aber auch, so von heute auf morgen habe ich 40h pro Woche
parat, kann alles andere stehen und liegen lassen. (ich habe ziemlich
weite Anreise, 3h einfach)
Testen/Validierung kann man ja nicht im Schlaf automatisch machen
lassen, sondern das kostet Zeit.
Irgendwie kapiert der Projektleiter nicht, dass eine Entwicklung Zeit
kostet, macht Freigabetermine mit seinem USA-Kunden und ich soll
freigeben.
Ich muss dazu sagen, dass die Firma spezielle Hardware herstellt, wo sie
ein Patent hat, und dadurch guten Umsatz/Gewinn hat. Produkte mit
Software haben sie weniger und mit Software-Entwicklung eigentlich sehr
wenig Erfahrung.
32-Bit schrieb:> Irgendwie kapiert der Projektleiter nicht, dass eine Entwicklung Zeit> kostet, macht Freigabetermine mit seinem USA-Kunden und ich soll> freigeben.
Kann man machen, wenn es unkritische Software ist und bei einem Fehler
keine nennenswerten Schäden entstehen. Sollte aber entsprechend mit dem
Auftraggeber abgesprochen sein.
Nennt man Bananensoftware, die wird grün ausgeliefert und wird beim
Kunden mit vielen Updates nachgereift.
> Nennt man Bananensoftware, die wird grün ausgeliefert und wird beim> Kunden mit vielen Updates nachgereift.
Als Beispiel wäre da "Windows" zu nennen von der Firma "Microsoft".
Banana Engineering!
Lass den Kunden testen und schieb per Internet Updates nach.
Solange, bis es läuft oder der Kunde aufgibt...
So verdient man heute Kohle ;-)
Stefan G. schrieb:> Banana Engineering!> Lass den Kunden testen und schieb per Internet Updates nach.> Solange, bis es läuft oder der Kunde aufgibt...
...und liefere die Updates nur gegen einen laufenden
Support-&Wartungsvertrag.
Stefan G. schrieb:> So verdient man heute Kohle ;-)
jetzt stimmt es :-(
Der Job hat auch ein paar gute Seiten, der Stundensatz ist ok, und es
steckt kein Trittbrettfahrer (hays, gulp, ...) mit drin.
Der Projektleiter ist eben schwierig: alles was ich über gute
SW-Entwicklung gelernt habe, ist für sinnlos, überflüssiger Balast.
Eine angestellte SW-Entwicklerin mit wenig BE ist auch dabei, die aber
nichts beitragen kann, mangels Erfahrung.
So Sachen wie "Pattern-Design/reusable OO-Software" sind Fremdwörter und
der Verteil wird gar nicht verstanden.
32-Bit schrieb:> Was macht man da, ohne meinen Kunden zu vergraulen?
Weiter wie gehabt!
Und dein "Automotiv"-Geschichten, sind auch nur was für die "lieben
Kleinen"!
> Da gabs ein Team mit HW-Entwicklung, SW-Entwicklung, HW-Validierung und> SW-Validierung.> Die Validierer hatten durchaus einen kniffligen Job, da musste alles> ausprobiert werden, um Funktionsfehler zu finden.
Der Satz ist:
Affe-HW-Validierung:"Sieht doch GUT aus!"
Affe-SW-Validierung:"Genau, das können wird so lassen!"
So läuft`s!
Grunzzzzzz!
32-Bit schrieb:> So einfaches Testen machen wir schon, d.h. schauen ob das Teil> einschaltet und überhaupt Daten liefert. An Plausibilität wird nichts> gemacht.
Nichts zu beanstanden. Es ist nicht zwangsweise die aufgabe des
Zulieferers, die Validierung zu machen. Selbst die verfikation machen
manche Firmen im Hause.
Wenn z.B. aufwändige Tests in der Produktion und der
Wareneingangskontrolle laufen, muss da sehr viel Software geschrieben
werden.
Wenn die unter Knowhow des Kunden liegt, ist es am Besten, man gibt das
nicht ausser Haus, sondern macht das selber.
Dann kann man in einem Aufwasch auch verifizieren. Spart Kosten an der
Stelle die der Zulieferer ansonsten nur draufhauen müsste.
Kommt also drauf an, wie die Firmen aufgestellt sind.