Transkript
|
| Hallo, ich bin Aurora Tiffany-Davis, eine Softwareentwicklerin auf der |
| Das JMP Live-Team und ich möchten heute mit Ihnen darüber sprechen |
| wie wir Software im JMP Live-Team entwickeln. |
| Zunächst möchte ich, dass Sie sich vorstellen, wie Softwareentwicklung aussieht |
| wie bei Dir. Wenn Sie selbst kein Entwickler sind und die |
| Bild, das Sie in Ihrem Kopf haben, ist wahrscheinlich durch Fernsehen und gefärbt |
| Filme, die Sie gesehen haben. |
| Sie stellen sich vielleicht ein seltsames Genie vor, das alleine arbeitet. |
| und der Prozess zum Entwickeln von Software ist sehr einfach. Sie |
| Denken Sie wirklich gründlich über ein Problem nach. Sie schreiben 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. Erstens arbeiten wir nicht alleine. Wir arbeiten sehr |
| kollaborativ und wir haben einen Prozess, der uns dabei hilft |
| Qualitätssoftware produzieren. Ich werde hier darauf hinweisen, dass es keine gibt |
| Ein korrekter Prozess für die Entwicklung von Software. Ihre |
| Der Prozess wird von Unternehmen zu Unternehmen unterschiedlich sein und oft sogar |
| innerhalb von Unternehmen. Aber was ich heute tun werde, ist dich durch zu führen |
| Was würde ich tun, wenn ich eine neue Funktion in entwickeln würde? |
| JMP Live. |
| Bevor ich mich hinsetze, um Code zu schreiben, muss ich es zuerst tun |
| Ich habe tatsächlich einen Bedarf dazu. Es muss eine echte Person geben |
| da draußen, wer hat in JMP Live etwas gefunden, das |
| funktioniert nicht ganz so, wie sie denken, dass es sollte, was ist |
| eine nette Art zu sagen, dass sie einen Fehler gefunden haben oder einen haben |
| Anfrage für eine neue Funktion. Wir verfolgen diese Probleme in einem |
| internes System, und so würde ich als erstes gehen |
| dieses System und finden Sie ein Problem mit hoher Priorität, das gut ist |
| Passen Sie zu meinen Fähigkeiten und denken Sie darüber nach 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 gehen |
| Benötigen Sie diese Funktion? Wie sind sie |
| wirst du es benutzen? Dann würde ich JMP Live auf meinem eigenen Computer ausführen. |
| und schauen Sie sich an, wo die neue Funktion passen könnte |
| in JMP Live wie es schon ist |
| existiert heute. Dann würde ich den Code aufrufen und anfangen zu denken |
| durch wie der neue Code in unsere Codebasis passen wird. |
| Sobald ich denke, ich habe ein gutes Verständnis für die Notwendigkeit, ich |
| würde zum Entwurfsschritt übergehen. Und hier wieder meine erste |
| Schritt wird sein, mit Menschen zu sprechen. Ich werde mit dem Benutzer sprechen |
| Erleben Sie Experten, die wir in JMP haben, und ich werde mit meinen sprechen |
| Mitarbeiter und fragen: "Haben Sie an einer ähnlichen Funktion gearbeitet? |
| Das vorher? Haben Sie schon einmal in diesem Teil des Codes gearbeitet? " |
| Dann werde ich anfangen, 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 in der Regel sind |
| bequem mit der Richtung |
| Ich ziehe ein. Jetzt werde ich mich hinsetzen und anfangen, etwas zu schreiben |
| Code. Und dafür werde ich die integrierte Entwicklung nutzen |
| Umwelt, die ein Programm ist, das viel hat |
| Funktionen, die uns helfen sollen, unsere Arbeit besser zu machen. |
| Nachdem ich einen Code geschrieben habe, besteht mein erster Schritt darin, den 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, ist ziemlich schlank. |
| Mein erster Schritt wird sein |
| Verwenden Sie eine statische Analyse. Bei der statischen Analyse wird der Code nicht ausgeführt. |
| es sieht so aus, als ob es auf ein Stück geschrieben ist |
| Papier. Eine Analogie könnte die Rechtschreibprüfung in Microsoft Word sein. Rechtschreibprüfung |
| Ich kann mir nicht sagen, ob ich einen überzeugenden Artikel geschrieben habe oder nicht |
| Roman, aber es kann mir sagen, ob ich irgendwo ein Komma verpasst habe. |
| Die statische Analyse macht das für Code. |
| Nachdem ich diese sehr offensichtlichen Probleme gefunden und behoben habe, meine |
| Der nächste Schritt wird darin bestehen, nach weniger offensichtlichen Problemen zu suchen. |
| und dafür werde ich eine automatisierte Testsuite verwenden. Wir haben |
| hat eine breite Palette von Tests gegen unseren Code geschrieben. Automatisiert |
| Tests führen den Code aus, oder besser gesagt, es wird eine Teilmenge von ausgeführt |
| Code, lieferte eine bestimmte Eingabe und erwartete eine bestimmte Ausgabe. |
| Es ist eine wirklich wertvolle Übung, sich hinzusetzen und diese zu schreiben |
| Tests, denn manchmal, wenn ich mich hinsetze, um einen neuen Test für zu schreiben |
| Jedes Merkmal zwingt mich dazu, meine Überlegungen wirklich zu klären |
| wie die Software überhaupt funktionieren soll. |
| Es bietet auch einen wirklich entscheidenden Schutz gegen |
| Kollegen brechen diese Funktion in Zukunft versehentlich. So |
| Es ist ein guter Weg, um zu finden |
| Probleme früh. Sobald ich diese automatisiert geschrieben und ausgeführt habe |
| Tests werde ich mit einigen manuellen Tests fortfahren. Ich könnte JMP ausführen |
| Live auf meinem lokalen Computer oder auf einem von mehreren Servern, die wir haben |
| im Büro und stöbern und probieren Sie Sachen und stellen Sie einfach sicher |
| dass es so funktioniert wie ich |
| denke es sollte. Ich kann sogar in die Datenbank schauen, dass |
| sitzt hinter JMP Live und verfolgt die Aufzeichnungen |
| Benutzer, Beiträge, Gruppen, Kommentare und stellen Sie sicher, dass Datensätze vorhanden sind |
| geschrieben so, wie ich es erwartet habe. |
| Jetzt bin ich vorsichtig optimistisch, dass ich etwas Gutes geschrieben habe |
| Code, und ich habe einen nützlichen erstellt |
| Merkmal. Der nächste Schritt besteht darin, meine Kollegen nach ihrer Meinung zu fragen. Krank |
| Setzen Sie dies durch Peer Review. Jetzt in JMP Live setzen wir 100% von |
| Der Code, den wir durch Peer Review schreiben, und der Grund dafür sind |
| dass wir es so wertvoll finden. |
| Es könnte etwas geben, das ich verpasst habe, weil ich es einfach irgendwie getan habe |
| habe Scheuklappen über etwas. Oder es könnte das sein |
| Fall, dass jemand anderes in meinem Team einfach weiß, dass ich |
| Mangel. Es ist oft der Fall in einer Bewertung, dass der Prüfer auch |
| bekommt viel Wert aus der Übung, weil sie könnten |
| lerne einige neue Techniken kennen. |
| Jetzt, da das Team ziemlich optimistisch ist, was wir geschaffen haben |
| Bei gutem Code werde ich endlich meinen Code festschreiben oder einchecken |
| ein Quellcode-Repository. |
| Wir haben ein kontinuierliches Build-System, das auf uns achtet |
| Commit-Code, und wenn wir das tun, dann |
| analysiert es. Es sieht nach wirklich einfachen Sachen aus, wie sind die Dateien |
| richtig und am richtigen Ort benannt? Es wird auch erneut ausgeführt |
| statische Analyse und es wird unser gesamter automatisierter Test erneut ausgeführt |
| Suite. Dies geschieht für den Fall, dass jemand vergessen hat, dies zu tun |
| früher im Prozess. Oder öfter könnte es so sein |
| etwas kleines und subtiles hat sich seit dem letzten mal geändert |
| Es wurde eine automatisierte Testsuite ausgeführt. |
| Also macht es all diese Analysen und wenn es durchkommt |
| In diesem Schritt ist der Code jetzt für Personen außerhalb von verfügbar |
| das Entwicklungsteam zu nehmen a |
| schau es dir an. Die ersten Leute, die dies aufgreifen, sind die Tests |
| Experten, die wir innerhalb von JMP Live und innerhalb des JMP-Teams haben |
| breiter. Dies sind Testprofis. Es ist was sie tun |
| für ihre ganze Karriere, und sie sind wirklich gut darin. |
| Möglicherweise führen sie die automatisierte Testsuite erneut aus. Sie könnten weitere Tests hinzufügen |
| zu unseren Suiten. Sie können JMP Live manuell ausführen und herumstöbern |
| allgemein. Sie können JMP Live lokal ausführen und so tun, als ob sie dies tun würden |
| 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 diesem Test |
| 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 diese neue Funktion abgemeldet haben, ist sie jetzt verfügbar |
| verfügbar, um in unserer nächsten Softwareversion abgeholt zu werden. |
| Lassen Sie mich jetzt herauszoomen und Ihnen den gesamten Vorgang zeigen. |
| Das sind viele Schritte. Tun wir das alles tatsächlich für alle? |
| unserer Softwareänderungen? Ob Sie es glauben oder nicht, wir tun es. Dies jedoch |
| Prozess skaliert sehr stark, 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 eine sehr komplexe neue Funktion haben, bei |
| In jedem Schritt des Prozesses werden wir langsamer. |
| Wir werden uns Zeit nehmen und viel Sorgfalt darauf verwenden, dies sicherzustellen |
| Wir machen es richtig. |
| Nun, alles, was Zeit braucht, kostet Geld. Warum ist es das so? |
| JMP ist bereit, dieses Geld in Softwarequalität zu investieren? |
| Ein Grund ist wirklich einfach. Wir sind stolz auf unsere Arbeit und wir |
| möchte ein gutes Produkt produzieren. |
| Der nächste Grund ist weniger idealistisch. Wir wissen das |
| welche Probleme auch immer in unserer bestehen |
| Prozess, und in unserem Produkt, wenn wir sie nicht finden, unsere |
| Kunden werden und das ist nicht gut für das Geschäft. Also wir |
| möchte das minimieren. |
| Jetzt kann kein Prozess liefern |
| absolute Perfektion. Und so laden wir Sie wirklich ein, ein Teil zu bleiben |
| der JMP-Community. Gehen Sie zu community.jump.com und lassen Sie uns |
| wissen, ob es irgendetwas an JMP Live gibt, wenn es nicht funktioniert |
| wie du denkst, sollte es oder etwas Neues, das du möchtest |
| in der Zukunft zu sehen. |
| Diese Art von realem Feedback ist für uns immens wertvoll, und |
| Wir begrüßen es wirklich. |
| Das ist alles, was ich heute für dich habe, aber ich hoffe das wirklich |
| Sie genießen den Rest Ihrer Discovery-Erfahrung. Danken |
| Sie. |