Abschrift
|
| Hallo, ich bin Aurora Tiffany-Davis, eine Softwareentwicklerin bei der |
| JMP Live-Team und ich möchten heute mit Ihnen darüber sprechen |
| wie wir im JMP Live-Team Software entwickeln. |
| Zunächst möchte ich Sie bitten, sich vorzustellen, wie Softwareentwicklung aussieht |
| wie bei Dir. Wenn Sie selbst kein Entwickler sind und die |
| Bild, das Sie im Kopf haben, ist wahrscheinlich vom Fernsehen eingefärbt und |
| Filme, die Sie gesehen haben. |
| Sie stellen sich vielleicht ein seltsames Genie vor, das alleine arbeitet, |
| und der Prozess zur Entwicklung von Software ist sehr einfach. Sie |
| denken Sie wirklich intensiv über ein Problem nach. Sie schreiben einen Code |
| und dann stellen sie sicher, dass es funktioniert. Und das tut es wahrscheinlich, |
| denn schließlich sind sie a |
| Genius. Wenn wir alle Genies wären, wie Hollywood sagt, dass wir es sind, |
| dieser Prozess mag für uns funktionieren, aber eigentlich sind wir nur Menschen, |
| und so brauchen wir ein bisschen mehr als |
| das. Zunächst einmal arbeiten wir nicht alleine. Wir arbeiten sehr |
| kooperativ und wir haben einen Prozess, der uns dabei hilft |
| Qualitätssoftware produzieren. Ich weise hier darauf hin, dass es keine gibt |
| ein richtiger Prozess für die Entwicklung von Software. Dein |
| Der Prozess wird sich von Unternehmen zu Unternehmen unterscheiden und oft sogar |
| innerhalb von Unternehmen. Aber was ich heute tun werde, ist, Sie hindurchzuführen |
| was ich tun würde, wenn ich ein neues Feature entwickeln würde |
| JMP Live. |
| Zunächst einmal, bevor ich mich jemals hinsetze, um Code zu schreiben, muss ich es tun |
| einen tatsächlichen Bedarf haben. Es muss eine echte Person geben |
| da draußen, wer etwas in JMP Live gefunden hat, das |
| funktioniert nicht ganz so, wie sie denken, dass es funktionieren sollte, nämlich |
| eine nette Art zu sagen, dass sie einen Fehler gefunden haben oder einen haben |
| Anfrage für ein neues Feature. Wir verfolgen diese Probleme in einem |
| internes System, und so würde ich als erstes zu gehen |
| dieses System und finden Sie ein Problem mit hoher Priorität, das gut ist |
| zu meinen Fähigkeiten passen, und fangen Sie an, darüber nachzudenken, und fangen Sie an |
| darüber sprechen. Als nächstes würde ich versuchen zu verstehen |
| die Notwendigkeit, mit Menschen zu sprechen. Welche Arten von Benutzern werden |
| Benötigen Sie diese Funktion? Wie sind sie |
| werde es benutzen? Dann würde ich JMP Live auf meinem eigenen Rechner ausführen, |
| und beginnen Sie, einen Blick darauf zu werfen, wo die neue Funktion passen könnte |
| in JMP Live wie bereits |
| existiert heute. Dann würde ich den Code aufrufen und anfangen zu denken |
| wie der neue Code in unsere Codebasis passt. |
| Sobald ich denke, dass ich ein gutes Verständnis für die Notwendigkeit habe, |
| würde mit dem Entwurfsschritt fortfahren. Und hier nochmal, mein erstes |
| Schritt wird sein, mit den Leuten zu reden. Ich werde mit dem Benutzer sprechen |
| Erfahrungsexperten, die wir bei JMP haben, und ich werde mit meinen sprechen |
| Kollegen und fragen Sie: „Haben Sie an einem ähnlichen Feature wie gearbeitet |
| Das vorher? Haben Sie schon einmal an diesem Teil des Codes gearbeitet?" |
| Dann fange ich an, das Design zu konkretisieren. Ich könnte Artikel schreiben |
| und zeichne Diagramme und teile diese herum, damit ich sie machen kann |
| sicher, dass die anderen Mitglieder des Teams im Allgemeinen sind |
| bequem mit der Richtung |
| Ich ziehe ein. Jetzt setze ich mich hin und fange an, etwas zu schreiben |
| Code. Und dafür verwende ich die integrierte Entwicklung |
| Umwelt, das ist ein Programm, das eine Menge hat |
| Funktionen, die uns helfen sollen, unsere Arbeit besser zu machen. |
| Nachdem ich nun etwas Code geschrieben habe, besteht mein erster Schritt darin, die zu finden |
| Probleme, die ich gerade erstellt habe. Ich bin nur ein Mensch, also die Chancen |
| dass ich bei meinem ersten Versuch 100% fehlerfreien Code geschrieben habe, sind ziemlich dünn. |
| Mein erster Schritt wird sein |
| statische Analyse verwenden. Die statische Analyse führt den Code nicht aus, |
| es sieht aus, als wäre es auf ein Stück Papier geschrieben |
| Papier. Eine Analogie könnte die Rechtschreibprüfung in Microsoft Word sein. Rechtschreibprüfung |
| kann mir nicht sagen, ob ich einen überzeugenden geschrieben habe oder nicht |
| Roman, aber es kann mir sagen, ob ich irgendwo ein Komma übersehen habe. |
| Statische Analyse tut dies für Code. |
| Jetzt, wo ich diese sehr offensichtlichen Probleme gefunden und behoben habe, meine |
| Der nächste Schritt wird sein, nach weniger offensichtlichen Problemen zu suchen, |
| und dafür werde ich eine automatisierte Testsuite verwenden. Wir haben |
| eine breite Palette von Tests gegen unseren Code geschrieben. Automatisiert |
| Tests führen den Code aus, oder vielmehr eine Teilmenge davon |
| Code, lieferte eine bestimmte Eingabe und erwartete eine bestimmte Ausgabe. |
| Es ist eine wirklich wertvolle Übung, sich hinzusetzen und diese zu schreiben |
| Tests, weil ich mich manchmal hinsetze, um einen neuen Test zu schreiben |
| jedes Feature, es zwingt mich, meine Gedanken wirklich zu klären |
| wie die Software überhaupt funktionieren soll. |
| Es bietet auch einen wirklich wichtigen Schutz vor |
| Kollegen, die diese Funktion in Zukunft versehentlich kaputt machen. So |
| es ist eine großartige Möglichkeit zu finden |
| Probleme früh. Sobald ich diese automatisiert geschrieben und ausgeführt habe |
| Tests, werde ich zu einigen manuellen Tests übergehen. Ich könnte JMP ausführen |
| Live auf meinem lokalen Rechner oder auf einem von mehreren Servern, die wir haben |
| im Büro und stöbere herum und probiere Sachen aus und vergewissere dich einfach |
| dass es so funktioniert wie ich |
| denke es sollte. Ich darf mal in die Datenbank schauen, dass |
| sitzt hinter JMP Live und verfolgt Aufzeichnungen weiter |
| Benutzer, Beiträge, Gruppen, Kommentare und stellen Sie sicher, dass Datensätze vorhanden sind |
| so geschrieben, wie ich es erwarte. |
| Jetzt bin ich vorsichtig optimistisch, dass ich etwas Gutes geschrieben habe |
| Code, und ich habe eine nützliche erstellt |
| Besonderheit. Der nächste Schritt besteht darin, meine Kollegen nach ihrer Meinung zu fragen. Krank |
| lassen Sie dies durch Peer-Review gehen. Jetzt in JMP Live setzen wir 100 % von |
| der Code, den wir durch Peer-Review schreiben, und der Grund dafür ist |
| dass wir es so wertvoll finden. |
| Es könnte etwas sein, das ich verpasst habe, weil ich einfach irgendwie |
| über etwas Scheuklappen haben. Oder es könnte der sein |
| Fall, dass jemand anderes in meinem Team einfach weiß, dass ich |
| Mangel. Bei einer Rezension ist es oft so, dass der Rezensent auch |
| bekommt viel Wert aus der Übung, weil sie es könnten |
| einige neue Techniken kennenlernen. |
| Jetzt, wo das Team ziemlich optimistisch ist, dass wir es geschafft haben |
| einigen guten Code, ich werde meinen Code endlich übergeben oder einchecken |
| ein Quellcode-Repository. |
| Wir haben ein kontinuierliches Build-System, das auf uns aufpasst |
| Commit-Code, und wenn wir es tun, es |
| analysiert es. Es sieht nach wirklich grundlegenden Dingen aus, wie die Dateien sind |
| richtig benannt und am richtigen Ort? Es wird auch wiederholt |
| statische Analyse und es wird unser gesamter automatisierter Test erneut ausgeführt |
| Suite. Es tut dies, falls jemand vergessen hat, dies zu tun |
| früher im Prozess. Oder häufiger könnte es der Fall sein |
| etwas kleines und feines hat sich seit dem letzten mal verändert |
| automatisierte Testsuite ausgeführt wurde. |
| Also macht es all diese Analysen und wann es durchkommt |
| Mit diesem Schritt ist der Code nun für Personen außerhalb verfügbar |
| das Entwicklungsteam, um a |
| schau es dir an. Die ersten Leute, die das aufgreifen, sind die Tester |
| Experten, die wir innerhalb von JMP Live und innerhalb des JMP-Teams haben |
| breiter. Das sind Testprofis. Das tun sie |
| für ihre ganze Karriere, und sie sind wirklich gut darin. |
| Sie könnten die automatisierte Testsuite erneut ausführen. Sie könnten weitere Tests hinzufügen |
| zu unseren Suiten. Sie könnten JMP Live manuell ausführen und herumstöbern |
| allgemein. Sie könnten JMP Live lokal ausführen und so tun, als würden sie es tun |
| Dinge als Benutzer, die absolut verrückt wären. Was ist das |
| das Verrückteste, was der Benutzer tun kann? Und mal sehen, wie die Software |
| reagiert darauf. Sie sind wirklich kreativ mit diesen Tests |
| Szenarien. Sie können die Software auch auf verschiedenen ausführen |
| verschiedene Browser und Betriebssysteme, um sicherzustellen, dass unsere |
| Software ist flexibel und robust. |
| Sobald sie sich für dieses neue Feature abgemeldet haben, ist es jetzt |
| verfügbar, um in unserer nächsten Softwareversion abgeholt zu werden. |
| Lassen Sie mich jetzt herauszoomen und Ihnen den Prozess als Ganzes zeigen. |
| Das sind viele Schritte. Tun wir das wirklich alles für alle? |
| unserer Softwareänderungen? Ob Sie es glauben oder nicht, wir tun es. Dies jedoch |
| Prozess skaliert sehr viel, abhängig von der Komplexität von |
| die Arbeit. Wenn wir einen wirklich einfachen offensichtlichen Fehler haben, werden wir einen Schritt machen |
| durch diesen Prozess, aber wir werden es verdammt schnell tun. |
| Auf der anderen Seite, wenn wir ein sehr komplexes neues Feature haben, at |
| Bei jedem Schritt des Prozesses werden wir langsamer. |
| Dafür nehmen wir uns viel Zeit und Sorgfalt |
| wir machen es richtig. |
| Nun, alles, was Zeit kostet, kostet Geld, also warum ist es das? |
| Ist JMP bereit, dieses Geld in Softwarequalität zu investieren? |
| Ein Grund ist ganz einfach. Wir sind stolz auf unsere Arbeit und wir |
| ein gutes Produkt produzieren wollen. |
| Der nächste Grund ist eher weniger idealistisch. Wir wissen das |
| welche Probleme es auch immer bei uns gibt |
| Prozess und in unserem Produkt, wenn wir sie nicht finden, unsere |
| Kunden werden und das ist nicht gut fürs Geschäft. Also wir |
| würde das gerne minimieren. |
| Jetzt kann kein Prozess liefern |
| absolute Perfektion. Und deshalb laden wir Sie wirklich ein, ein Teil davon zu bleiben |
| der JMP-Community. Gehen Sie zu community.jump.com und lassen Sie uns |
| wissen, ob es etwas über JMP Live gibt, wenn es nicht funktioniert |
| wie Sie denken, dass es sein sollte, oder irgendetwas Neues, das Sie möchten |
| in der Zukunft zu sehen. |
| Diese Art von Feedback aus der realen Welt ist für uns immens wertvoll, und |
| wir begrüßen es sehr. |
| Das ist alles, was ich heute für dich habe, aber das hoffe ich wirklich |
| Sie genießen den Rest Ihres Discovery-Erlebnisses. Dank |
| Sie. |