Transkripte
1. Einführung: Hi da und willkommen. Hier ist eine sehr kurze
Zusammenfassung dieses Kurses. Dies ist ein Kurs, der Ihnen nicht beibringt, wie man Programmierung macht. A wird dir nicht beibringen, wie man eine glänzende Benutzeroberfläche
entwirft. Es wird Ihnen nicht zeigen
, wie Sie eine App bewerben und starten, um über das Internet
viral zu werden. Stattdessen bietet Ihnen dieser
Kurs durchgängigen Überblick über den
Lebenszyklus
der agilen Softwareentwicklung, den Sie auf alle
digitalen Produkte anwenden
können Sie entwickeln möchten. Und es erklärt, welche
Teammitglieder und
Fähigkeiten Sie benötigen, um auf
Sie zu verweisen, um erfolgreich zu sein. Mein Name ist Alex. Ich bin in London,
Großbritannien, ansässig und habe in den letzten
Jahren als
Senior Elite- und
Projektmanager in großen digitalen
Transformationsprojekten gearbeitet Senior Elite- und , normalerweise für Banken, Verbraucher, Einzelhandels- und Gesundheitskunden. Am Ende dieses Kurses werden
Sie den
Unterschied zwischen
Agile-und
Waterfall-Softwareentwicklung kennen . Sie verstehen die wichtigsten Rollen und Verantwortlichkeiten von Teammitgliedern und eines agilen Entwicklungsteams, einschließlich Ihrer eigenen in der
Form als Projektmanager. Und Sie werden in der Lage sein, jede Phase des Lebenszyklus
der agilen
Softwareentwicklung zu
erklären , der
die
Ideenphase,
die Ausarbeitung von Anforderungen, das
Entwerfen und Erstellen
Ihrer Software umfasst Ausarbeitung von Anforderungen, und zeigt, dass es
regelmäßig getestet wurde
und es schließlich auf den Markt bringt. Der Kurs
richtet sich sehr an Anfänger, also passt er mit
Interesse an Softwareentwicklung. Möglicherweise sind Sie bereits ein
Junior-Entwickler oder Designer in eine
Projektmanagementposition wechseln
möchte. Oder vielleicht bist du ein Innovator mit einer großartigen Idee für ein digitales Tool. Sie sind sich jedoch nicht sicher, wo Sie
anfangen sollen oder welche Fähigkeiten erforderlich sind.
In diesem Fall ist dieser
Kurs genau das
Richtige für Sie. Wenn es
interessant klingt, dann lasst uns losgehen und direkt darauf eingehen.
2. Waterfall: Der Ansatz innerhalb der
Softwareentwicklungswelt
sind daher tendenziell zwei Schlüsselideen wichtige Ansätze zur
Softwareentwicklung. Einer ist der Wasserfall-Ansatz und der andere
ist der Agile-Ansatz. Wasserfall ist eine
sequentielle Methodik , bei der die Aufgabe
etwas linearer ist. Während Agil dagegen
eine sehr iterative
Methodik ist , die einen zyklischen
und kollaborativen Prozess beinhaltet. Es ist eine sehr hitzige Debatte
, was das Beste ist und was besser ist. Meiner persönlichen Meinung nach hängt
es sehr von der Präferenz
für Ihr Projekt, Fähigkeiten und der
Art des Projekts ab. Und ob Sie
einen iterativen Prozess benötigen oder vielleicht einen sequentiellen Prozess prägen. Trotzdem gibt es
sicherlich eine Voreingenommenheit, würde
ich sagen 20 als agile Entwicklung in der
Softwareentwicklung. Daraufhin werden wir uns heute
darauf konzentrieren. Lassen Sie uns dennoch
schnell in den Wasserfall
eintauchen , nur damit Sie auch
ein Verständnis haben. Das Wasserfallmodell ist definitiv das älteste und
unkomplizierteste Modell. Grundsätzlich haben wir eine Phase beendet und dann beginnen wir mit der nächsten Seite. Es ist sehr einfach, sehr
einfach. Als Ergebnis oder als
Beispiel auf dieser Folie möchten
Sie möglicherweise zuerst und dann die
gesamte Analyse des Projekts durchführen
und erst dann mit
Ihrer Back-End-Entwicklung beginnen. Sie sind definitiv einige
Vorteile, die sein können, die
für Entwickler und
Kunden argumentiert werden können , die sich schon früh
darauf geeinigt haben, was tatsächlich aufgebaut wird. Ganz am Anfang definieren
Sie die Analyse, Sie definieren den Arbeitsumfang. Und das macht die Planung wohl ein bisschen
einfacher. In ähnlicher Weise schreitet es
recht leicht zu messen. Sie haben diesen vollen
Arbeitsumfang im Hinterkopf. Und als Ergebnis
kann man ganz einfach sagen, wie viel
bereits daraus aufgebaut wurde. Dadurch kann Software vollständig und sehr
sorgfältig auf der Grundlage des
vollständigen Verständnisses
aller
Software-Leistungen
entwickelt sorgfältig auf der Grundlage des
vollständigen Verständnisses werden. Aber
das ist noch einmal die Theorie. Und es gibt definitiv
viele Nachteile, die in der tatsächlichen Praxis festgestellt
wurden. Vielleicht am wichtigsten ist, dass
ich argumentieren würde, dass
die fehlende Wirksamkeit
der Anforderungen ist . Wenn du
anfängst, wenn du ein neues Projekt startest, weißt du nichts. Sie wissen nicht über
die Komplexität, Sie wissen noch nicht, wie man etwas
baut. Sie wissen nicht, was
der Kunde will wie der Markt reagieren
wird. Was auch immer Sie gleich am
Anfang analysieren, vielleicht ganz am Ende gar nicht sinnvoll , sobald
Sie das Produkt
auf den Markt bringen. Also noch einmal, alle kleinen
Details, die ausgelassen werden können,
Details, die
völlig falsch sind. Sie werden dann
den gesamten Prozess aufhalten , der entdeckt werden
möchte. Und dadurch verzögert
sich ein Projekt nicht nur, sondern wird ziemlich teuer. Sobald Sie
nach langer Zeit der
Analyse, Entwicklung
und Prüfung etwas auf den Markt bringen , könnte es gut sein, dass das Produkt
am Ende
völlig unerwünscht oder möglicherweise
veraltet ist völlig unerwünscht oder möglicherweise , wenn es ist s Leben. Die Möglichkeit, dass ein
Kunde
mit dem gelieferten
Softwareprodukt unzufrieden ist, ist also definitiv hoch. Und das
wird wieder kostspielig.
3. Agile Entwicklung: Wenn es also um Agilität geht, ist hier
eine kurze Geschichtsstunde etwa 2000, 2001 haben sich Menschen zusammengetan, Softwareentwickler haben sich
zusammengetan und sie
teilten sehr die Frustration über die Strömung Stand der Dinge, wie die Softwareentwicklung angegangen
wurde. Und am wichtigsten ist, dass
sie sich alle einig sind, dass die übermäßige Planung
und Dokumentation der Softwareentwicklung ineffizient
ist. Und worauf es
ankommt, ist,
ihren Kunden zu gefallen , und das geht verloren. Infolgedessen führten
sie die agile
Softwareentwicklung ein und entwickelten sie. Agile Softwareentwicklung
neigt dazu oder versucht die gesamte
Entwicklungsarbeit
in kleinere Meilensteine aufzuteilen . Und du baust deine App, dein Produkt in einer
Reihe von Zyklen. Anstatt also
alles zu erstellen und dann zu starten, konzentrieren
Sie sich nur auf eine bestimmte
Funktion, die Sie dann starten, und dann führen
Sie jeden Zyklus fort,
wie auf dieser Folie zu
sehen konzentrieren
Sie sich nur auf eine bestimmte
Funktion, die Sie dann
starten, und dann führen
Sie jeden Zyklus fort,
wie auf dieser Folie zu
sehen. beinhalten, dass Sie ähnliche
Phasen wie ein Wasserfall machen, planen
Sie, Sie machen die Entwicklungstests
und überprüfen Sie. Aber noch einmal, was
entscheidend ist, dass
Sie dann versenden und dann früh zu den
Kunden kommen. Infolgedessen
bietet jede Version ein
Testgelände, auf dem Sie ziemlich schnell
Feedback vom Kunden vom realen Markt erhalten sollen . Und darauf basierend können Sie
Ihr Produkt
dann iterieren und auf die tatsächlichen
Kunden- und Marktbedürfnisse ändern . Wirklich, der entscheidende Aspekt bei Agilität ist, dass der Kunde im Mittelpunkt
des Entwicklungsteams steht und der Kunde sehr,
sehr eng zusammenarbeitet. Sie arbeiten zusammen, und es ist der Kunde, dass
Gäste das Produkt frühzeitig sehen
und verwenden und daher Feedback
geben können. Und darauf aufbauend
ändern sich die Dinge ständig. Es gibt keinen linearen Plan
, der befolgt wird. Aber eher nach
einer schnellen Veröffentlichung gibt der Kunde sein Feedback und der Plan
wird entsprechend angepasst. Es gibt ein paar
Schlüsselprinzipien , die uns dadurch
ausgedacht haben. Und das heißt, wir möchten uns auf
Einzelpersonen und Interaktionen
über Prozesse und Tools konzentrieren . Es sind die Menschen, die Kunden die im Mittelpunkt von allem stehen, nicht verarbeitet oder Werkzeuge oder Sie haben sich
einmal etabliert, wir werden die Dinge
ständig auf ähnliche Weise anpassen. Es ist funktionierende Software,
tatsächliche Sachen , die da draußen sind und
funktionieren und benutzt werden. Das ist wichtiger als eine übermäßig umfassende
Dokumentation, Projektpläne und so weiter. Absolut, es ist
wichtig,
Dinge aufzuschreiben , um Wissen auszutauschen, aber Arbeitssoftware ist
das Wichtigste. Ich habe es irgendwie schon
angedeutet. Die
Zusammenarbeit mit Kunden ist entscheidend. Die Realität des Lebens ist, sehen Sie, der Kunde
weiß nicht, was er will. Sie
werden es wahrscheinlich beim ersten
Mal nicht richtig machen und sie werden ihre Meinung
ändern. Und so arbeitet man hart mit
den Kunden zusammen, aber das ist irgendwie die
Realität des Jobs. Es hat absolut
keinen Sinn,
einen Vertrag zu haben und
sich an den Vertrag zu halten. Als sich herausstellt
, dass ein Kunde
absolut kein
Interesse hat, wurde geschrieben. Was ist darin geschrieben? Ja. Es passt sich also alles an
das Kundenfeedback an , um zu
investieren, was sie finden. Anstatt sich an
etwas zu halten, das vor vielen, vielen Jahren
ausgehandelt wurde . Und das bringt
mich wirklich zum letzten Punkt. Wir sind nur, du
willst auf Veränderungen reagieren. Sie möchten keinem Plan
folgen, der vor einiger Zeit eingerichtet
wurde, sondern auf das
reagieren, was der Kunde wahrgenommen
hat. Wenn Sie mehr interessiert sind, diese Prinzipien einen Blick auf das Agile Manifest, das 2001 von den
Softwareentwicklern
eingerichtet wurde . Es ist eine Grundlagen des Schlüssels effektive
Softwareentwicklung, die ständig in
allen großen Projekten eingesetzt wird . In Software.
4. Agile Zeremonien: Ich möchte wirklich
auf agile Zeremonien eingehen, was ein sehr schickes
Wort für Meetings ist. Ich werde nur
44 wichtige Zeremonien
wichtiger Meetings ansprechen , die
innerhalb der
Softwareentwicklung eingesetzt werden . Und was für eine
Sprintplanung, Sprintplanung. Es steckt viel mehr
Details dahinter, aber ziemlich abstrakt,
ziemlich hoch, es würde bedeuten, dass
Sie planen
, was Sie innerhalb
der nächsten Woche aufbauen werden. So kommen alle Entwickler, Analysten, Designer usw. zusammen, insbesondere die
Kunden und
Produktmanager, und Analysten, Designer usw. zusammen,
insbesondere die
Kunden und
Produktmanager, und sie entscheiden, was
das nächste Feature ist, was das nächste ist, was wir als Nächstes tun
willst du bauen? Eine Frau verpflichtet sich
innerhalb dieser Planungssitzung dazu. Und das Ziel ist es,
in den nächsten zwei
Wochen etwas
aufzubauen und zu sterben. Und wieder, gefolgt von einer Veröffentlichung , die wir gesehen haben, dass
wir gerade gesehen haben. Das nächste ist das tägliche Stand-up zu
steuern. Du musst aufstehen. Trotzdem denke ich, dass es
die meisten Teams tatsächlich tun. Aber innerhalb des Namens ist es täglich und es ist das
Team, das zusammenkommt. Und der Schwerpunkt liegt hier
sehr auf Kommunikation, regelmäßiger Kommunikation
innerhalb des täglichen Stand-ups. Und es ist wirklich nur eine
15-minütige Sitzung jeden Morgen, du kommunizierst, was
du gestern getan hast, was du heute
vorhast. Und vor allem,
ob Sie
Risikoprobleme haben , bei denen Sie Hilfe benötigen. Und so jeder Entwickler,
Analyst, Designer, wer auch immer im
Funktionsteam ist, Rahmen des Meetings. Und als Ergebnis erhalten
Sie ziemlich schnell Updates von
jedem Teammitglied und verstehen, wo
sich alle befinden und ob
jemand Hilfe benötigt. Wenn es um Kommunikation geht, ist die
visuelle Kommunikation wichtig. Sie möchten visualisieren, was
tatsächlich gebaut wird. Sie möchten ziemlich schnell
Feedback erhalten. Und als Ergebnis kann
jede Woche
eine Sprint-Demo stattfinden und
jede, alle zwei Wochen oder so stattfinden. Aber die Idee dahinter ist wieder,
dass du mitteilen willst, dann ist er gescheitert, oft willst
du sehr oft
Feedback in einem
Becken bekommen , das iterieren möchte. Eine Sprint-Demo kann also alles sein ,
von einer Entwicklung ein neues Design
bis
hin zu einigen Kundenfeedback, das Sie möglicherweise erhalten haben. Die Idee ist, dass
Sie bei all
den verschiedenen Funktionalitäten, verschiedenen Funktionen innerhalb des Teams, verschiedenen Funktionen innerhalb des Teams, einen
grenzüberschreitenden Anteil
an die Teammitglieder haben möchten ,
was passiert. Schließlich gibt es eine Retrospektive. Wirklich alles, was sagt, ist, dass das Team
nach bestimmten Zeiträumen zusammenkommt. Es ist tendenziell nach einem Sprint
, der abgeschlossen wurde. Sprint kann alles sein,
von einer Woche, zwei Wochen, maximal vier Wochen. Aber die Idee ist, dass das Team
zusammenkommt und diskutiert, was in diesem
Arbeitszyklus gut
gelaufen ist und was verbessert werden
muss. Wieder einmal ist es
ein Instrument für die Kommunikation. Stellen Sie sicher, dass die
Leute zusammenarbeiten, stellen Sie sicher, dass
alle glücklich sind, und stellen Sie sicher, dass das
Team effizient arbeitet. Und wirklich, dass jeder
Einsatz eines Risikos in zukünftigen Spreads
gemildert werden kann .
5. Deine Teammitglieder und Fähigkeiten: Theorien, Note,
Methodik sind also großartig. Keiner von ihnen spielt eine Rolle.
Wenn Sie eigentlich nicht etwas in
die Praxis umsetzen müssen. Um etwas in die Praxis umzusetzen, braucht
man echte Leute,
man braucht ein Team. In diesem Abschnitt
geben wir einen schnellen Überblick
darüber, wie ein typisches
Agile-Team aussieht. Irren Sie sich natürlich nicht wie immer. Hängt von der Höhe der
Ausgaben, von ihrer Komplexität und
Reife Ihres Projekts ab. Aber die Idee ist, eine Vorstellung von den
typischen Teammitgliedern zu haben. So berühmt ist dieselbe
Software einfach, die Leute sind heiß und es wird mir gut gehen. Ich persönlich finde
, dass das wahr ist. Investiere also in dein Team. Werfen wir einen Blick darauf. In
erster Linie in der agilen Welt ist
das der Scrum
Master eines ausgefallenen Wortes. Wenn Sie möchten,
können Sie ihm verzeihen, dem Projektmanager, dem
Programmmanager, zu sagen. Es gibt Nuancen dazu,
aber aus Gründen der
übersichtlichen Übersicht denke
ich, dass aber aus Gründen der
übersichtlichen Übersicht denke
ich, wir sagen können, dass ein Scrum-Master vielleicht dafür verantwortlich
ist,
einen Klebstoff zwischen allen zu wiederholen, zwischen allen Stakeholder,
Menschen, Entwickler, Analysten, Designer lehnen
den Kunden ab und so weiter. Dann hat
der Planungsprozess gemanagt. Sie treiben mehrere Releases an, sie erleichtern die
Freigabeplanung. Sie sind verantwortlich
für die Planung
aller Agil-Zeremonien
, die wir erwähnt haben. Sie bieten Zugriff
auf Tools und Personen. Und als Beispiel
alles, was aus
einem täglichen Standup-Meeting hervorgeht, wirklich die Handlungen, für die sie selbst
verantwortlich sind für die sie selbst
verantwortlich bis sie den richtigen Eigentümer finden. Scrum Master berichtet auch über den Projektstatus in alle Richtungen
nach unten und aufwärts. Sie nennen es Koordinate
Release-Unterstützung. Sie sind
für Risikobewertungen verantwortlich. Schauen Sie also, wie Sie sehen können, ist
es eine sehr vielfältige Arbeit, vielfältige Verantwortlichkeiten
, die schwer zu definieren sind. Aber sie wollen wirklich dazu beitragen, das Team zu schützen und
Probleme zu lösen und sicherzustellen, dass die agilen Prozesse befolgt
werden, um effizient zu sein und
effektiv in Ihrer Entwicklung zu sein. Jedes Produkt mit
einem Produkteigentümer,
jemand, der für die Vision für die kurzfristige
und langfristige Vision verantwortlich ist der für die Vision für die kurzfristige . Und so
ist der
Produkteigentümer in der Regel der CEO des
Produkts. Sie sind
für den Markt und
den Business Case für jede
Art von Wettbewerbsanalyse verantwortlich . Sie sind in der Regel
Branchenexperten, die die Branche und
die Kunden in- und auswendig
kennen. Sie haben eine Vorstellung
von der
Kapitalrendite und dem Nettogewinn. Sie vertreten
ihre Kunden. So oft mehr als nicht, ist
es, dass der Eigentümer die Anforderungen erfüllt. Jemand, der die Arbeit priorisiert und so das repräsentiert,
was der Kunde zumindest das wünscht, was
der Kunde wünscht. Also eine entscheidende, entscheidende
Person innerhalb des Teams. Die Geschäftsanalysten
sitzen oft sehr nahe am Produkteigentümer. Denn wie ich bereits erwähnt habe, werden die
Anforderungen oft durch
den Körperteil bestimmt. Aber in Wirklichkeit ist es
aktuell im Namen der Business Analyst ist für alle
analytischen Lösungen
verantwortlich. Sie erhöhen den Geschäftswert durch die Zusammenarbeit mit
dem Produkteigentümer. Sie erstellen einen
Produktrückstand, der wiederum ein
schickes Wort ist, eine Reihe von Anforderungen zu sagen. Sie können einen
Business Case entwickeln, indem sehr eng
mit dem Teil Maja
zusammenarbeiten. Und dann ist es wichtig, dass sie die Anforderungen
aufschreiben. Sie
halten also nicht auf hohem Niveau an, aber sie
gehen tatsächlich ins Detail, schreiben sie alle auf und übermitteln sie dem Rest der Teams. Oft sollten
Anforderungen in den meisten Fällen immer als Team gestellt werden. Aber es ist das Geschäft außerhalb
dieser Verantwortung, sie
tatsächlich zu entwerfen, um
beispielsweise einen Sprintplan zu vermitteln . Schließlich können sie
die agilen Praktiken unterstützen. Sie förderten
die Verbesserung der Dienstleistungen und
werden natürlich zu Experten
in bestimmten Funktionen. Der UX- und UI-Designer gibt es eine wichtige
Unterscheidung zwischen UX und UI. Ux Designer beispielsweise führt
möglicherweise Benutzerrecherchen durch. Sie erstellen User Persona, die eine Darstellung
dieser Benutzerforschung darstellt. Sie können die
Informationsarchitektur
eines digitalen Produkts bestimmen . Sie
skizzieren möglicherweise Benutzerflüsse
oder
skizzieren vielleicht, wie eine App, was ein Design, Design
möglicherweise aussehen könnte ,
lieben aussehen, aussehen. Und
darauf aufbauend erstellen sie Prototypen, die getestet
werden. Während
ein UI-Designer dagegen, aber
nicht immer ausschließlich, dies dann in
ein tatsächliches Benutzeroberflächendesign
einfügt . Ich, High-Fidelity-Design
sieht gut aus und es sieht aus wie das
Endprodukt, das vom
Entwicklungsteam entwickelt wird . Insgesamt werden, verantwortlich
für das Journey-Mapping, die End-to-End-Flows definiert und
Entwürfe, die dafür verantwortlich
sind ,
mit den Kunden zusammen zu sitzen. Versuche zu verstehen, wonach
sie suchen. Und viele Tests machen und das
dann
in ein echtes Design übersetzen. Ein Entwickler
entwickelt wiederum in einem Namen bestimmte, bestimmte Funktionen,
aber ich denke, dass es vor allem zusätzliche
Verantwortlichkeiten
gibt. Diese werden oft übersehen. Entwickler sind entscheidend für die
Schätzung der
Größe neuer Anforderungen bei jeder Bewertung der
technischen Machbarkeit. Sie halfen zu verstehen,
was getan werden kann, in welchem Zeitrahmen, wie
komplex und möglicherweise sein kann, was erforderlich sein könnte und so weiter. Sie ovalen also zusammen
mit einem Team und
helfen dabei, die
Backlog-Elemente zu implementieren. Sie stellen sicher, dass Tests
durchgeführt werden, damit alles was getan wird,
entworfen und definiert wird. Neben der
eigentlichen Entwicklung sorgen
sie auch für die
Qualitätskontrolle. Es wird nicht nur entwickelt, sondern auch vorher gründlich
getestet,
bevor es in die
Schiffsphase auf den Markt geht. Und ich habe erwähnt, dass Tests, die
ich erwähnt habe, bevor
sie testen oft auch übersehen werden. Es ist absolut wichtig, dass
Sie Ihre Anwendung testen, dass Sie Ihre neuen Futures testen bevor sie auf den Markt
geliefert wird. Und so
sorgen die Qualität von QS-Testern für die Sicherheit. Sie sind verantwortlich
für das Schreiben von Testplänen, die die allgemeine
Akzeptanz neuer Funktionen durchsetzten. Sie haben es so geistig geschafft. Und sie automatisieren auch
diesen Gesamtansatz. Entwickler und Tester arbeiten sehr eng zusammen und integrieren die
Codebase
kontinuierlich mit diesen
manuellen und automatisierten Builds, die
Funktionstests und Regressionstests usw. Und wir werden später auf die Details des
Tests
eingehen , nur weil
ich denke, dass es so wichtig ist. Aber noch einmal, Tests, wenn sie die Qualität
messen, die sie in erster Linie
finden,
um die Qualität zu verbessern. Und sie haben ein
Qualitätsproblem durchgesetzt, und die Best Practices, die damit ständig
durchgeführt
werden. Irren Sie sich nicht. Dies sind nur einige Beispiele. Teams sind klein und
groß, abhängig der Reife, Komplexität
und Größe Ihres Projekts, Sie benötigen einen
Lösungsarchitekten, um die gesamte
Technologielandschaft zu definieren. Sie müssen
bestimmte Umgebungen
zur Verfügung haben , in denen Sie testen, schreiben, codieren und dann
schließlich bereitstellen können. Sie möchten sicherstellen
, dass Releases automatisiert
durchgeführt werden . Sie wollen wahrscheinlich
jemanden, der Ihre Daten verwaltet. Sie brauchen ein Betriebsteam, verwenden Forscher, Texter. Sie möchten sicherstellen
, dass ein End-to-End-Produkt ein sicheres und sicheres Produkt ist. Und wieder, wenn es darum geht, benötigen
Sie möglicherweise einige Anwälte, die
einige
Compliance-Ratschläge und so weiter sind . Es hört also nicht wirklich auf. Wichtig ist jedoch, dass
das typische
funktionsübergreifende Team vielleicht aus diesen
agilen Teammitgliedern besteht , die erwähnt wurden. Wir haben das
Wichtigste vergessen und wir haben ein paar Mal
betont, und
deshalb sollten wir es noch einmal tun. Es ist Ihr Kunde. Sie sollten Ihrem
Kunden so nahe wie
möglich sein. Sie entwerfen für Ihren
Kunden, nicht für sich selbst. Und das ist der Fehler
Nummer eins. Wir sehen es die ganze Zeit. Wir glauben, dass wir wissen, was
der Kunde will, aber wir bauen wirklich nur auf
unsere eigenen Bedürfnisse und unser Denken hin . Ja, sicher, es gibt
andere Leute wie mich und sollte daher das
Richtige sein, was wir bauen. Glaub mir, du weißt es nicht und du wirst falsch liegen
oder das Gebäude. Bringen Sie also Ihren Kunden dazu, ständig Kundenrecherchen
mit
den Kunden
durchzuführen ständig Kundenrecherchen
mit und die agile Art und Weise, die
wir besprochen haben, starten Sie es oft früh, machen Sie es ständig und
lerne aus den Fehlern. Lernen Sie aus dem Feedback, das Ihnen
ein Kunde gibt.
6. Die Ideation: Okay, wir haben ständig über
den Lebenszyklus des
Lebenszyklus der Softwareentwicklung gesprochen . Und es ist sehr einfach, da es
möglicherweise so visualisiert werden könnte . Du hast eine Idee. Sie möchten sich in eine Entdeckungsphase einlassen,
in der Sie
die Idee etwas mehr mit
definierten Anforderungen ausarbeiten die Idee etwas mehr und sich aufbauen. Also erste Reihe von Entwürfen. Dann baust
du es, testest es und startest
dann. Auch hier sind wir in der
agilen Welt. Verwechseln Sie dies also nicht mit
der Wasserfall-Methodik, sondern Sie blicken auf eine bestimmte Zukunft, die
Sie aufbauen. Yeah. Und dann gibst du
eine Freigabe zur Verfügung und du machst es immer
wieder und immer wieder. Wir sagten vorher, jedes
Gute fängt mit einer Idee an. Chancen, dass Sie
einen haben oder Sie
absolut keine haben, beide sind vollkommen in Ordnung. In der Idee. Es passiert selten, wenn
man sich einfach hinsetzt, man muss darauf hinarbeiten. Und wenn du nicht genug
Idee hast, dann ist das in Ordnung. Der beste
Ausgangspunkt ist, sich jeden
Tag selbst zu trainieren und einfach daran zu denken, was ist
das Problem und was ist eine potenzielle Lösung
in meinem Alltag? Du willst
dich wirklich ständig fragen, warum machen wir Dinge
auf eine bestimmte Weise? Gibt es eine bessere Möglichkeit
, ein Problem zu lösen? Und wenn Sie
ein Problem oder
eine Art Marktineffizienz erkennen können ,
wenn Sie so wollen. Du bist schon auf halbem Weg. Jetzt. Es gibt viele
Möglichkeiten,
coole Ideen zu entwickeln, und es
würde sicherlich weit über den Rahmen
dieses Kurses hinausgehen , sie alle
zu erforschen Ich werde etwas in
die Beschreibung aufnehmen, wenn ich kann. Aber was ich mag
und immer benutze, ist Kreation und die Nutzung
der Customer Journey. Die Customer Journey ist
wirklich nichts anderes als ein Prozess, der sich
ansieht, was der Benutzer durchmacht. Angenommen, ein Benutzer schaut sich möglicherweise
Ihre E-Commerce-Website an , die Sie erstellen. Ganz am Anfang gibt es
einen Tag der Entdeckungsphase. Sie müssen herausfinden dass Ihre
Website existiert, besitzen
möchte oder sie
können Browser durchlaufen, was auf Ihrer Website gekauft
werden kann. Sie denken etwas darüber nach. Sie machen eine Bewertung von Like, ist es meine Zeit und mein
Geld wert, diesen Kauf zu tätigen? Und dann tätigen sie schließlich ihren Kauf dort, wo sie
möglicherweise ziemlich
besorgt sind , bis sie
ihre endgültige Selbstbestätigung sehen ihre endgültige Selbstbestätigung , dass die Zahlung abgeschlossen ist. Und das ist das
End-to-End-Erlebnis. Sie möchten nach
jeder dieser Phasen
an der Aktionsstelle suchen , die der Benutzer durchläuft. So befinden
Sie sich zum Beispiel in
der Entdeckungsphase in einer Art
Bewusstseinsphase. Sie versuchen, sich
über den Service zu informieren , den
Sie anbieten. Die Aktion kann sein, dass
Sie die App öffnen, die Website, die Sie sich ansehen
können, und die Art von Emotionen
des Benutzers
ist zu diesem Zeitpunkt , dass er neugierig ist
und dann das Baby, aber skeptisch in Bezug auf was du versuchst, sie zu verkaufen. Aber sie sind neugierig. Während sie später in
der Kaufphase ein Unbewusstsein sind, sind
sie nun von Ihrem Produkt überzeugt und
Sie verkaufen Tag. Sie haben den Wunsch, es zu haben. Und die Aktion besteht darin, die
Zahlung zu erledigen und dann zu auschecken. Aber die Emotionen hier sind viel mehr als gestresst
und sie suchen nach Bestätigung, dass sie diese auf unbestimmte Zeit leisten
sollten Kaufpunktzahlungen
auf unbestimmte Zeit leisten
sollten und hoffentlich dann später
glücklich, dies getan zu haben. Und der Punkt, den ich hier ansprechen möchte , liegt in der
Customer Journey selbst, das ist eine Fähigkeit zu verstehen,
was der
Benutzer fühlt , worum es bei ihm geht
und was Sie können verbessern Sie sich innerhalb einer
bestehenden Reise. Oder wichtig ist, dass Sie eine neue Reise und ein neues Produkt oder
ein neues Projekt
erstellen können, etwas, das den Kunden
begeistern könnte,
was Produkt oder
ein neues Projekt , etwas, das den Kunden
begeistern könnte, ihn glücklich
macht, indem versteht, was die
verschiedenen Prozesse, was die verschiedenen Phasen sind, indem Sie verstehen, was
der Kunde
durchmacht , ist Ihre Fähigkeit, Ihre Möglichkeit, diesen
Prozess zu verbessern und sehr reibungslos zu gestalten.
7. Die Discovery Phase (Technologie): Mit einer Idee für Ihr Projekt möchten
Sie nun sicherstellen,
dass Sie
eine Entdeckungsphase betreten , bevor Sie
tatsächlich etwas erstellen. Die Idee hinter der
Entdeckungsphase besteht darin,
Ihre Anforderungen zu erfüllen und mit den
ersten Designs herumzuspielen um zu visualisieren, wie ein
Produkt aussehen könnte. Sie sind wahrscheinlich nicht überrascht, wenn ich sage, dass
Sie sich sogar umdrehen können, sollten wahrscheinlich sogar mit
Kunden das schon
in diesem Stadium getestet werden. Und um auch festzustellen wie die Anwendung
tatsächlich gebaut wird, welche Technologien
werden verwendet? Vor diesem Hintergrund beginnen
wir mit der
Lösungsübersicht. An dieser Stelle ist es
der Lösungsarchitekt von Tech Lead und den verschiedenen
Entwicklern, die zusammenkommen. Und sie wollen die Lösungsübersicht vermitteln und bestimmen. Es gibt sehr viel einen Überblick darüber, wie
jede Komponente gebaut
wird und kauen Das wird
gut gebaut sein. Eine Lösungsübersicht ist also
ein Skelett eines Programms, von einem Merkmal eines Projekts, indem ein wichtiges Element
in dieser Projektarchitektur
fehlt , Sie können den Erfolg
Ihres gesamten Projekts gefährden. Wir können das nicht genug betonen. Die richtige Architektur wird es ermöglichen
, in Zukunft viel Zeit,
Energie und Kosten zu sparen . Du willst sicherstellen
, dass du das richtig machst. Jedes
Architekturdesign
besteht in der Regel aus mehreren
Layern innerhalb der Anwendung, z. B. der
Präsentationsebene ganz oben. Das ist es, was der Benutzer
dazu neigt, dass
der Benutzer als Benutzeroberfläche
für Komponenten, das Interaktionsdesign,
tatsächlich ansieht ,
wenn er Ihr Produkt verwendet. Darunter befindet sich eine Geschäftsschicht
, die die
gesamte Geschäftslogik oder die
Prozesse, alle Abläufe umfasst oder einschließt. Und schließlich darunter befindet sich
die Datenschicht, die wiederum Ihre
gesamte alte Datenlogik,
die Datenbank selbst usw. enthält . Das wiederum wird
dann eingewickelt. Sie möchten sicherstellen, dass
Sie über Sicherheit verfügen, jede Art von Konfiguration. Wir werden hier nicht auf
alle Details eingehen ist offensichtlich eine sehr komplexe Aufgabe, und es wird normalerweise
von einem Lösungsarchitekten,
vom Tech-Lead und
den verschiedenen Entwicklern in
Ihrem Team erledigt vom Tech-Lead und
den , die zusammen vermitteln und stellen Sie sich vor,
wie Ihr Produkt aus Sicht der
Technologieebene erstellt wird . Wie immer zweifeln zahlreiche
Ansätze und Technologien in ihren Programmiersprachen,
die verwendet werden können, um ein so
hohes technisches Design
oder einen kurzen Tech-Stack aufzubauen . Und wie immer haben sie alle
Stärken und Mängel. Einige sind billiger zu verwenden, aber vielleicht weniger performant. Andere können viel
länger dauern, um sie zu implementieren. Es könnte sogar übertrieben sein
oder eine bessere Leistung sein. Infolgedessen. Die
schlimmste Möglichkeit besteht darin, auf einem sterbenden oder
unzuverlässigen Technologie-Stack aufzubauen. Also wollen wir sicherstellen, dass
du das nicht tust. Wenn Sie diesen Fehler machen, müssen
Sie möglicherweise die
gesamte Anwendung erneut erstellen. Oder Sie zahlen eine Prämie für
Entwickler, die vorankommen. Und wieder, ohne zu sehr
ins Detail zu gehen, gibt es so wenige
Schlüsselprinzipien, die ich beim
Stapel hervorheben
möchte. Und das heißt, Sie möchten auf der
Grundlage der
folgenden Prinzipien aufbauen . Es muss effizient sein. Ja, also
muss Ihre Anwendung
die Aufgaben ausführen und die
Funktionen in jedem Zustand ausführen. Es muss also zuverlässig sein
mit jeder Art von Belastung, jeder Art von Benutzern, die sich
auf Ihrer Plattform befinden. Es sollte flexibel sein. Die gewählte Lösung muss
einfach zu ändern sein. Sie können Elemente ändern und es sollte
das Ganze,
das gesamte Projekt automatisch,
nicht negativ beeinflussen das gesamte Projekt automatisch, . Sie sollten in der Lage sein, es zu erweitern. Sie möchten also so viele Funktionen hinzufügen
können , wie Sie
möchten 2D-Anwendung. Wichtig ist, dass es skalierbar sein
sollte. Es sollte immer
möglich sein, sich zu verlängern. Die Architektur
sollte eine
direkte Entwicklung und
mehrere parallele Threads ermöglichen . Und schließlich Testbarkeit. Sie sollten unbedingt in der Lage sein, die Architektur einfach zu testen, was bedeutet, dass die
Anzahl der Fehler abnimmt und ihre Zuverlässigkeit zunimmt. Das ist wieder einmal die Aufgabe
des Lösungsarchitekten.
8. Die Discovery-Phase (Design und Roadmap): , gehen Sie in einen
ganz anderen Bereich in Bezug auf die Arbeit. Zuvor erwähnte UX-Design. Und wieder handelt es sich die Visualisierung, wie das Produkt aussehen
könnte. Ja, hier in der
Entdeckungsphase erstellen
wir zunächst
Designs und Bildschirme, und wir beginnen,
alle Funktionen und Daten zuzuweisen. Es ist völlig in Ordnung, dass
sie an mehreren Orten leben. Du hast keine Ahnung wo er gerade sitzt, du spielst einfach herum. Und meistens findet
dieser Vorgang auf Whiteboards, auf Papier oder wie Sie derzeit
auf dem Bildschirm
sehen können, Art Scribble-Werkzeug statt dem Sie
sicherstellen können, dass Sie
spielen können ziemlich schnell
und ändern Sie die Dinge schnell, ohne
sich zu viel Zeit zu nehmen. Die Idee hier ist, dass
Sie Änderungen vornehmen
möchten, die Sie jetzt und
nicht später tun möchten. Derzeit ist es viel billiger
, etwas zu löschen. Später in der, in der Bibliothek muss man den ganzen Mantel
umschreiben. Okay. Workflows
sind die Pfade, Verwendungen können innerhalb Ihrer App reisen. Ja, also auch hier möchten
Sie
jedes der Dinge berücksichtigen, die der Benutzer
auf einem bestimmten Bildschirm tun sollte, wie viele Klicks benötigt
werden, um eine Aktion abzuschließen. Sie möchten sicherstellen
, dass jeder Klick
ein Zwei-Additiv ist , der
nicht
zu viel Zeit oder Arbeit braucht , um etwas zu
erreichen. Sie
diese Wireframes, wenn Sie Probleme mit Aktualisieren Sie
diese Wireframes, wenn Sie Probleme mit
Ihrem Workflow feststellen. Also, was wir sehen und diese Kritzeleien werden dort oben
Wireframes genannt, dann starten Sie erneut Tests
mit einem Kunden, stellen Sie sicher, dass
es funktioniert,
bevor Sie auf komplexere Designs
eingehen . Was Sie hier tendenziell tun,
ist auch Prototypen zu verwenden. Click-Through-Modell ist der Ort,
an dem Sie all
diese Wireframes
zusammenstellen und die Möglichkeit haben, sie
einfach so an dem Sie all
diese Wireframes
zusammenstellen zu durchklicken,
als wäre es eine echte App, ohne
jedoch eine tatsächliche Entwicklung durchgeführt
zu haben. Noch einmal, wenn fantastische Möglichkeit, etwas am
Telefon sehr schnell zu testen um realistischere Tests zu erhalten
und
sofort Feedback zu erhalten . Dies ist eine fantastische Art zu verstehen, was
Ihre Anforderungen sind. Das ist es, was ein
Businessanalyst ins Spiel kommt. Sagen wir zum Beispiel, dass eine UX auf
Gefahr ist, ermittelte eine Art UX-Design
auf der linken Seite. Wie Sie sehen können,
haben wir ein Menü, wo die
Suchleiste oben eine
Art Filter hat, Sie haben verschiedene,
verschiedene Dinge. Klicken Sie also auf Workshops
oder Marktplatz oder was auch immer in dieser
speziellen Anwendung enthalten sein
mag. Und so wurde leicht
vermitteln, derzeit visuell muss in 3D detaillierter
eingefügt werden, das wird zum Rückstand
der Anforderungen. Ein Geschäftsanalysten wird also mit dem
Produktinhaber, mit Designern und den Entwicklern
zusammenarbeiten , um die Vision
sicherzustellen und dass die Designs jetzt
in die tatsächlichen Anforderungen gestellt werden. Und sie werden
mit älteren Details definiert, die
notwendig sind, damit Entwickler
dann tatsächlich aufbauen können. Schließlich und wieder ein ganz
anderer Aspekt ist die Produkt-Roadmap
ein ganz
anderer Aspekt der Arbeit. Dies ist es, was ein Produkteigentümer, der CEO des Produkts, ins Spiel kommt. Und innerhalb der Entdeckungsphase möchten
Sie
eine Idee haben. Es muss nicht zu genau
sein, aber Sie möchten eine Vorstellung von
den
Themen mit hoher Priorität haben , die jedem
helfen werden, seine Zeit und Energie wirklich darauf
zu konzentrieren , ein paar Dinge zu tun. Va sie gut, agiles Produkt, Roadmap ist die Idee dahinter
als Navigationstool. Ja, es hilft Teams,
sich darauf zu konzentrieren,
wo sie sind und wohin sie gehen,
gibt ihnen aber auch die Freiheit, nach Bedarf
den Kurs zu korrigieren. Wenn wir zum Beispiel im Moment
ein wichtiger sind, verstehen
wir, was
wir
in den nächsten Monaten aufbauen . Aber es ist immer noch die
Freiheit, das zu ändern und anzupassen, was in Q2, Q4
eingebaut werden könnte. Eine wirklich agile
Produkt-Roadmap ist also eine hochrangige Strategie visualisiert und konzentriert sich eher auf
Ergebnisse als Ergebnisse und Gespräche sowie Themen und Epochen
statt auf Features. An diesem Punkt ist also nichts definiert. Also Visualisierung und
Angabe dessen, was kommen wird. Und das hilft,
die Produktstrategie mit
den anderen Teilen der
Organisation und mit einem Kunden zu kommunizieren die Produktstrategie mit . Und stellen Sie sicher, dass
Sie von
Ihrem Team und von
wichtigen Stakeholdern ein Buy-In erhalten. Insgesamt war dies
ein schneller Einblick verschiedene Dinge, die Sie in der
Entdeckungsphase tun
könnten. Wie immer gibt es noch viel mehr. Es hängt vom Projekt ab. Aber schauen Sie, sicherzustellen, dass Sie
eine solide Technologiegrundlage
und einen Lösungsüberblick haben eine solide Technologiegrundlage ,
ist absolut entscheidend. Sie möchten eine
Art visualisieren das Endprodukt aussehen könnte und es mit Kunden testen. Schon früh. Sie möchten eine Vorstellung von
den Anforderungen haben , die in
den ersten Wochen erstellt
werden den ersten Wochen die vom Business Analyst erfüllt werden. Und Sie möchten sicherstellen, dass
der CEO des Produkts, dieser Produkteigentümer die
Vision vermitteln
kann und wohin wir gehen, nicht nur innerhalb der nächsten
unmittelbaren Wochen, sondern wirklich mit einer
langfristigen Vision sagt und wie das
Endprodukt aussehen soll. Wenn dies zusätzlich
zu anderen Dingen getan wird , die
Sie möglicherweise tun
müssen, treten wir in die Rechnungsphase ein.
9. Die Entwicklungsphase: Okay, die wahrscheinlich eine
der interessantesten und
intensivsten Perioden
innerhalb des Projekts gebaut wurde der interessantesten und intensivsten Perioden
innerhalb des Projekts ,
dauert
wohl die Ideations
- und
Entdeckungsphase sowie die Startphase gegen Ende erheblich kürzere
Zeit als die Build-Phase, kann genauso gut 70,
80 Prozent des End-to-End-Projekts sein 80 Prozent des End-to-End-Projekts , das Sie mit der
Bill Phase befassen werden und damit unglaublich wichtig, aber auch wo die meisten Dinge schief gehen. Und deshalb muss ich verbessert werden. Es ist ein langer Prozess und möchte
nicht übersehen werden. Wir werden
einen kurzen Blick auf die tägliche Arbeit für das Team werfen,
das sich in der agilen Welt befindet, Sie verfolgen werden. Dieser Workflow hier ist wieder
von hohem Niveau, nämlich dass Sie den Rückstand
an Anforderungen haben , die Sie zuvor
zusammengestellt haben. Und so werden
Sie jeden Tag wirklich auswählen, werden
Sie jeden Tag wirklich auswählen welchen Gegenstand Sie angehen
werden. Das wirst du in
den OpenFlow stecken. Und dann im Laufe der Zeit, das dann ausgewählt werden
soll ,
um in Arbeit zu sein, werde
ich entwickelt. Es geht in die Qualitätssicherung der
QS-Säule , wo es
getestet wird. Darauf stützen Sie sich. Wenn es passiv ist, geht es zu erledigen
und wenn es nicht vergangen
ist, geht es zurück auf den laufenden. Meistens passiert
das tatsächlich
physisch an einer Wand, auf einem Whiteboard oder
ähnlichem natürlich auch
digital. Aber oft sind
es nur ein Haufen Plakate, die
von Kolumne zu Kolumne
übergeben werden . Und es ist eine großartige Möglichkeit
für Teams, sich zu visualisieren,
welche Arbeit geleistet wird. Und Datenbanken,
insbesondere ein Stand-Up, um jedem zu visualisieren und zu
vermitteln woran aktiv gearbeitet
wird. Und sehr schnell können
Sie
sehen, ob es ein Hindernis gibt, ob es einen solchen Blocker gibt. Warum ein bestimmtes Ticket, warum
geht eine bestimmte Anforderung nicht voran? Das ist also der gesamte
End-to-End-Workflow. Sie nehmen eine Anforderung
und arbeiten sich durch die verschiedenen
Workflow-Phasen. Und schlechter Standpunkt der
Geschäftsanalyse. Es ist jetzt das Ziel, die Benutzergeschichten zu
schreiben, die Anforderungen, die sie sind, sie werden User Stories genannt. Und zum Beispiel, wenn Sie zum Beispiel
das Menü nehmen, seien Sie das
jetzt bestimmte Feature, bestimmte Anforderungen. Sie neigen dazu, es im
folgenden Format zu schreiben, nämlich das, was Sie
definieren, für wen es ist. In diesem Fall ist es ein
Benutzer, der sich bereits als
authentifizierter Benutzer
in Ihre Anwendung eingeschlossen hat , Sie definieren dann das Ziel
für diesen bestimmten Benutzer. In diesem Fall möchte
ich auf
das Seitenmenü zugreifen , das als Ziel
gewünscht ist. Und dann sagst du, naja, warum? Also was, was ist das, also was? Und so definieren Sie das als
eine, damit
ich in diesem Fall alle
zusätzlichen Funktionen anzeigen kann, die
innerhalb des Produkts
verfügbar sind. Also wieder einmal, Diözese des
Geschäfts aus diesem Job. Dies geht
viel detaillierter, aber auf hohem Niveau wird es als User Story
aufgeführt. Wo findet man
wer ist der Benutzer? Was wollen sie tun, was ist die Aktion und warum? Was ist das Ziel? Als authentifizierter Benutzer möchte
ich auf ein
Seitenmenü zugreifen, damit ich
alle zusätzlichen
Funktionen anzeigen kann , die eine Art sehr
hochrangiger Tasky für den
Business Analyst
aufbessern eine Art sehr
hochrangiger . In ähnlicher Weise hat
ein UX-Designer, den wir
zuvor angesprochen haben ,
verschiedene Workflows definiert. Beeren, UX-Bildschirme, in den USA erfahrene Bildschirme, die möglicherweise
nach oben schauen, sehen so aus. Können Sie an dieser Stelle
kritzeln und sicherlich nichts , was Sie versenden und auf den realen Markt
bringen möchten. An dieser Stelle ist es also
die Art von Aufgaben für die Designer, dies
in etwas Glänzenderes
in eine tatsächliche Benutzeroberfläche zu bringen in etwas Glänzenderes . Und so kann es zum Beispiel so etwas
werden. Ja, Sie gehen von einer
UX-Schnittstelle aus und das
wird dann von Designern als
die Endbenutzerschnittstelle interpretiert die Endbenutzerschnittstelle oder die Entwickler werden sich
tatsächlich natürlich
aufheben und
entwickeln. Wir müssen dann auch bauen, wir werden in diesem
speziellen Kurs absolut
nicht darauf
eingehen . Viele verschiedene
Arten, Code zu erstellen, verschiedene
Sprachen zu
durchlaufen und so weiter. Es wird einen ganz anderen, einen ganz anderen Kurs geben. Also
müssen wir das überspringen. jedoch noch einmal daran, dass wir die
Agile-Methodik
in unserem speziellen Beispiel verfolgen . Ja, also werden wir
den Workflow der Analyse durchlaufen, das Ganze für
ein bestimmtes Feature in
Rechnung stellen und
sie veröffentlichen es sehr schnell, damit wir sofort
Feedback vom
Kunden erhalten . Bevor wir das tun,
möchte ich jedoch einen Aspekt hervorheben, den ich
betonen möchte , und der ist das Testen. Wir werden also heute nicht
auf die Entwicklung eingehen, aber ich denke, dass Tests etwas sind, das wir uns schnell ansehen
möchten , bevor
eine
Zukunft veröffentlicht wird. Es sollte ein Essen
gründlich getestet werden, und es sollte das die
ganze Zeit im Idealfall tun, es sollte automatisch durchgeführt werden. Also schauen wir uns das mal an.
10. Die Testphase (Nr. 1): Also beim Testen habe ich
jetzt
oft erwähnt, wie wichtig und äußerst wichtig ich Tests
finde und
innerhalb eines beliebigen Lebenszyklus der
Softwareentwicklung bin. Glücklicherweise ermöglicht uns die
Technologie heutzutage eine viel einfachere Lebensdauer
des Kapseltests und vieles davon kann automatisiert werden, während einige, einige Aspekte natürlich noch
manuell von der Entwickler, alle Testis,
Qualitätssicherungsteams oder sogar
Geschäfte aus diesem heraus, wer auch immer
Parkmanager und so weiter. Wenn wir uns
die Anwendung ansehen, ist das
Testen jedoch entscheidend Werfen wir einen
Blick auf die verschiedenen Arten von Tests, die
normalerweise durchgeführt werden. Eine davon ist Komponententests, normalerweise in einer degenerierten
Arbeit, die von Entwicklern durchgeführt wird. Sie verwenden entweder manuelle oder automatisierte Tests und
stellen sicher, dass jede Einheit in ihrer Software die
Anforderungen des Kunden
erfüllt. So können Sie diese
Testfälle entweder noch einmal testen, hauptsächlich die natürlich zeitintensiv
sind. Es dauert lange,
es wiederholt sich und erfordert daher ziemlich
viel Mühe. Eine gute Nachricht ist jedoch, automatisierte
Testautomatisierungs-Tools heutzutage dass
automatisierte
Testautomatisierungs-Tools heutzutage es Ihnen ermöglichen können, einen Test
aufzuzeichnen
und zu speichern, und daher können Sie ihn so oft wie
nötig
wiederholen , ohne
weitere menschliches Eingreifen. Jedes Mal, wenn neue Kälte
vor der Bereitstellung
entwickelt und eingesetzt wird, muss
ein Entwickler
seinen Komponententest schreiben und die Komponententests durchführen, um
sicherzustellen, dass dieses neue Stück Der Code wurde
basierend auf der Anforderung gründlich getestet. Als nächstes sind Integrationstests
absolut entscheidend. Stellen Sie sich das vor, da
einzelne Modelle zuerst isoliert im
Rahmen von Komponententests getestet werden. Aber sobald das fertig
ist, dann integriert. Wenn Sie also denken,
denken Sie es als ein Gebäude, ein Auto, vielleicht testen
Sie die
Türen, Sie testen vielleicht den Motor, diesen Kofferraum, was auch immer die Farbe ist,
was auch immer es sein mag. Aber dann eins nach dem anderen,
indem wir das langsam auch
als ein einziges System integrieren. Daher stellen Integrationstests
sicher, dass jede Art von neuem Code alles ändert, was Sie dem Gesamtsystem
hinzufügen, keine Auswirkungen auf die vorhandene Funktionalität
der Software hat. Sie möchten sicherstellen, dass
das kombinatorische
Verhalten sinnvoll ist. Sie möchten überprüfen, ob
die Anforderungen korrekt
implementiert sind oder nicht. Oft folgt
dann Systemtests,
was bedeutet, dass wir ein ganzes System
testen möchten. Alle Modelle, alle Komponenten
sind integriert, um zu
überprüfen, ob das System
wie erwartet funktioniert oder nicht. Noch einmal, wenn Sie an das Beispiel
des Autos denken, Es ist großartig, dass Sie
gründlich überprüft haben, jeder einzelne Artikel, in dem es getestet wurde, getestet wurde. Sie haben nicht überprüft, ob
sie alle integriert und
integriert sind , während Sie das Auto
zusammenstellen. Aber dann vergessen Sie nicht, das ganze Auto selbst noch auf all die
verschiedenen Aspekte,
Anforderungen überprüft werden muss und reibungslos gefahren werden
muss, muss die richtigen Pausen
und Gänge haben und ununterbrochen Tausende und Abertausende
von Kilometern
arbeiten. Die Farbe muss Sinn ergeben. Das System als Ganzes war also auch ein entscheidender Teil, der getestet werden muss ,
und das wird nach
den Integrationstests im
Rahmen von Systemtests durchgeführt . Ich habe
den Kunden vielleicht
von Zeit zu Zeit
in diesem Kurs erwähnt , und keine Überraschung hier, Benutzerakzeptanztests allgemein als kurz UAT bezeichnet
werden. Und belohnen Sie
es bedeutet, dass Sie wissen, dass Sie das Produkt
oder die Funktion
zeigen einem Kunden das Produkt
oder die Funktion
zeigen, und er führt
die Tests weiter. So haben echte Menschen, echte Kunden entschieden,
ob sie
der Meinung sind echte Kunden entschieden,
ob sie
der Meinung sind, dass die von Ihnen
erstellte Software akzeptiert
werden kann, live gehen kann. Dies ist daher nicht so automatisiert wie in den
vorherigen Beispielen. Vielmehr handelt es sich um
zeitintensive Sitzungen, aber hoffentlich unregelmäßige
Sitzungen, bei denen
echte Menschen, echte Benutzer
als Teil kleiner Gruppen zusammenkommen. Das kann Familie in Frankreich sein, ich kann Early Adopters sein, das könnten Poweruser sein, das könnten Menschen sein, für
die man Geld zahlt. Und wirklich möchten Sie verschiedene Testmöglichkeiten
haben, die Sie manchmal einfach
die Software zeigen und fragen,
was sie denken. Auf der anderen Seite möchten
Sie möglicherweise sehr spezifisch sein und Testfälle schreiben und
sehr spezifische Beispiele bereitstellen , die von diesen
bestimmten Benutzern
untersucht werden sollen . Und dann haben sie reichlich Gelegenheit,
Ihnen Feedback zu geben.
11. Die Testphase (Nr. 2): Wirklich, das gibt
Ihnen die
Möglichkeit , ein sehr offenes Feedback von Leuten zu erhalten, die
Ihre Anwendung
am Ende in der realen Welt verwenden werden . Die Leistung ist
natürlich ein entscheidender Aspekt. Stellen Sie sich vor, Sie erstellen eine Website, aber es lädt keine
Personen, die dazu neigen, nach dem 2.5th
wegzuklicken ,
wenn Sie Ihre Ergebnisse nicht sehen. Daher ist es unglaublich
wichtig, sowohl für die niedrigen Tests normale
Nutzungszeiten als auch für Spitzenzeiten zu testen, aber auch um
Ihre Anwendung zu testen IE, versuchen
Sie gezielt,
Wege zu finden, das System zu beschädigen. Immer mehr Benutzer sind Sie ein
, der assimiliert wird? Und Sie möchten überprüfen,
skaliert das System. Es gibt sehr viele Rückschläge auf das Oval-Anwendungs- und Architektur-Framework, das
wir zuvor besprochen haben. Sie möchten sicherstellen
, dass eine Technologie , die Sie
entwerfen und sich vorstellen müssen, tatsächlich diese Arbeit
in der Lage ist mit allen Benutzern
umzugehen, die Ihre Plattform zugreifen. Barrierefreiheit wird
in der Regel als Richtlinien
zur
Barrierefreiheit von Surfen im Web bezeichnet . Es handelt sich um eine international
anerkannte Reihe von Empfehlungen zur Verbesserung der Barrierefreiheit
im Internet. Dies ist ein besonderes Beispiel
für Webdesign. Aber es gilt
wirklich für alles, was Ihre
App wirklich oder was auch immer Sie in einer digitalen Welt
aufbauen, Sie möchten sicherstellen,
dass jeder
Ihr Endprodukt verwenden kann
und kann . Und woraus ich
bestand, ist
sicherzustellen , dass die Vision sehr klar
ist. Dh Sie haben vielleicht, wissen Sie, stark sehbehinderte Benutzer. Sie müssen in der Lage sein, Ihre Anwendung zu
verwenden. Es kann Menschen geben, die
schwerhörig und vielleicht taub sind . Und sie müssen über bestimmte Tools
verfügen, um auf die
Anwendungsmobilität zugreifen zu können. Diejenigen, denen es möglicherweise
schwer fällt , eine Maus oder Tastatur zu benutzen, möchten
ihnen Alternativen anbieten. Und dann denken Sie daran, Menschen zu
verstehen
, die Legasthenie,
Autismus, irgendeine Art von
Lernschwierigkeiten haben . Auch hier möchten Sie
einen vereinfachten Ansatz für
die Verwendung der Anwendung bereitstellen . Selbst wenn
es legal ist oder nicht, möchten
Sie daher von Anfang an absolut
über die Zugänglichkeit nachdenken . Wenn Sie
unsere Notwendigkeit einer Neugestaltung
im Nachhinein neu gestalten möchten , vertrauen Sie mir, es
wird einige Zeit dauern. Es wird
eine wahnsinnige Menge an Aufwand und Kosten erfordern, um dies zu tun. Betrachten Sie es also von Anfang an als absolute Schlüsselanforderung, führen Sie alle Ihre Barrierefreiheitstests ab der frühen
Selbstentwicklung durch. Und du gehst
zu einem fliegenden Zeug. In ähnlicher Weise. Kompatibilität stellt sicher
, dass Ihre Software auf verschiedenen
Browsern und Betriebssystemen ausgeführt werden
kann. Heutzutage haben wir Tausende von Gerätegrößen, mit denen wir umgehen müssen. Sie sehen alle
auf verschiedenen Bildschirmen anders aus. Denken Sie daran, an iOS, aber vor allem Android
und haben viele differenzierte
Gerätegrößen und Betriebssysteme. Sie wissen also, dass
Sie ständig sicherstellen möchten, dass die neue Software, die Sie in eine
neue Zukunft
starten, die Sie starten, mit
diesen Anforderungen kompatibel ist , die manuell ausgeführt werden
können Aber mehr und mehr
wird das meiste davon
automatisiert
durch Emulatoren und
Simulatoren automatisiert, bei denen Sie nicht
einmal mehr ein Gerät benötigen. Es ist alles in der Cloud erledigt. Und Sie können sicherstellen, dass Sie wissen, dass Code auf all
diesen Plattformen läuft. Und schließlich, immer
wichtiger, denke
ich für jeden und
vor allem, weil es einige
Medienprüfungen erhalten hat , ist natürlich die Sicherheit der Anwendung. Sie müssen sicherstellen
, dass Sie regelmäßige Stifttests
durchführen . Sie Sicherheitstests? Wenn Sie zum Beispiel einen
E-Commerce-Shop haben und
Online-Shopping ansehen können, werden
Sie
Personendaten,
Kreditkarteninformationen usw. rückgängig machen. Der Benutzer muss dir vertrauen. Und wenn nicht, haben Sie
keine Kunden. Und B, Sie haben möglicherweise ein großes
Problem mit den Behörden. Sie werden jedoch feststellen
, dass es keine
Sicherheitsmittel gibt , dass irgendeine Art von autorisiertem Zugriff gewährt wird
, um die Daten zu schützen. Und der unbefugte
Zugriff ist eingeschränkt. Und Sie möchten
sicherstellen, dass Sie
keine Schwachstellen in
irgendeiner Art von eigenem Code und benutzerdefiniertem Code oder Code von
Drittanbietern haben. Denken Sie daran, wenn Ihre Benutzer
eines anderen Anbieters, Sie bei einem Dritten kommen, unbedingt
sicherstellen möchten, dass sie auch jedem Angriff
standhalten können. Auch hier ist dies nur
ein Überblick über typische Tests, die durchgeführt werden. Es gibt wie immer mehr. Es ist weich,
je nachdem,
was für Sie aussteht Ihrer Komplexität
und der Größe Ihres Projekts in Bezug darauf,
wie viel Sie davon tun. Es ist jedoch entscheidend, dass das
Testen eine
Art wichtiger und
monetärer Aspekt Ihrer
Softwareanwendung ist eine
Art wichtiger und . Diese Vorgehensweise.
12. Die Startphase: Und wir sind fast da. Die Mittagszeit ist wahrscheinlich
der intensivste, vielleicht aufregendste Teil
des gesamten Lebenszyklus, den
wir uns bisher angesehen haben. Sie denken wahrscheinlich seit Jahren,
wenn nicht länger
über Ihre Idee nach. Und jetzt haben Sie in den letzten
Monaten Ihren Code, Ihre Entwicklungen,
Sie entwerfen und jetzt sind
Sie bereit,
die ersten
Funktionen auf den Markt zu bringen . Wenn es um den Start geht, ist
es immer eine gute Idee, mit
Freunden und Familie zu beginnen . Sie haben ein bisschen mehr ein
freundliches Publikum. Und du kannst testen
und Feedback bekommen. Schon früh. Auch hier wiederhole ich mich, unterschätze
aber nicht
die Bedeutung eines anfänglichen freundlichen
Kundenfeedbacks, bei dem Sie Ihr Produkt ziemlich schnell iterieren
und verbessern
können. Denken Sie auch daran, wenn
Sie etwas starten,
zum Beispiel einen App Store, dies ist immer ein Prozess, den Sie sicherstellen
möchten, dass die APSA
für ihre Veröffentlichung ordnungsgemäß konfiguriert ist. Sie müssen ein paar
Formulare für jeden Shop ausfüllen , den Sie
einreichen , Bildschirm zeigt ein bisschen Marketingmaterial,
eine
ziemliche Beschreibung. Dort
wurde also auch ein bisschen Arbeit geleistet. Und dann sei es Google oder Apple, sie können Mallory
alle diese Apps überprüfen , die
an den App Store gesendet wurden. Nun, Apple gibt es eigentlich
so mehr als Google. Es ist jedoch möglich
, dass sie keine
Reihe von Änderungen basierend
auf Ihrer Konfiguration drücken . Denken Sie also daran, wenn
es um Ihre Timeline geht. Sobald Sie live sind und die Produkte auf
dem realen Markt sind, gibt es natürlich
einige Möglichkeiten,
sie zu bewerben, außer ihren Freunden und ihrer
Familie und einer sie zu bewerben, außer ihren Freunden und Art Mundpropaganda. Das Offensichtliche sind
heutzutage die sozialen Medien. Sei das Twitter,
Tiktok und was nicht. Professionelle Netzwerke
wie LinkedIn. Das ist eine Möglichkeit, Daten, die man
eher für die
Blogger und Vlogger ist , Fortschritte durch
Affiliate-Marketing. Und natürlich, wenn Sie das Geld
haben, können
Sie sich an
einer umfangreicheren
Kampagnenwerbung beteiligen . Tun Sie dies am Anfang langsam
und offensichtlich
aggressiver , wann
Sie einen vollständigen Start planen. Aber eine Sache, die ich betonen
möchte
, ist , dass dies nicht das Ende ist, oder? App-Entwicklung
hört also nicht in der Startphase auf. Vielmehr handelt es sich um einen kontinuierlichen
Iterationszyklus, wie wir heute
in der agilen Entwicklungswelt viele
Male betont haben. Und deshalb möchten Sie
sicherstellen, dass Sie die App und
die Aufnahme durch Benutzer
überwachen. Sie möchten sicherstellen
, dass Sie
auf eventuell aufgetretene Abstürze zugreifen
können. Es gibt Bibliotheken,
die diese verfolgen. Und sie sagen Ihnen, was
der Benutzer getan hat, das Gerät, das wir verwenden, jede Art von technischen Informationen
, die wichtig sein könnten, um
das Problem zu replizieren. Sie möchten auf jeden Fall anfangen, Ihre Benutzer besser zu
verstehen. Sie möchten Analysetools
wie Google oder
Facebook Analytics nutzen . Und das hilft Ihnen noch einmal zu verstehen, wer die App benutzt. Wie alt ist ihr Alter, ihr Geschlecht, woher sie kommen,
welche Sprachen sprechen sie und so weiter. Wie oft benutzen sie die App, wenn wir den Tag
machen? Wie viel Zeit wird in der App
verbracht, welche Bildschirme werden
überwiegend angesehen ,
welche nicht und so weiter. Ich bin fantastisch, tolle
Möglichkeiten da draußen. Die Erstellung von
Heatmaps, auf denen Sie sehen können wo Menschen klicken, auf
welche Bildschirme. Das klicke ich am
häufigsten an und so weiter. Aber wirklich die Idee
hier ist, dass Sie sich basierend auf
diesen Analysen verbessern können. Sie möchten nicht
nur auf
Teile des Kapitels aufbauen , das
dort selten genutzt wird, sondern Sie möchten dort investieren,
wo die Aktion ist,
was ist das größte
Wachstumspotenzial? Und es sind wirklich jene
Tools, die Einblicke geben und sicherstellen, dass die Leistung
gemessen wird. Ich habe bereits erwähnt, dass die Leute
nicht sehr geduldig sind , wenn
es darum geht. Sie möchten also
die technische Leistung
und Benutzerfreundlichkeit des von uns bereitgestellten Systems messen und Benutzerfreundlichkeit des von uns bereitgestellten Systems über eine umfangreiche
Leistungsüberwachung ständig
über eine umfangreiche
Leistungsüberwachung
. Auf diese Weise können Sie nachverfolgen
, wie
oft eine Aktion
stattgefunden hat und wie lange es gedauert hat. Und und wieder finden Sie das als eine gute Gelegenheit,
Raum für Optimierung zu schaffen. Sie können auch alle
Warnungen und Orte einsetzen, um zu wissen wann eine Aktion möglicherweise
etwas langsamer wird ,
ob Ihr Server Ihre Umgebung überlastet sind. Also bist du ziemlich kryptisch und
suchst auch diese zu reparieren. Und dann reagiert natürlich
selbst eine Art manueller
Überwachung, wenn es
zum Beispiel darum geht, den App Store
anzusehen , auf
Kundenkostenkommentare. Berücksichtigen Sie deren Feedback
, achten
Sie darauf, dass der
Produktmanager sie sieht. Und laut ist dies das wichtigste Feedback, das Sie
benötigen, um sich zu verbessern, und sie
erhalten schnell eine weitere nächste
Iteration Ihrer Anwendung.
13. Schlussbemerkung: Das führt uns zu dem Schluss , wo das Ende des Kurses ist. Ich hoffe, dass diese verschiedenen Phasen
des Lebenszyklus der Softwareentwicklung
sinnvoll waren und es für Sie
etwas nützlich war. Schau, wenn es eine Sache gibt, die
ich ganz am Ende sagen würde ist eine
Einheitsgröße nicht das. Während die Methodik der agilen Entwicklung und
dass der Prozess an sich funktioniert und
absolut
konsequent angewendet werden kann . Natürlich
hängt es stark von dem Projekt, der Komplexität, der Größe, dem, dem, der Ihnen zur
Verfügung stehenden Finanzmitteln, den Fähigkeiten der
Menschen und so weiter ab. Und jedes Projekt ist anders. Und in einem sind Sie möglicherweise
schwer, stark mit Technologie- und
Back-End-Systemen und der Geschäftsdomäne, während andere sich möglicherweise
sehr viel mehr auf
Grafikdesign und
Tontechnik
konzentrieren Grafikdesign und
Tontechnik . die Entwicklung dort. Und Sie müssen sich
anpassen, wie S erforderlich ist. Und das einzige, was
ich aus
Sicht des Projektmanagements sagen würde , oder dass Sie
Produktmanager oder CEO
eines kleinen Startups sind,
ist ordnungsgemäß nach Werten. Weil Sie als PM,
als Projektmanager
oder jemand, der
nicht an
jeder einzelnen Phase beteiligt ist , sondern der Klebstoff
zwischen Menschen. Sie werden niemals
der Experte für irgendetwas sein. Wirklich mehr. Sie haben
einen ganzheitlichen Überblick gegeben, aber Sie sind kein Domain-Experte. Nach diesen Werten gefällt
mir also die auf dem Bildschirm
gezeigten Werte. Vertrauen, Empathie, Transparenz
und Zusammenarbeit. Stellen Sie sicher, dass
sich die Teams selbst organisieren stärken können, dass sie das tun
können, was
zur Lösung des Problems erforderlich ist. Und ich denke, wenn Sie von
diesen Werten führen und dieses Vertrauen
feststellen und an
die Fähigkeiten von Menschen glauben, dann können auch Sie
ein Killer-Prodrug aufbauen,
ein großartiges digitales
Produkt, das dem heute vorgestellten Lebenszyklus
der
Softwareentwicklung . Das war's. Ich
hoffe, das hat Spaß gemacht. Ich hoffe, das war nützlich, wenn
es irgendwelche Fragen gibt. Zögern Sie nicht mich zu kontaktieren
und wir sehen uns beim nächsten Mal.