Transkripte
1. Einführung: Hallo, alle. Und herzlich willkommen zu diesem Kurs. Wir werden über Softwareentwicklungsmodelle in diesem Kurs sprechen, und es heißt, worauf es sich nur um ein paar der wirklich beliebten Modelle handelt , die wir seit sehr langer Zeit in der Softwareentwicklung verwenden und es heißt, worauf es sich nur um ein paar der wirklich beliebten Modelle handelt
, die wir seit sehr langer Zeit in der Softwareentwicklung verwenden.
als die Rede über diese neue Idee der agilen Scrum und kombinieren, die eine flexiblere Art und Weise der Entwicklung von Software vorantreibt. Also werden sie bei diesem Kurs werden wir nur über verschiedene Modelle gehen und wie sie sich auf die reale Welt beziehen und wie Sie sie nutzen können, um Software besser zu entwickeln. Nun, eine kurze Notiz. Das ist eine 102-Klasse. Sie können es unabhängig von selbst nehmen, und das meiste davon wird vollkommenen Sinn ergeben. jedoch In der Eins-Eins-Klasse sprechen
wirjedochüber die Grundlagen von all diesem Zeug. Also, wenn einige von diesem Zeug nicht 100% klingen lassen Sie uns sagen, klar zu Ihnen. Vielleicht klingt es ein bisschen verwirrend. Schauen Sie sich den 101 Kurs an. Es wird eine sehr große Art von Einführung in all dieses Material haben, bevor Sie tatsächlich in die Modelle sie selbst
bekommen, Also möchte ich nur diesen schnellen Haftungsausschluss geben. Es ist auch auf meinem Kanal. Wenn Sie das auf einem Video auch überprüfen möchten. Aber alle,
willkommen, um Fähigkeiten zu teilen. Wenn Sie irgendwelche Fragen haben, lassen Sie sie in den Kommentaren des Kurses und ich werde Ihnen gerne in jedem der Bereiche helfen, und ich kann es kaum erwarten, loszulegen.
2. 1-1 Modell: Das erste große Modell, das wir abdecken werden, ist das des Wasserfallmodells. Also mit Wasserfall-Modell, was wir tun, ist, dass wir im Grunde Wasser fallen von Schritt zu Schritt zwei. Also begannen wir die Anforderungen, und wenn wir dann sicher sind, dass die Anforderungen perfekt sind, gingen
wir zu dem Design, das wir von dort zur Implementierung übergehen, sobald wir sicher sind, dass dies
perfekt ist, bis hin zum Testen der Bereitstellung bis hin zu Wartung. Jetzt muss das nicht sein. Weißt du, diese Schritte. Es könnte jeder Siris von Schritten sein, die uns zu dieser endgültigen Schlussfolgerung bringen. Aber die Bedeutung des Wassers für die Methode oder das Wasserfallmodell ist, dass wir uns von
Schritt zu Schritt zwei bewegen , und es ist eine Art von dem, was wir den ganzen Kurs abdecken, wie wir reden, als ob alles in einem linearen Fluss und Du folgst immer. Befolgen Sie diese Schritte. jedoch Das Problem mit dem Wasserfallmodell istjedoch, dass es nicht sehr adaptiv ist. Es ist sehr, sehr vorausschauend. Erinnern Sie sich an die beiden Wörter, die wir in der letzten Vorlesung verwenden ,
und weil
es
sehr , sehr vorausschauend ist, bedeutet das, dass,
wenn wir Fehler finden , sagen wir in der Testphase,
das bedeutet, dass wir gehen müssen rückwärts. Also, wenn zum Beispiel wir es
zum Beispielim Test finden, lasst uns die Farbe hier wechseln, dann müssen wir tatsächlich zur Implementierung zurückkehren und dann von der Implementierung zurück zum Design und dann Anforderungen und im Grunde, was wir tun müssen, sagen wir, wir finden eine Luft hier drin ein wirklich ernster Fehler mit der Art, wie wir programmiert haben, sind unsere Software. Wir müssen gehen und die Anforderungen ändern, die Anforderungen
regeln. Dann werden wir gehen, um das Design zu reparieren, haben mit neuen Subsystem-Designs, neuen Modul-Designs, etc. Dann gehen wir zurück in die Implementierung, müssen sie neu codieren, und dann müssen wir sie erneut testen. Und wenn die Dinge bereits eingesetzt werden, müssen
wir noch weiter gehen. Wir müssen fortfahren und alles von dort überarbeiten. Und sobald wir in die Wartungsphase gekommen sind, ist
es irgendwie wie in einem Kreis hier unten, weitermachen wird. jedoch Wenn wirjedochwichtige Änderungen in der Wartungsphase vornehmen, müssen
wir immer noch genau das gleiche tun oder noch grafische Wärme den ganzen Weg zurück gehen und alles
wiederholen, um sicherzustellen, dass die gesamte Dokumentation alles , die innerhalb des Wasserfallmodells unterstützt werden. Das Wasserfallmodell ist also ein Modell, das sehr,
sehr, wie ich schon sagte,
vorausschauend ist sehr, wie ich schon sagte, . Es ist etwas, wo Ihr Team dies vorher codiert haben muss, damit es erfolgreich ist. Jetzt mit diesem, ist
es auch sehr effizient und es ist sehr einfach zu bedienen. Es gibt also eine Menge Overhead. Also wieder, wenn Sie mehrere Websites oder so etwas erstellen, dann ist dieses Modell wahrscheinlich etwas, das gute Angst Team sein wird, weil ich nicht viel Zeit damit verbringen muss, tatsächlich über das Software-Design nachzudenken -Prozess. Sie können einen Prozess verwenden, der bereits mit einer ganzen Reihe von Schritten entwickelt wurde, und sie könnten einfach damit jetzt mit dem Wasserfallmodell arbeiten. Wir haben auch dieses Problem dieser Kosten im Laufe der Zeit zu beheben. Also lassen Sie uns sagen, jeder dieser verschiedenen Schritte,
so dass Sie wissen, dass dies ist, wenn die Anforderungen abgeschlossen sind. Sobald der Entwurf abgeschlossen ist, sobald die Implementierung abgeschlossen ist, nachdem alle Tests abgeschlossen sind, was die Bereitstellung abgeschlossen ist usw., könnte
es verschiedene Schritte sein. Aber die Bedeutung dieses Graphen ist, Ihnen zu zeigen, dass
es,
wenn Sie weiter gehen, nicht nur ein linearer Preis im Laufe der Zeit ist, was bedeutet, dass Oh was bedeutet, dass Oh,
wenn wir es reparieren , wenn wir etwas hier tun müssen, es ist nur all das kombiniert, um wieder zu diesem Punkt zu kommen. Es ist diese Art von exponentieller Sache, bei der, wenn wir einen Fehler machen und darüber erfahren, vielleicht in der Implementierung oder in der Nähe der Bereitstellungsphase, es wesentlich mehr Zeit in Anspruch nehmen wird, als wenn wir es in der Anforderungsphase beheben vielleicht bis zu 50 Mal so viel Zeit, um zurückzugehen und alles zu ändern, um es wieder zum Laufen zu bringen. Und deshalb ist
das Wasserfallmodell überhaupt nicht flexibel. Jeder Schritt muss sehr gut geplant sein. Wir müssen im Grunde sicherstellen, dass alles perfekt ist, und einige Unternehmen werden das tun, und es ist eigentlich
sehr, sehr irgendwie. Viele Programmierer werden herumsitzen und ihre Daumen twidmen,
darauf warten, dass die Anforderungen oder etwas durch eine ganze Reihe von verschiedenen
Komitees übergeben werden , um sicherzustellen, dass es perfekt ist und so diejenigen, die es einige Zeitverlust in dort auch. Aber es muss sehr gut geplant sein. Und es wird eine Weile dauern, um das Produkt auf den Markt zu bringen. Wenn wir etwas tun, über das wir später sprechen werden, etwas
mehr, iterativ, wo wir irgendwie eine V erstellen, die wirklich einfach ist, und wir beginnen, Features mit den drei und Version für Inversion fünf hinzuzufügen. Dann holen wir das Produkt
wirklich, sehr bald raus . Und dann können
wir, weißt
du, damit anfangen, darauf aufzubauen, und ich weiß nicht warum, aber ein Schneemann kam mir hier irgendwie in den Sinn, und wir können tatsächlich ein Produkt rausbekommen, das, Du weißt schon, fangen Sie an, dafür zu arbeiten. Wir können Feedback von diesem schwächen Beta-Test bekommen, für den wir Geld bekommen können, aber damit waren alles in einem Schuss zu tun. Die erste Version des Produkts wird wahrscheinlich die endgültige Version des Produkts sein, und weil wir tatsächlich unsere Marktchancen verpassen könnten,
Vielleicht, wenn wir rausgekommen, wissen
Sie, halb assed viele Features drei Monate früher, es wäre viel erfolgreicher gewesen, als drei Monate zu spät mit allen Funktionen,
und etwas, das sehr wichtig ist, ist, dass die Technologie schnell bewegt und was das? Wir werden uns nicht an neue Technologien anpassen können. Also, wenn wir in einem sich schnell entwickelnden Bereich sind, wie zum Beispiel
Autos, wo man weiß, dass Autosoftware wirklich ziemlich schnell Dinge entwickelt, wie, Internet of Things Software, Du weißt schon, wie Smartwatches oder wie smarte Hemden oder was auch immer. Dieser ganze Markt entwickelt sich sehr schnell. Und neue Technologien kommen 68 vielleicht ein Jahr nach dem anderen heraus. Und wegen dieser Art von schneller Iteration, wegen
der wegen
derjährlichen oder vielleicht sogar monatlichen Iteration der Technologie,
wenn wir ein Stück Software bauen, das zwei Jahre benötigt, jährlichen oder vielleicht sogar monatlichen Iteration der Technologie, wenn wir ein Stück Software bauen, das zwei Jahre benötigt, Und wir werden nichts zwischen diesen zwei Jahren herausgeben,
bis wir unsere Software rausbekommen, hat sich
die Technologie vielleicht weiterentwickelt und unser gesamtes Projekt ist veraltet, also müssen wir das auch berücksichtigen. Aber das Wasserfall-Modell. Wegen all ist
es in vielen Bereichen anständig schlecht, aber es sollte nicht sofort abgeschrieben werden. Es hat seine Vorteile in mehr organisierten Strukturen und Orten, wo Teams immer wieder
die gleichen Dinge zu schaffen , und es hat diese effiziente, und es hat diese effiziente,
niedrige Kosten Art von Idee mit ihm laufen. Aber das ist das erste Modell, das Wasser für das Modell. Es ist sehr wichtig und viele Dinge basieren darauf.
3. 1-2 V-Modell: Das nächste Modell, von dem wir sprechen, wird das des Modells sein. Und das V-Modell ist eine Art Verbesserung des Wasserfallmodells. Oder wenigstens kümmert es sich um ein Problem, das die Menschen mit dem Wasserfallmodell bemerkt haben. Und dieses V-Modell nimmt im Grunde den Wasserfall. Der Wasserfall ist also, du weißt schon, das
unten, runter und runter und es braucht es und es biegt es auf dieser Art von Implementierung hier unten, und es bringt die Tests auf die rechte Seite, und dann ist die Bereitstellung einfach so wie vielleicht der nächste Schritt nach rechts hier drüben, wenn all dies abgeschlossen ist. Aber was dieses Modell tut, ist, dass es so funktioniert. Also denke nicht, dass wir so gehen und dann auf die rechte Seite zurückkehren. Was wir tun, ist, dass wir hier im Grunde an diesen Schichten arbeiten. Wir haben also diese Top-Layer, die diese Verbindung zwischen Anforderungen und Akzeptanztests ist, als Design- und
Systemtests , Architekturintegration und Modul- und Komponententests. Und der Grund, warum wir das tun, ist, dass
wir in der letzten Vorlesung darüber sprechen, wie es ein Problem damit gab, in dem Test ist die
Situation , in der wir Fehler finden, richtig? Nun, wenn wir einen großen Fehler finden, müssen
wir den ganzen Weg zurück gehen, um diese Fehler zu beheben. Also müssen wir gehen. Alle aktiven Umgebungen haben die Implementierung entwickelt, um diese Fehler zu beheben. Nun, jemand ist gestorben. Nun, wenn es wäre, wenn dies der Schritt ist, wo wir die meisten Fehler finden würde keinen Sinn, es nicht am
Ende zu setzen , sondern nahe am Anfang und tun es bei jedem Schritt, wenn wir nach unten gehen. Und das ist es, was das V-Modell macht. Damit haben
wir jeden Schritt, und dann haben wir Tests, um diesen Schritt zu überprüfen. Also gibt es die rechte Seite hier drüben ist im Grunde Verifizierungsüberprüfung. Der richtige Stil wird also sein, dass wir überprüfen, dass jeder dieser Schritte tatsächlich gut ist, bevor wir weitermachen. Und diese rechte Seite ist genau das, was wir getan haben. Dass das Design jetzt mit diesem Modell, wir haben diesen Designteil genommen und wir tatsächlich brach es in seine Unterkomponenten. Erinnern Sie sich, wie wir über Architektur gesprochen und sie verschiedene Module und dann Design als Ganzes? Das ist es, was wir hier tun. Wir nehmen das an, weil wir es tatsächlich ausbrechen, damit wir verschiedene Teile
testen können . So ist die 1. 1 Anforderungen mit Anforderungen. Was wir haben, ist, dass wir diese Idee der Akzeptanz haben. Prüfung, Akzeptanz. Testen ist Testen, um sicherzustellen, dass die Anforderungen genau das sind, was wir wollen. Ein Beispiel dafür wäre, nur die Anforderungen zu finden und zu versuchen, fast
Simulationen zu erstellen oder möglicherweise Dokumente zu erstellen, die jeden Anwendungsfall detailliert beschreiben würden. Wie genau planen wir also, dass der Benutzer das System benutzt? Und dann versuchen wir im Grunde, fast zu simulieren, was ein Benutzer tun würde, und sehen, ob
er diese Aufgaben erledigen wird. Also schauen wir uns die Anforderungen an. Wir versuchen, einen Benutzer zu erstellen, der ihn verwenden würde, und sehen, ob es etwas, das wir verpasst haben,
etwas, das wir nicht verstehen. Dies wird normalerweise mit dem Kunden getan, um sicherzustellen, dass es wieder akzeptabel ist, tun, was wir tun wollen und daher eine akzeptable Lösung sein wird. Der nächste Schritt ist das Design, und wenn wir über Design wie dieses sprechen, sprechen
wir über das gesamte System, also sprechen wir über diese wirklich oberste Ebene oder wir sagen, wir werden diesen Abschnitt haben, diesen Abschnitt, diesem Abschnitt in diesem Abschnitt und vielleicht nur ein wenig, wie, vielleicht Kommunikation hier und Kommunikation wie das. Und das wird das ganze denken, das ist das Design des gesamten Systems als Ganzes. Und sobald wir das bekommen, werden
wir einige Systemtests durchführen, vielleicht ein paar Testfälle ein wenig Code aufstellen, nur um zu sehen und
sicherzustellen , dass dieses Design richtig funktioniert. Dann gehen wir noch einen Schritt weiter. Wir brechen tatsächlich in diese ein. Wir fangen an, Architekturen zu entwerfen , alles
herauszufinden, funktioniert und dann machen wir Integration,
testen, testen, stellen sicher, dass das alles zusammen funktioniert und dann, dass es zusammen funktioniert, immer noch mit dem anderen Einsen. Und dann machen wir den ganzen Weg bis zum Modultest, wo wir diese in die winzigen Module aufteilen, die Code-Bits, die tatsächlich miteinander kommunizieren. Wir machen diese Idee des Komponententests, über
die wir gesprochen haben, und dann gehen wir vielleicht die Kette zurück, um sicherzustellen, dass der Rest davon
mit allem anderen funktionieren wird , weil wir alle Tests in diesem -Phase. Sobald wir zur Implementierung gekommen sind und wir es beschichten, sind
wir fertig, weil die Tests über den gesamten Teil davon durchgeführt wurden. Und jetzt garantieren wir, dass wir nicht in
diesen großen Bereich laufen, wo wir viele Fehler haben werden, die sie früher finden und daher die Kosten reduzieren, weil anstatt sie vielleicht hier oben auf der Kosten-Timeline, finden
wir sie hier unten. Und wir versuchen sicherzustellen, dass wir sie vor diesem Punkt finden, und sie werden nicht den ganzen Weg bis zu diesem Punkt kaskadieren. Und darum geht es beim V-Modell. Es ist eine Art nächster Schritt auf der Wasserfallflasche. Jetzt ist der einzige Betrüger damit, dass es mehr Vorarbeit gibt. Bei jedem Schritt, wir machen, müssen wir ganze Testalgorithmen entwickeln. Denken Sie daran, wir reden über Tests. Das Testen ist schwierig. Es ist etwas, das nicht sehr einfach zu überlegen ist und auch nicht sehr einfach zu implementieren ist. In diesem Sinne müssen
wir verstehen, dass wir aufgrund der Art und Weise, wie wir dies tun, das jeden einzelnen SEC-Abschnitt hier testen müssen, und das bedeutet, dass wir mehr Vorabkosten haben werden. Es wird schwieriger. Es wird etwas komplexer sein, diese Software zu verwalten. Aber es ist großartig, wenn wir vielleicht nicht 100% sicher sind, wir haben eine Art von der Art, wie wir gehen wollen, aber wir sind nicht 100% sicher auf der, wie man dort in dieser Situation zu bekommen. Wir wollen das V-Modell verwenden, damit wir Schritte unternehmen können, um es weiter zu testen, um sicherzustellen, dass wir den richtigen Weg gehen.
4. 1-3 1-3: Das nächste Modell, über das wir reden werden, ist das ein Sheemie-Modell? Und dieses Modell wurde aus einer Idee aufgebaut, an die wir vielleicht erst gar nicht nachgedacht haben. Aber wenn man darüber nachdenkt, ist
es sehr praktisch, und das ist, dass
wir in jeder dieser Phasen nicht unbedingt dieselben Ingenieure haben. So oft sind wir unter der Annahme, dass wir vielleicht ein oder zwei Ingenieure haben und sie werden die Anforderungen erfüllen und dann entwerfen und dann die Implementierung in der Prüfung und Bereitstellung in der Wartung. Aber in der Regel haben wir, besonders in größeren Unternehmen,
ist, dass wir spezielle Ingenieure haben, die Dinge wie die Anforderungen tun, die Dinge wie das Design tun, ob es das Backend oder das Front-End, dass wir Implantationsingenieure haben. Wir haben Testingenieure, wir haben Deployment- und Wartungstechniker. Und wegen all dem haben
wir dieses Problem, wo, wenn wir es Schritt für Schritt tun, wie in den vorherigen Beispielen mit E-V-Modell und dem Wasserfallmodell, all diese Ingenieure, es hier unten warten müssen, bis die vorherige Schritt abgeschlossen ist, und dann, sobald der vorherige Schritt abgeschlossen ist, warten
alle Ingenieure und die Spitze noch einmal. So erhalten Sie diese Art von Bereich, in dem viele Ihrer Mitarbeiter herum sitzen und darauf warten andere Arbeitskräfte ihre Aufgaben erledigen. Und so haben
wir das Sashimi-Modell die Fähigkeit, diese Linien nach unten zu ziehen. Also im Grunde haben wir es zerschnitten. Es ist also das Sashimi-Modell. Wenn Sie jemals Sashimi hatten, ist
es ist
es
ein Gericht mit im Grunde rohem Fisch zerschnitten,
und es ist normalerweise übereinander gelegt,
wie so normalerweise übereinander. ein Gericht mit im Grunde rohem Fisch zerschnitten, und es ist normalerweise übereinander gelegt, Und das ist der Grund, warum das so ist. Sie mich Modell ist, weil Sie diese Stücke alle übereinander gelegt haben, und dann haben Sie im Grunde zwei verschiedene Kategorien hier abgeschnitten. Also, wenn wir weitermachen, könnten
wir diese im Grunde nicht zeichnen und was das ist. Dies sind die verschiedenen Phasen der Entwicklung, und wir würden natürlich diese Phasen
vielleicht so machen, als hätten wir vielleicht einen Monat Ziele oder zwei Monate Ziele. Aber im Wesentlichen, was wir tun, ist, ein bisschen von allem in jeder
dieser Phasen zu tun . Also mit den Anforderungen und dieser Grafik gehen wir diesen Weg. Also, wenn wir durch die Zeit gehen, gehen
wir auf diesen Weg. So wie wenn wir anfangen, wir wissen Sie, wir beginnen mit den Anforderungen, dem Design und vielleicht ein wenig Implementierung, vielleicht ein wenig Test hier und dann die nächste Phase. Wir arbeiten noch an den Anforderungen und dem Design und jetzt einen großen Teil der Implementierung . Aber wir erhalten auch unsere Tests und unsere Bereitstellung ist Wartung. Ingenieure beteiligten sich an der Bereitstellung. Ingenieure finden heraus, den besten Weg, um es zu spielen, die Wartung oder vielleicht die Schaffung von Systemen. Vielleicht gab es Testmodelle oder Betas. Dass diese Jungs arbeiten, ist gut, und wir machen das mit jedem Schritt. Also im nächsten Schritt hier drüben, was wir haben, ist, dass wir jetzt alles tun. Wir schneiden alles zur gleichen Zeit. Und dann hier unten verjüngen
wir uns langsam, bis wir gerade in der Wartungsphase sind. Und wieder hilft uns
das, weil es verschiedenen Disziplinen ermöglicht, schneller zu arbeiten und auch die Entwicklungszeit
verkürzt anstatt warten zu müssen. Sagen wir, wenn es war, du weißt schon, erscheinen zwei Wochen. Dies ist also eine Menge von Wochen 23456 und sieben Wochen für jede dieser Wochen. Nachdem diese Aufgabe sieben Wochen abgeschlossen ist, würde
diese Aufgabe fünf Wochen dauern. Stell dir vor, wir würden diese eins nach dem anderen machen, das wären zwei plus drei plus vier plus fünf plus sechs plus sieben. Oder was wir tun können, ist, dass wir an ihnen alle ein bisschen arbeiten, und wir alle beginnen sie im Grunde fast innerhalb der gleichen Woche. Also wird die Gesamtzeit wahrscheinlich um sieben oder acht Wochen zu jemandem kommen, anstatt all diese zusammen
hinzuzufügen. Und das ist viel Zeit dort sicher. Nun, das Problem, das wir damit haben könnten, ist, dass es zu Luft und Neugestaltung führen kann. Was das bedeutet, ist genau wie was? Das Wasserfall-Modell. Wenn wir eine Luft finden, ATT ist ein Punkt, wir müssen den ganzen Weg zurück, und der Fehler ist mawr weit verbreitet in dieser Situation, und das ist, weil wir nicht die Anforderungen oder das Design abgeschlossen haben. Noch. Zu der Zeit, die wir implementieren und testen, was bedeutet, dass wir hier drüben etwas finden, das komplett überarbeitet werden muss und alles, was hinten, vielleicht so hier drüben, überarbeitet werden muss. Und deshalb,
all die Arbeit, die wir nicht Onley haben, müssen nur die Anforderungen überarbeiten. Wir müssen jetzt alles überarbeiten, was die Anforderungen berührt haben. Also, alles hier unten, müssen
wir überarbeiten. Also öffnet es uns irgendwie zu
diesem Potenzial, wo, wenn wir nicht darüber nachdenken und wenn wir ein wenig schlampig sind und Luft spät haben, werden
wir eine ganze Menge Nacharbeiten machen müssen und es kann sich tatsächlich herausstellen, dass es wird es langsamer machen, sich auf diese Weise zu entwickeln, wenn wir diese Lüfte haben. Aber wenn wir diese Pfeile nicht haben, haben
wir großartige Arbeit für ihre Auslastung und Effizienz und wir haben die
Entwicklungszeit wirklich verkürzt .
5. 1-4 vs Iterative: Also für die nächsten paar Modelle müssen
wir ein paar Begriffe verstehen. Das ergibt also Sinn. Und das wird diese Idee von inkrementellen Versen sein. Iterativ und inkrementell und iterativ sind ziemlich ähnlich, außer dass sie eine Art andere Art haben, das in Produkt zu haben. Und was wir damit meinen, ist, dass sie sowohl vorankommen als auch das endgültige Ziel erreichen, indem auf ein Originalprodukt
aufbauen. Es gibt also etwas, mit dem wir angefangen haben und wir bauen darauf auf. Jedoch mit inkrementellen wurden im Laufe der Zeit gebaut. Stellen Sie sich wie eine Montagelinie vor, in der wir nie zum Endprodukt gelangen, bis wir am Endprodukt sind und eine iterative, in der wir tatsächlich viele Endprodukte bauen und ständig neue Produkte
herstellen, die etwas näher an unserem Endprodukt sind. Aber das ist fast voll funktionsfähig. Also lassen Sie uns über die gehen, um ein wenig mehr in der Tiefe zu hören. Also wieder, unsere 1. 1 ist inkrementell. Bauen Sie Schritte im Laufe der Zeit, Montagelinie
wir haben , wissen
Sie, , wissen
Sie,wir beginnen mit einem Auto und es begann wie ein Rahmen, und dann bewegt es sich auf, wissen
Sie, die Außenseite des Innenraums als vielleicht der Motor, etcetera, etc. Vielleicht haben wir darüber geredet, einen Computer zu bauen. Also beginnen wir mit , dem Fall, und dann schicken
wir ihn den Leuten, die die Motherboards einbauen. Also haben wir ein kleines Mutterbrett da drin, und im nächsten Schritt schicken
wir es an die Leute, die die CPU reinlegen werden. Also jetzt haben wir eine Mutterplatine in der CPU und nächsten Schritt. Wir haben jetzt eine Hauptplatine CPU, und dann stecken wir etwas RAM hinein, und so weiter und so weiter, bis wir einen finnischen Computer haben. Aber beachten Sie, dass wir zu keinem Zeitpunkt während dieser haben wir einen Computer, der arbeiten kann. Es gibt nichts, wo wir eigentlich etwas haben, das wir einem Klienten geben
können , um zu sehen, wie es läuft. Wir bauen im Laufe der Zeit. Wir geben ihm einen Schritt zum nächsten. Und das ist es, was das inkrementelle Modell ist. Wir betrachten diese Schritte, diese Ziele, die wir erreichen wollen, und im Grunde bauen wir dieses Ziel auf und wir haben diese, wie fast viele Projekte, um es von diesem Staat in diesen Zustand zu bauen. Sagen wir also ST 123 und vier. Also bauen wir es von Staat eins, um zu versuchen, es an den Anfang des Staates zu bringen, dann
gehen wir vom Staat zu versuchen, an den Anfang zu kommen. Estate drei und wir bewegen uns über, wie jetzt mit dem iterativen Modell wurden Prototypen gebaut, und wir passen es mit neuen Prototypen an. Das wäre, wenn wir ein Auto bauen und eine wirklich,
wirklich schlechte Version bauen würden. Vielleicht mit fast, du weißtschon, du weißt Sitze im Inneren
stehlen. Es gibt also nicht einmal eine Polsterung auf der Innenseite. Es ist nur dieser Stahlsitz darin. Dieses Auto, es hat ein paar Räder drauf, und das ist so ziemlich es dort. Es ist immer noch ein Block, um das wir noch nicht mal entworfen haben. Aber die nächste, wir fangen tatsächlich an, es ein wenig zu verfeinern. Vielleicht fügen wir ihm ein bisschen eine Form hinzu. Statt dieser Art von blockigen Erscheinung haben
wir also einen besseren Teil der Aerodynamik in sie. Wir hatten, weißt
du, bessere Räder dazu. Wir hatten bessere Aussaat, und dann den nächsten Teil hatten wir die Luxus-Eigenschaften. Vielleicht hatten wir etwas anderes und so weiter und so weiter. Aber jedes dieser Produkte wird alle die Aufgaben zur Hand zu erfüllen,
was bedeutet, dass, wenn wir diese Produktrate hier haben,
es in der Lage sein sollte, im Grunde alles zu tun, was das Endprodukt in der Lage sein sollte, dio. Allerdings wird
dieses Produkt hier eine schlechtere Version davon sein. Es wird billigeres Teil benutzen. Es wird dort sein, wo das Design nicht vollständig umgesetzt wird. Vielleicht sind einige Dinge experimentell dabei. Wir testen ein paar Dinge aus. Wir testen
zum Beispiel die Räder , aber wir sollten es trotzdem bedienen können. Wir sollten es trotzdem einem Kunden zeigen können. Wenn das,
ah,
Software auf jeder dieser Seiten ist ah, ,
diese, würden
wir nie in der Lage sein, einem Kunden zu zeigen, bis dieser Teil hier, könnten
wir es vielleicht zeigen, sobald es fast fertig ist. Aber definitiv nicht am Anfang. Während diese eine Rate, nachdem wir den ersten Prototyp beendet
haben, sollten wir in der Lage sein,
dies dem Kunden zu zeigen und zu sagen: „ Hier sind wir gerade da, weißt
du? Kommen
Sie, lassen Sie uns einen kleinen Testfahrer nehmen, lassen Sie mich Ihnen zeigen, wie dieses Programm funktioniert. Lassen Sie mich Ihnen einige der kleinen Details des Programms zeigen. Und dann beim nächsten Mal werden sie
vielleicht Feedback geben und das geht in unsere nächste Generation. Wir werden ein paar Anpassungen vornehmen und es bis zum Anfang zeigen und wieder. Und das ist der Unterschied zwischen inkrementellen und iterativen. Es ist ein wichtiger Unterschied. Sie klingen sehr ähnlich, und sie sind sehr leicht zu verwirren, aber das zu verstehen ist wichtig für einige der nächsten Schritte.
6. 1-5 inkrementes Modell: so dass das inkrementelle Modell diesen Begriff verwendet, über den wir gerade gesprochen haben
, der inkrementell ist, etwas implementiert hat. Also mit inkrementellen Modell, was wir tun, ist, dass wir im Grunde den Software-Entwicklungsprozess mehrmals
im Laufe der Entwicklung abschließen . jedoch Bei jedem Prozess haben
wirjedoch ein bestimmtes Ziel im Auge. So haben wir zum Beispiel
das Gold, um,wissen
Sie, wissen
Sie das Backend zu
bauen oder das Frontend zu bauen oder ein For Mount zu bauen. Bauen Sie eine Seite aus und wir gehen weiter. Wir schaffen die Anforderungen, um die Implementierung zu entwerfen, die Tests und dann haben wir in das, was unser Endprodukt sein wird, eingesetzt. Also gehen wir im Grunde in das erste Inkrement. Sobald das fertig ist, gehen
wir in die zweite, oder es muss nicht sein. Außerdem müssen
wir das nicht beenden, um zum zweiten zu kommen. Viele Male werden zu den Schritten gehen und dann, wenn wir vorbei sind,
zum Beispiel, wird
die Umsetzung, die wir in die Prüfung der Arbeitslosigkeit gehen, beginnen. Das nächste Inkrement wird mit der nächsten Entwicklungsphase beginnen, und das erlaubt uns, diese kleine Überlappung hier zu haben, was uns wiederum ermöglicht, in einem effizienten Tempo zu arbeiten, und während dieses Prozesses wir bauen langsam auf das Endprodukt. Die Inkremente erlauben es uns auch, endgültige Teile des Designs zu zeigen. Wenn das zum Beispiel die Titelseite und ein paar Formulare
war, könnten
wir das an den Kunden schicken und sagen: Sieht dieser Teil wieder gut aus? Dies ist kein fertiges Produkt. Wir können nicht zulassen, dass sie das Ganze testen und uns Feedback geben, um das Ganze zu ändern . Was wir
aber tun können , ist ein wenig Feedback zu den aktuellen Teilen und Teilen, die wir gebaut haben und sehen, wie sie
genau diese Teile und Teile mögen. Also bauen wir die Titelseite und ein paar Farmen auf ein paar Seiten, und das ist unser erstes Inkrement. Sobald das erledigt ist, können
wir dem Kunden Feedback schicken und dann in die nächste Phase übergehen, äh, mit irgendwelchen Änderungen, oder wir haben eine neue Phase erstellt, um etwas zu ändern, was der Kunde Probleme hatte mit, und damit haben wir die Idee, diese Tore während des gesamten
Prozesses zu setzen , wo wir weitermachen können. Wir können weiterhin produzieren, aber wir können auch immer wieder Feedback bekommen, um zu sehen, ob das Produkt und das Projekt in die
Richtung gehen , die wir wollen, dass es gehen. Es fügt dem Prozess ein wenig Anpassung hinzu. Denken Sie daran, vorausschauend und adaptiv. Dies ermöglicht es uns, ein wenig weiter in diese adaptive Seite zu kommen, wo wir uns
tatsächlich bewegen und anpassen können mit dem, was der Kunde denkt und mit der Art, wie die Produktion läuft. Dies fügt auch Schichten dieser Rückmeldungen hinzu, die uns auch helfen. Eine negative Seite davon sind wieder Überarbeitungen. Wenn wir hier größere Überarbeitungen durchführen müssen, haben wir
vielleicht bereits begonnen, mit diesem Gedanken hier oben zu entwickeln, so dass wir vielleicht einige
der zukünftigen Entwicklungen ändern müssen. Ändern Sie die Anforderungen nur hier, aber hier und hier, was später auch die ganze Reihe von Prozessen ändern würde. Wir müssen rückwärts gehen und verschiedene Dinge wieder aufbauen. Eine andere Sache sind die Kosten. Die Kosten für die Ausführung einer ganzen Reihe von verschiedenen Inkrementen werden viel höher sein. Wir müssen nicht nur diesen Aufwand für die Verwaltung dieser Sache haben, wir müssen auch mehrere Teams haben, die an verschiedenen Schritten arbeiten, weil das gleiche Team, das an diesem Schritt arbeitet, um dieses zu beenden, möglicherweise nicht dasselbe ist Team, das daran arbeiten kann. Sonst gehen
wir irgendwie in diese lineare Sache, oder wir bewegen uns einfach von einem zum nächsten, und das kann ein Prozess sein. Wir können einen inkrementellen Prozess durchführen, bei dem wir uns einfach von einem zum nächsten bewegen. Aber wir verlieren ein wenig von dem Nutzen, wenn wir das tun, weil wir ein wenig von dieser Geschwindigkeit und so etwas verlieren. Wir gewinnen hierdurch, aber das ist das inkrementelle Modell. Es ist eine großartige Möglichkeit, verschiedene Designprozesse zu verpacken. Und was ordentlich daran ist, ist, dass
wir in jedem dieser Prozesse tatsächlich ein ganz anderes Modell verwenden können. Dies könnte also das inkrementelle Modell sein, und wir könnten den Wasserfall für dieses Modell verwenden. Wir könnten das Modell hier unten gebrauchen, und wir könnten eine sie mich hier unten gebrauchen. Es spielt keine Rolle, weil es sich um kleine Einzelprodukte handelt. Aber das inkrementelle Modell ist wichtig, und es ist ein sehr guter Baustein für andere Modelle in der Zukunft.
7. 1-6 Process: Das nächste Modell, über das wir sprechen werden, ist eigentlich kein Modell, sondern eher ein Framework, und der Grund dafür ist, dass wir tatsächlich Modelle innerhalb dieses Modells verwenden können. Während dieses Prozesses können
wir verschiedene Modelle wie das Wasserfallmodell oder TV-Modell verwenden. Sehen Sie mich das bei jedem einzelnen Schritt mit hier drin? Und so sind wir nicht auf ein einzelnes Modell beschränkt, haben im Grunde einen Spielplan oder einen Überblick darüber, was wir versuchen zu tun. Und dann verwenden wir Modelle, um diese Aufgaben zu erfüllen. Dies ist also das einheitliche Prozess-Framework. Und es gibt viele Abweichungen davon wahrscheinlich mehr als 20 verschiedene Abweichungen
von Menschen, die sich das angesehen haben und versucht haben, eine zu finden, die ein bestimmtes
Problem löst . Zum Beispiel gibt es ein Modell namens Rational, Unified Process. Es gibt eine, die sehr leicht ist. Es gibt eine, die speziell für mehr Dinge wie Agile entwickelt wurde. Es gibt viele verschiedene Iterationen, weil dies eine sehr gute Möglichkeit ist, die
Idee der Softwareentwicklung zu erfassen und dann einen wirklich NI-Überblick darüber zu geben. Das ist also eine Art Grafik hier drüben auf der linken Seite, wo wir unsere Zeit verbringen. Wir haben diese verschiedenen Phasen genannt Gründung, Ausarbeitung, Bau und Übergang. Und diese hier sind grundsätzlich Platzhalter. Wenn Sie in einem Unternehmen sind, würden
Sie Ihre eigenen Augen erstellen oder Leichtigkeit oder sieht Ortiz und jeder von ihnen würde ein
Ziel am Ende davon haben . In jeder Bauphase würden
Sie also ein Ziel am Ende der Phase setzen. Und so wissen Sie, wenn Sie in die nächste Phase umgezogen sind, diese Dinge abgeschlossen, und das versucht nur, Ihnen eine Vorstellung davon zu geben, wie dieser Prozess funktioniert. Es ist in der Anfangsphase. Wir bestimmen die Durchführbarkeit des Projekts. Kann es etwas sein, dass wir das überhaupt schaffen können? Wir betrachten den potenziellen Projektplan und die Kosten. Versuchen
Sie zu schätzen, wie lange wird es dauern? Wie viel werden Sie die Firma kosten? Wie hoch ist die Kapitalrendite? Dann entscheiden wir uns. Wollen wir es kaufen oder bauen? Vielleicht gibt es da draußen eine Lösung. Vielleicht gibt es eine Teillösung, die wir die Teillösung kaufen und von dort aus
bauen können . müssen wir auch in der Anfangsphase untersuchen. Und dann ist die Lieferung ble oder das Ziel dafür, zu versuchen, einige Lebenszyklusziele zu bekommen, versuchen, den Plan
herauszufinden, herauszufinden, wohin wir gehen, was das kostet, wen Wir brauchen ein höheres Zeug wie das. Und das ist in dieser Anfangsphase, und Sie werden sehen, dass wir diese Art von dem haben, worüber wir die ganze Zeit
auf der linken Seite gesprochen haben . Hier haben wir die Anforderungen, um die Implementierung und den Test und die Bereitstellung hier
und dann diese Idee der Geschäftsmodellierung zu entwerfen , die genau diese Idee ist , wissen
Sie, Kosten und Leute zu mieten und solche Dinge. Und so werden Sie feststellen,
dass wir in der Anfangsphase ein wenig Anforderungen machen,
vielleicht eine grobe Skizze dessen geben, was wir zu schaffen versuchen. Aber wirklich Business-Modellierung, wir finden heraus, ist dieses etwas, das unser Unternehmen die Zeit verbringen will, und die Ressource ist zu bauen, und das ist wichtig, weil wir nicht etwas bauen wollen, das uns nicht dazu bringt Geld auf lange Sicht. Und das ist eine großartige Möglichkeit für das Risikomanagement. Anstatt in ein Projekt zu springen und eine ganze Menge Geld auszugeben, geben
wir eine winzige Menge von Art Explorationsgeld im Voraus aus und finden heraus, ob das
gut für uns ist , wenn wir aus dieser Phase sind. Sobald wir eine Idee haben, haben
wir ein paar Häkchen, die sagen: Ja, machen
wir es weiter. Wir gehen hinunter in die Ausarbeitungsphase, die Ausarbeitungsphasen, in denen wir diese Idee verfolgen. Diese und diese Idee, dass wir eine Gründung hatten und wir bauen es aus, wir kommen mit ihren Anforderungen. Das ist, wo die Anforderungen sind schwer. Hier gehen wir auf die bekannten Risikofaktoren ein. Wir überprüfen und validieren die Systemarchitekturen. In diesem Fall werden
wir tatsächlich den Kernprototypcode zum Testen erstellen. Also werden wir eine sehr,
sehr lose Art von Code aufbauen , der miteinander reden wird. Es wird irgendwie tun, was wir haben, aber es wird uns im Grunde zeigen, dass es möglich ist. Grundsätzlich ist der
Nachweis von Konzepten das, was wir das nennen. Also werden wir Code austippen und
sehen, ob es so funktioniert, wie wir denken, dass es funktionieren wird. Und von dort aus können wir wirklich anfangen
, , es in der Konstruktion auszuarbeiten. Aber in dieser Phase machen
wir nur ein bisschen davon. Und deshalb können Sie sehen, dass die Implementierung hier oben geht. Wir beginnen ein wenig die Implementierung wieder, um herauszufinden, Kann es getan werden? Und wenn ja, auf welche Weise? Wir machen ein wenig Tests, weil wir sehen müssen, ob es tut, was wir denken, es sollte sein und dann bereitstellen. Wir stellen es anderen Leuten zur Verfügung, die es Tester gaben, die Leuten zeigen, dass, hey, dieser Proof of Concept tatsächlich funktioniert. Und dann ist das schwer und auch die Analyse und das Design. Also bauen wir Anwendungsfalldiagramme und Klassendiagramme und
Architekturdiagramme usw. im Bau mit der Konstruktion. Was wir tun, ist, dass wir das Ding bauen. Also arbeiten wir hier tatsächlich stark an der Implementierung. Wir werden all unsere Ressourcen in diesem Bereich einsetzen, und dies ist die längste und größte Phase des Projekts. Sie können daran sehen, dass sie hier mit mehreren Sehwerten ausgearbeitet haben, mehrere verschiedene Phasen und Art von Wegen, dies zu durchlaufen. Dieses System basiert auf dem Fundament, das durch Ausarbeitung ausgelegt ist. Also haben wir diese Art von Architektur gebaut, dieses sehr kleine Modell oder vielleicht sogar ein kleines Projekt. Und daraus werden wir von dort aus aufbauen. Features werden in kurzen Time-Box-Iterationen implementiert. Das ist wichtig. Das bedeutet, dass wir grundsätzlich voll in Produkten ohne Funktionen arbeiten. Also haben wir
natürlich, dass Sie wissen, es beginnt mit der Box, und später fügen wir die Funktionen hinzu, als wäre es ein Auto, das wir die Räder hatten und später fügen wir,wissen
Sie, wissen
Sie, die Windschutzscheibe hinzu, etcetera usw. Aber was wir tun, ist, dass wir mit einer funktionierbaren Einheit beginnen. Also hier, weißt
du, ich meine das Böse. Hör auf. Wir könnten hier
quadratischeBlöcke aufsetzen quadratische . Es ist immer noch ein Auto. Es ist immer noch in der Lage, gefahren zu werden, aber im Laufe der Zeit machen wir es besser und besser. Wir fügen weitere Funktionen hinzu, die ein wenig Feedback erhalten, und wir fügen mehr Funktionen hinzu, weil dieses Feedback und machen bessere und bessere Iterationen. Und das kommt mit dieser Idee von Belüftung zusammen. Denken Sie daran, intuitiv und inkrementell Will dies tatsächlich ein wenig von beiden in den winzigen Teilen hier erreicht. Was wir tun, ist, dass wir belasten. Also machen wir einen, der winzige Inkremente macht, bis wir eine tatsächliche Iteration machen. Sobald wir die Generierung beendet , stellen
wir sie bereit, haben, stellen
wir sie bereit,
erhalten Feedback von ihr
und wir beginnen wieder in winzigen Schritten, bis wir zu dieser Iteration kommen und so weiter und so weiter und so weiter. Und die Lieferung Was? Hier ist ein kontinuierlicher Strom von Software zu verbessern. Also werden wir, wissen
Sie, hier haben wir die Version. Wissen Sie, ich glaube, es beginnt normalerweise mit , 0,1, dass wir 0,20 Punkt drei usw. bekommen,
wo wir tatsächlich anfangen, diese Versions-Labels zu entwickeln, wenn wir besser und besser werden. Und schließlich haben wir diese Idee des Übergangs. Der Übergang ist der Ort, an dem das System für Zielbenutzer bereitgestellt wird. Feedback wird eingegangen, Verfeinerungen werden vorgenommen und der Lieferbulle ist, sobald dies abgeschlossen ist, das Endprodukt ist ebenfalls vollständig. Also in der Übergangsphase, die meisten unserer Designs sind ziemlich viel getan wurden abgewickelt. Bereitstellung wurde verfeinert und sichergestellt, dass die Geschäftsmodellierung und die Anforderungen
vollständig gefunden werden . Die Testphase beginnt hier, und wir beginnen wirklich mit der Bereitstellungsphase, in der wir sie an Menschen weitergeben und sehen, was sie darüber
denken. Sehen Sie, ob es Änderungen geben muss, wenn wir ein paar weitere Iterationen für das
endgültige Projekt machen müssen . Und so, mit dieser Art von Idee mit dieser Idee, haben
wir einen Rahmen, auf dem wir irgendwie unseren Plan erstellen könnten. Das ist also nicht etwas, das du weißt, dass du dir ansehen kannst. Und es wird eine 123 Anleitung geben, wie Sie ein einheitliches Prozessframework für Ihr
Projekt erstellen können. Es ist nur diese Gruppen und diese Art von Skizze dessen, was Sie tun sollten. Und dann müssen
Sie einen ganzen Plan für Ihr Projekt entwickeln. Aus diesem haben
wir bestimmte Vor- und Nachteile damit verbunden. Die Profis sind, dass es adaptiv ist. Seine Qualität und Wiederverwendung Fokus. Es konzentriert sich auf das Risikomanagement bei jedem Schritt. Wir sind irgendwie die Anforderungen zu bewerten,
herauszufinden, ob wir weitermachen müssen oder ob wir das Projekt flexibel
machen Corporate aufgeben sollten . Andere Modelle können wir, wie ich bereits sagte, andere Modelle und Bereiche in jedem der Schritte jedes Inkrement
aufnehmen. Wir können das Modell komplett verändern und von dort aus arbeiten. Die Nachteile O r Wenn Sie sich dies angeschaut und sagte, Nun, wie können wir das tatsächlich umsetzen? Nun, die Art und Weise, wie Sie es tun, ist, dass Sie eine ganze Menge guter Manager und qualifizierte Leute brauchen,
um mit diesem Plan von Anfang an zu kommen . Es ist nicht einfach. Ist nicht etwas, wo wir es einfach ansehen und gehen können, Yeah, okay, lass mich einfach ein Stück Papier rausholen und das wirklich schnell aufschreiben. Es hat viel Overhead, und das macht es sehr kompliziert. Es wird viel zu viel Overhead für kleine Projekte haben, wenn du willst. Und kleiner Maßstab ist etwas sogar so , groß wie,
wie, eine App
wie eine Anwendung im APP Store, die nur als eine einzige Aufgabe, sagen
wir, vielleicht ist es ein Spiel im APP Store. Das könnte zu klein sein, um dies tatsächlich ein praktikables Framework zu verwenden. Und das bedeutet, dass Sie diese wirklich große Sache haben, wo Sie nicht viele Projekte , die dazu passen. Wir sprechen wirklich,
wirklich große Projekte oder Projekte, die viele verschiedene Disziplinen involviert haben. Wissen Sie,
Dinge, die Server und verschiedene AP Augen und Dinge, die auf dem
Front-End und dem Back-End gebaut werden und all diese verschiedenen Dinge. Dort könnte das gerechtfertigt sein. Aber für viele Projekte ist
das viel zu kompliziert und auch wegen der Art und Weise,
wie es entworfen wird, weil wir alle Phasen gleichzeitig ausführen, und wir arbeiten möglicherweise an verschiedenen Modellen und an alles zur gleichen Zeit, wird
es mehr brauchen. Die Ressource wird ausgeführt. Je mehr Programmierer, mehr Manager, mehr Tester. Mawr Äh, im Grunde alles mehr Geld, um dieses Ding zu erledigen, und auch die Timeline wird wahrscheinlich ziemlich schnell sein, aber es wird eine ganze Menge kosten, also haben wir den Weg. Das ist die Geschwindigkeit, die aufgrund dieser Kosten wichtig ist. Aber das ist das einheitliche Prozess-Framework. Ich gehe auf jeden Fall auf Google oder etwas auf, und schaue es ein wenig mehr, weil es eine Menge verschiedener Variationen davon gibt, und sie sind alle hübsches Fleisch und Fleisch und gut zu verstehen, wann immer Sie lernen Software-Engineering. Aber das ist eine sehr wichtige Sache, und das ist tatsächlich eines der am häufigsten verwendeten Frameworks in der Branche heute.
8. 1-7-Modell: Also, jetzt haben wir das Spiralmodell. Das Spiralmodell ist nur, dass es eine Spirale ist. Was wir hier tun, ist, dass wir ständig die gleiche Art von
Entwicklungsbereichen immer und immer wieder durchlaufen, um sicherzustellen, dass wir die
Risiken hyper analysieren oder bei jedem einzelnen Schritt analysieren. Und wir stellen sicher, dass wir gehen und validieren, was wir tun, während wir vorwärts gehen, es gibt eine sehr risikoorientierte. Wir versuchen, mit sehr kleinen Schritten voranzukommen und sicherzustellen, dass wir diese
Idee von Go or no go haben . Das bedeutet. Wollen wir das Projekt fortsetzen oder wollen wir es hier verschrotten? Es ist sehr gut für experimentelle Ideen,
Ideen, die Ihrer Meinung nach möglich sein könnten, aber Sie wissen noch nicht wirklich, also machen wir diese kleinen Schritte vorwärts und stellen sicher, dass wir nicht alles auf
unbearbeiteten Punkt eingehen . Wir wollen nur sicherstellen, dass wir die Situation analysieren,
analysieren, was wir getan haben und weitergehen, wenn es noch machbar ist und eine gute Idee ist, fortzufahren . Also, was? Das Spiralmodell? Was wir tun, ist, dass wir in diesen Quadranten beginnen, und wir bewegen uns ständig durch sie. Also das ist Quadrant 123 und dann vier. Und was wir tun, ist, dass wir gehen. 123412341234 Wie dies und was wir tun, während wir weiter und weiter ausgehen, ist dass
wir den Umfang, dieKosten,
diein
der Tiefe nous jedes Schrittes,
die Gesamtzeit,die wir damit verbringen, erweitern Kosten,
die in
der Tiefe nous jedes Schrittes,
die Gesamtzeit, . Es ist also am Anfang, wir erstellen schnelle Prototypen. Und dann, wenn wir rauskommen, wird
es langsamer. Wir schauen es uns mehr an. Wir haben ein wenig mehr Analyse in das, was wir tun. Weitere Tests, bis wir irgendwann zu einem Endprodukt kommen. Nehmen wir an, wir beginnen hier Rate in diesem Teil, das heißt, wir werden Ziele,
Alternativen und Zwänge bestimmen . Also hier sind wir bestimmt, diese Ziele, die Alternativen, die Einschränkungen waren, alles, was das Projekt ist, bestimmen, wir haben im Grunde einen Plan. Von dort aus gehen wir über und identifizieren und lösen Risiken. An diesem Punkt identifizieren
wir nur so ziemlich Risiken. Es gibt nichts zu lösen, da wir nichts codiert haben und wir einen Prototyp finden, der in dieser Situation nur ein Plan ist. Dann fangen wir tatsächlich an, diesen Plan auszuführen, das Konzept der Operation. Also hier können wir statt tatsächlich in dieser ersten Phase codieren, vielleicht erstellen wir Klassenmodelle. Oder vielleicht finden wir eine allgemeine Vorstellung davon, wie das Konzept funktioniert. Und deshalb ist dies eine Konzeptvalidierung. Wir haben es noch nicht einmal in die Anforderungen und so was geschafft. Wir erstellen dann das oder wir betrachten es. Also spielen wir in der nächsten Generation. Wir haben also dieses Konzept entwickelt, das mit dieser allgemeinen Vorstellung davon kommt, wie ein Prototyp funktionieren
soll, das Risiko
analysieren soll. Jetzt werden
wir uns den Anforderungsplan und den Lebenszyklusplan ausarbeiten. Wie sollen wir das wirklich entwickeln? Wie wir eine solide Reihe von Anforderungen finden werden, und dann haben wir das geplant,
und das ist auf der Erkundung. Also, jetzt kommen wir hier herum, machen eine weitere Reihe von Risikoanalysen, ist es immer noch etwas, das aussieht, als wäre es mit
unseren Kosten, unserem Budget und unserer Arbeitskräfte machbar . Wenn ja, bauen
wir den nächsten Prototyp wieder. Dies könnte nur eine Iteration auf dem Plan sein. Insgesamt muss
es kein wirklich funktionierender Prototyp sein. Es ist einfach irgendwie vielleicht die Dokumentation hier ein wenig dicker ist. Dann gehen wir zu den Simulationen über. Eso sind in dieser besonderen Situation. Wir machen Simulationsmodelle oder Benchmarks. Das ist sein ganzes Gebiet. Also sind wir irgendwie nur hier drin, um das zu erweitern, was wir tun. Also in dieser speziellen Schleife wurden wahrscheinlich Softwareanforderungen,
Anforderungsvalidierung,
Dinge wie diese gemacht Anforderungsvalidierung, , wir kommen gerade mit dem allgemeinen Plan davon. Dann erarbeiten wir tatsächlich einen Plan für die nächste Phase, nämlich Entwicklung. Bewegen Sie sich hier, machen Sie die Entwicklung der Verifizierung, Machen Sie die Risikoanalyse auf die Integrationsbewegung. Die nächste Phase Do Risikoanalyse, Schauen Sie sich eine operative Prototypen von etwas, das wir tatsächlich jemandem Doom oder
Benchmarks Testen geben und dann freigeben können . Und das ist ein sehr, sehr Art Basismodell. Es könnte viele Schleifen geben, und zwischen diesen, besonders während der Entwicklungsphase, können
wir diese Art von iterativem Modell in diesem Sinne machen. Also hier hatten wir nur eine einzige Schleife, in der wir im Grunde das Ganze beschichteten, und es ging weiter ,
aber es könnte eine Menge Schleifen geben,
und es könnte 100 verschiedene kleine geben. Es ist in diesem Entwicklungsprozess, in dem wir ständig das Risiko überprüfen und unsere nächste Phase
planen, ständig über die Ziele und Zwänge gehen und von dort aus nach außen gehen. Und das ist ein sehr,
sehr mächtiges Modell, weil diese risikofokussierte Sache sehr gut ist,
wennwir wenn in einem unbekannten Bereich Fortschritte
machen, und es ist sehr,
sehr anpassungsfähig. Also wieder ist es entlang dieser Idee von. Anstatt gerade Linie zu gehen, müssen
wir uns vielleicht bewegen, um unser Ziel zu erreichen. Dies ist ein tolles Modell. Tun Sie das, weil wir ständig neu bewerten, was wir tun, schauen uns an, was wir im letzten Zyklus getan haben, und entwickeln eine neue Idee für den nächsten Zyklus. Jetzt sieht das kompliziert aus, und das liegt daran, dass es kompliziert ist, vor allem bei der Gestaltung dieses Projekts für ein Riel-Projekt. Es wird sehr kompliziert, und es kostet mehr zu verwalten. Du musst eine sehr gute Vorstellung davon haben, was du tust, um alles in der Spur zu halten, damit
du nicht, nicht,weißt du, beginnst mit einer Spirale und sie so einfach wie, Okay, wir werden es einfach beschichten und wissen
Sie, nicht wirklich durch die Tests und die Implementierung und die ständige Risikoanalyse gehen. Und Sie brauchen auch ein ständigeres Engagement für Stakeholder. Was das ist der Stakeholder ist wie der Kunde, die Person, die für die Software bezahlt. Sie brauchen ihr ständiges Engagement in diesem. Wenn Sie mit den Optionen für Go oder No Go gehen gehen, was bedeutet, dass wir weitermachen, oder geben wir das Projekt auf? Sie werden ihr Wort jede einzelne Schleife brauchen. Wenn diese Schleifen sind, sagen
wir alle fünf Tage, vielleicht alle zwei Wochen. Sogar du wirst diesen Stakeholder alle zwei Wochen brauchen, um zu einem Meeting zu kommen, sich hinzusetzen, zu
erfahren, was du in der vergangenen Woche getan hast, und dann zu entscheiden, ob er weitermachen will oder nicht. Und das könnte ein bisschen mühsam für sie werden. Sie brauchen also Stakeholder, die anfällig für diejenigen sind, die sich mit dem Projekt beschäftigen wollen . Oft tun sie es nicht. Sie wollen nur die Person bezahlen, die es gebaut hat, sie wollen nicht wirklich in den täglichen Prozess davon involviert werden. Aber wenn Sie all das Turmmodell haben, ist ein großartiges Modell für dieses Risiko. Management ist ein großartiges Modell, um Dinge zu erstellen, die entdeckt werden müssen, wo Sie versuchen, kleine Schritte vorwärts zu unternehmen.
9. 2-1 agile Einführung: Jetzt haben wir ein paar der traditionelleren Bereiche durchlaufen. Ich wollte etwas überlegen, das ganz neu ist. Ich meine, wenn ich neu sage, ist
es in den letzten 20 Jahren. Aber es ist etwas, auf das viele Unternehmen gewechselt haben, und das ist diese Idee der agilen Methodik oder des agilen. Generell ist
Agile eine Art des Denkens. Es ist eine Art Reihe von Prinzipien, die Sie anwenden. Und dann gehen wir über eine Reihe verschiedener Modelle, die mit der agilen
Methodik arbeiten , Dinge wie Scrum und Kon Bon und andere Begriffe, die Sie vielleicht gehört haben, weil sie in der heutigen Branche
häufiger vorkommen . Die
Alten waren nicht schlecht. Es ist nur, da waren langsam. Wir entwickelten Produkte von Punkt A bis B also begannen wir. Wir gingen geradeaus und schafften es dort. Manchmal sind wir
vielleicht ein bisschen abgewichen. Wir mussten wieder runter kommen und wir fanden unser Endziel. Aber das ist alles, was wir mit den alten machen können. Auf dem sich bewegenden Markt von heute ändern sich
die Dinge. Wegen der Entwicklung von Technologie ändern sich jeden Tag, und deshalb. Wir müssen sicherstellen, dass wir die Software entwickeln, die das Problem löst. Das Problem selbst könnte sich ändern. Und deshalb haben wir diese Idee von dieser agilen Art von Manifest und diesen Satz von Prinzipien, die es uns ermöglichen,
wirklich fließend und flexibel in unserem Entwicklungsprozess zu sein . Das bedeutet, dass wir Ideen finden können, die uns in ganz andere
Richtungen gehen lassen und sich mit dem Kunden weiterentwickeln, bis wir genau das finden, wonach er
gesucht hat. Und mit dem typischen Modell wäre
es sehr schwer für uns, das weiter zu bewegen. Wir würden viel Geld verlieren, aber damit nehmen wir es tatsächlich in kleinen Schritten und wir können in jedem
Schritt in die richtige Richtung bewegen und im Laufe der Zeit beginnen wir, die richtige Software zu entwickeln. Also, jede Entscheidung, die
wir treffen, bekommen wir langsam zu tragen. Der Kunde ist glücklich oder ständig kommuniziert mit ihnen, um sein Endprodukt und
die Wasserfall-Methode oder die Wasserfall-Art von Ideen zu bauen , was irgendwie alles im vorherigen Beispiel ist, dass dieser Satz von, wissen
Sie, wir zuerst entwerfen und dann oder wir machen zuerst Anforderungen und dann entwerfen wir und dann
beginnen wir mit der Implementierung und dann beginnen wir, diese Art von Idee zu testen. Wo wir eins zum nächsten gehen, hat Probleme. Einer von ihnen ist während der Verifizierung. Es treten viele unerwartete Probleme auf. Wir, zum Beispiel, wenn wir einen Fehler in die Architektur codiert und wir in der Überprüfung sind, bevor wir
herausfinden, dass es nicht wirklich irgendwas
gibt, wo wir damit hingehen können. Oder wenn wir zu einer Verifizierung kommen, zeigen
wir es unseren Kunden. Und sie sagen:
Oh, Oh, nein, das ist nicht genau das, was wir wollten, aber es gab ein bisschen eine Fehlkommunikation. Das ist es, was wir wollten. Nun, es gibt keine Möglichkeit, zurück zu gehen und wir hatten nicht wirklich die Gelegenheit, das vorher
mit Agile zu beheben . Es hat einige Lösungen dafür. Softwaresysteme sind komplex und können nicht zu 100% vorhergesagt werden. Das ist etwas, das sehr, sehr wahr ist, dass, wenn wir jemanden einstellen, um ein Nickerchen zu erstellen, wir vielleicht nicht genau wissen, was wir wollen. Die App zu dio. Wir wollen mit ihnen im Laufe der Zeit kommunizieren, um diese Anwendung langsam zu erstellen, um sie zu erstellen. Die Art und Weise, die wir wollen,
und wir wollen, dass sie uns helfen, herauszufinden, was wir in einer App wollen, weil sie diejenigen sind, die wissen, wie man programmiert. Sie sind diejenigen, die wissen, wie man Dinge erschafft, uns als die Idee. Die Leute wissen nicht genau, was wir von der App wollen und was in der Lage ist. Also wollen wir mit jemandem arbeiten, der sehr, sehr klug ist. Ein Technologieunternehmen, das sich tatsächlich entwickelt, um die endgültige Idee zu entwickeln und eine agile Methodik hilft Ihnen dabei. Am Ende erfüllte einige Software nicht wieder die ursprünglichen oder geänderten Anforderungen. Wenn es nicht sehr flexibel ist, können sich
die Anforderungen im Laufe der Zeit geändert haben, und wir wollen flexibel sein, damit wir uns mit ihnen ändern können und sich dann die Märkte im Laufe der Zeit bewegen können. Das Produkt könnte veraltet sein, bis wir fertig sind. Ah, viele der agilen Modelle haben tatsächlich diese Idee, ein M V P oder ein minimal lebensfähiges Produkt zu entwickeln,
etwas, das wir auf den Markt bringen können,wissen
Sie, wissen
Sie, innerhalb von vier Monaten etwas, das wir kann da draußen werfen, die nur die grundlegenden Funktionen, aber nichts anderes hat. Und wir können tatsächlich anfangen, Benutzerfeedback zu bekommen und wir können damit beginnen, das Problem zu lösen. Vielleicht nicht 100%, aber wir lösen es wenigstens ein bisschen damit. Mit dem Wasserfall ist
es in der Regel, dass wir kein Produkt herausbekommen, bis es vollständig zu 100% fertig ist. Und aus diesem Grund haben wir dieses wirklich große Problem, dass es veraltet sein könnte. Nehmen wir an, es dauert zwei Jahre, um diese Software vollständig zu entwickeln. Das Problem hätte in dieser Zeit bereits von einem anderen Unternehmen gelöst werden können. Das Problem hätte sich im Laufe dieser Zeit geändert haben können. Ah, viele verschiedene Dinge können passieren, wo wir veraltet werden könnten, bis wir fertig sind, und dann wird all das Geld verschwendet. Deshalb wollen wir sicherstellen, dass wir flexibel in Situationen sein können, in denen wir wissen, dass sich die Märkte ständig bewegen. Und das agile Manifest war so etwas. Es ist eine Gruppe von Ingenieuren, die sich zusammengefunden haben, und sie entschieden, dass eine Änderung notwendig war. Zusammen kamen sie mit dem agilen Manifest, das wir im nächsten Vortrag ausführlich besprechen werden, ist eine Reihe von Ideen, um bessere,
schnellere und agilere Software zu entwickeln . Ich sollte das System insgesamt verbessern, und viele Unternehmen haben herausgefunden, dass es genau das tut
10. 2-2: Also, jetzt wollen wir eigentlich über das agile Manifest sprechen. Wir haben es in der letzten Vorlesung erwähnt, aber lassen Sie uns ein wenig tiefer darüber hinausgehen. Das Wichtige zu verstehen ist agil ist eine Reihe von Richtlinien, die eine Reihe von Ideen, mit denen wir dann Modelle entwickeln. Es gibt also kein agiles Modell da draußen. Es gibt keinen agilen Entwicklungsprozess. Da ist die agile Richtlinie, und dann erstellen wir Modelle basierend auf den agilen Richtlinien. So etwas wie Scrum zum Beispiel ist ein Modell, das auf diesen Richtlinien basiert. Scrum ist also das Modell, das wir in Scrum entwickeln würden. Aber Scrum ist ein agiles Modell, und das ist nur etwas Wichtiges, weil viele Leute das durcheinander bringen. Sie sagen, Sie wissen, wir entwickeln eine agile, wenn das technisch nicht wahr ist. Was sie tun, ist, dass sie ein Modell verwenden, das auf agil basiert, also agil wieder ist dieses Manifest. Es ist diese Idee. Es sind seine Richtlinien, die wir für entwickelte Software verwenden, und wir können tatsächlich, wenn wir wollen, können
wir diese Zahlen direkt hier setzen und es sind verschiedene Arten von Mietern oder verschiedene Ideen und Richtlinien. Anstelle von Ingenieuren, sie Grundsätzlich geht
die Geschichte, dass sie im Grunde zusammenkamen und sie kamen mit diesem. Ich glaube, es war irgendwo in den frühen zweitausenden. Sie alle trafen sich zusammen und entschieden, dass Software-Engineering im Allgemeinen ein Problem hatte. Es gab eine Reihe von Problemen, und es war vor allem, weil Software-Engineering von regulärem Engineering kam. Es wurde als ein fast direkter Übergang von, wissen
Sie, wie eine Brücke bauen und die Leute dachten, OK, wir bauen Software genauso, wie wir eine Brücke bauen. Allerdings ist
Software ein wenig anders, und es gibt etwas andere Anforderungen und Möglichkeiten, Dinge zu gehen, wenn Sie
über Software sprechen . Also kamen sie zusammen und dachten:
Lasst uns einen Weg einfallen, der die gesamte Softwareentwicklungsbranche besser machen würde Zusammen kamen sie mit diesen vier Mietern zusammen und viele Unternehmen nutzen diese
heutzutage für Mieter , weil Sie sind im Grunde eine sehr, sehr gute Art, Geschäfte zu machen. Sie erhöhen die Produktivität, erhöhen die Kundenbeziehungen und erhöhen insgesamt den Gewinn, was Unternehmen sich bemühen. Die 1. 1 ist also Individuen und Interaktion über Prozesse und Werkzeuge. Dieser konzentriert sich also auf die Einzelpersonen und die Ingenieure und alle, die am
Aufbau der Software beteiligt sind, über ein Werkzeug oder
einen Prozess, den wir in der Vergangenheit und viele Unternehmen verwendet haben . Wann immer sie sich entwickeln oder in einem Weg gehen, erhalten
sie eine Reihe von Prozessen und eine Reihe von Tools, die sie verwenden. Und wenn ein Team von Ingenieuren zu einer Führung kommt und sie ihnen sagen, wissen
Sie, wir denken, dass diese Werkzeuge und Prozesse besser wären. Viele Male wurden diese Ideen abgeschossen, weil es so ist, wie es immer gemacht wurde. Diese alten Prozesse und Werkzeuge sind bereits vorhanden, also warum ändern Sie es in diesem versucht zu sagen, dass die Person sollte mehr Kontrolle
über die Art und Weise, wie sie die Software entwickelt haben . Wenn die Gruppe von Individuen zusammenkommt und sie entscheiden, dass ein neuer Satz von Verfahren, sollten neue Werkzeuge implementiert werden, um die Situation im Grunde zu verbessern, als sie
eine höhere Priorität gegenüber der alten Art haben
sollten, Dinge zu tun, und wir wollen irgendwie auch in diesem Sinne arbeiten, sagen, dass das Individuum wichtiger ist als der Prozess in den Werkzeugen selbst, wir wollen die Individuen mit Respekt behandeln. Wir wollen die Interaktionen, die sie haben, mit Respekt behandeln. Wir wollen versuchen, ein gutes Arbeitsumfeld zu schaffen. Wir wollen nicht, wissen
Sie, Leute
runterbringen, weil sie neue Software und Tools verwenden wollen, weil sie leicht von den aktuellen Prozessen und Werkzeugen
abweichen. Wir wollen unsere Ingenieure erhöhen, und wir wollen ihnen den größtmöglichen Respekt geben. Nummer zwei arbeitet Software über umfassende Dokumentation, und das ist eine ziemlich weit Abweichung von den vorherigen Ideen, dass wir über die
Wasserfall-Methoden und die Sashimi-Modelle und alles wie das gegangen sind. Und das ist, weil es weiß, dass es sehr darauf ausgerichtet war, alles zu dokumentieren und
wegzubringen , bevor wir uns hier zu entwickeln begannen, obwohl wir das irgendwie auf den Kopf gedreht haben. Und wir wollen eine funktionierende Software vor oder zumindest als höhere Priorität als eine umfassende Dokumentation. Dokumentation ist immer wichtig, da unsere Software damit wartungsfähig ist. Allerdings
gibt es eine Grenze, wo, wenn wir 15 Bücher darüber haben, wie unsere Software funktionieren soll und wie sie gebaut
werden soll, wir wahrscheinlich nicht in der Lage sein werden, das jemandem zu zeigen und tatsächlich ein echtes Feedback dazu
zu bekommen . Wir wollen eine funktionierende Software mit ein wenig Dokumentation erstellen. Vielleicht, wissen
Sie, eine mittlere Menge an Dokumentation,
etwas, das wir den Kunden oder zwei Tester oder den Benutzern geben können und tatsächlich Feedback dazu bekommen , damit wir Änderungen in Echtzeit vornehmen können. Wir wollen nicht bis zum Ende warten, um Feedback zu bekommen,
erkennen, dass etwas nicht stimmt, müssen die gesamte Software ändern und dann die gesamte Dokumentation neu schreiben. Es ergibt keinen Sinn. Daher möchten wir uns darauf konzentrieren, Software zum Laufen
zu bringen, Software zu entwickeln, korrekt zu erstellen und den gesamten Prozess zu dokumentieren. Wieder sagen
wir nicht, dass wir die Dokumentation aufgeben. Wir sagen nur, wir wollen ein wenig mehr darauf konzentrieren, die Software tatsächlich
zu , dann daran zu arbeiten,sie perfekt zu dokumentieren. Nummer drei Kundenzusammenarbeit bei Vertragsverhandlungen Wir wollen eine gute Beziehung zu unseren Kunden und unseren Kunden haben. Wir wollen nicht jedes Mal auf einen Vertrag hinweisen müssen, wenn eine Änderung wollte oder jedes Mal, wenn etwas im Grunde nur ein wenig viel mit Unternehmen bewegen muss. Sie bekommen diesen Vertrag und verweisen auf den Vertrag. Jedesmal, wenn etwas auftaucht und sagt: Was sagt der Vertrag? Okay, wir machen nichts anders. Wir versuchen zu sagen, ist, dass die Kundenzusammenarbeit ist, was uns das gute
Endprodukt bekommen wird . Wenn der Kunde reinkommt und sie sagen OK,
ich liebe, wohin die Software geht, aber es gibt diese neue Sache, die kürzlich herauskam und es wird sein, wissen
Sie, vielleicht braucht diese Software ein bisschen zusätzlich hier. Vielleicht muss es dort ein bisschen überarbeitet werden. Wir wollen den Kunden glücklich machen, so dass ein sie uns gute Bewertungen geben. Sie zahlen uns das ganze Zeug richtig. Wir möchten den Kunden das Gefühl geben, dass er sich geschätzt fühlt. Wir wollen den Prozess wirklich,
wirklich schön für sie machen . Wenn jedes Mal, wenn sie nach Flugänderungen fragen, sagen
wir:
Nun, Nun, lassen Sie uns den Vertrag überarbeiten. Am Ende gehen wir dazu, juristische Teams einzubeziehen
, die Preise anzupassen und diese ganze Sache durchzugehen. Es wird ein Schmerz sein, und niemand wird mit uns arbeiten wollen. Was wir sagen wollen, ist, dass wir diese Zusammenarbeit von größter Bedeutung für Oh, es war, zumindest über Vertragsverhandlungsverträge. Wieder, sie sind immer noch wichtig. Wir werfen das ganze Zeug nicht raus. Wir sagen nur, Lasst uns mit dem Kunden Mawr reden. Lassen Sie uns eine wirklich starke Beziehung machen, denn wir gehen und wir nur weiter. Lee arbeitete mit Verträgen für die Reaktion auf die Änderung gegenüber einem Plan. Wir wollen flexibel sein können. Wir wollen nicht in einen bestimmten Plan eingesperrt werden, und jedes Mal, wenn ein Problem auftaucht, sagen
wir: Nun, was sagt der Plan, dass wir uns an den Plan halten, wenn wir nicht auf Änderungen reagieren können, die wir nicht in und von seiner Ent oder in und für sich selbst, agil, dass das Wort agil nicht war, dass wir nicht flexibel mit unserem Designprozess sind, und das ist es, was Agile zu tun versucht, ist, eine Ermächtigung der Menschen zu schaffen, Erstellen Sie tatsächlich die Software und machen Sie Software, die sich mit der Zeit ändert, weil Technologie schnell ändert. Wir wollen keine Prozesse, die es uns nicht erlauben, schnell mit Technologie zu ändern, also wollen wir wieder geben. Wir wollen einen Plan, aber wir wollen zulassen, dass wir diesen Plan ändern. Wir werden nicht zulassen, dass wir flexibel sind, um die Software auf diese Weise zu bewegen. Auf diese Weise werden wir, wenn wir mit dem Kunden zusammenarbeiten, funktionierende Software erstellen, damit der Kunde sehen kann, was vor sich geht,
und er kann uns Ideen geben, damit wir auf die Veränderung reagieren können. Wir wollen diese Individuen und Interaktion mit dem Kunden und mit unseren
Ingenieuren haben , so dass neue Ideen, bessere Ideen präsentiert werden. Wir können unsere Tools ändern, funktionierende Software erstellen, sie unseren Kunden zeigen und auf Veränderungen reagieren. Und so insgesamt, das ist das agile Manifest, das wir erstellen wollen. Diese Reihe von Richtlinien, die es uns ermöglichen, mit der Times Toe zu ändern und zu bewegen, ermöglichen es uns, Software auf eine optimalere Weise zu entwickeln. Und agile hat eine großartige Möglichkeit gemacht, zu klassifizieren, dass wir in den nächsten Vorträgen
tatsächlich über die Modelle sprechen, die auf agile Basis sind,
und Sie können sehen, dass Sie in der Lage sein werden, zu sehen, wie diese schneller und schneller sind Entwicklung als das, worüber wir zuvor gesprochen haben.
11. 2-3 Scrum: Das erste agile Modell, über das wir sprechen werden, ist das Scrum Modell,
also Scrum, das Sie zuvor gehört haben, weil es eine sehr beliebte Art ist, Software zu entwickeln und Scrum konzentriert sich auf diese 1 bis 4 Wochen verschiedenen kleinen Intervallen. Also im Grunde werden sie Sprints und Scram genannt. Es ist ein Scrum Sprint und der Sprint ist diese Idee der schnellen Entwicklung, Hinzufügen von Funktionen höchster Priorität, dann gehen Sie zum Kunden, den Stakeholdern, allen Beteiligten, zeigen Sie es ihnen, Rückmeldung nehmen und den Zyklus wiederholen. Es ist seine Idee, zu planen, zu bauen, zu lernen, zu wiederholen. Also werden wir all unser definiertes Design, Build und Testen in dieser Art von Scrum Sprint hier durchführen. Und das ist, wo die Ideen wie Back-to-back-Tests ins Spiel kommen, weil schwächen verwendet Back-to-back-Tests, um sicherzustellen, dass zwischen Sprints, dass wir nicht etwas von der vorherigen brechen und um sicherzustellen, dass die neuen Funktionen sind funktioniert auch richtig. Mit jedem Sprint werden
wir also ein Produkt kreieren, das etwas besser ist als der vorherige Sprint. Es geht um seine Idee, es im Grunde zu prototypisieren. Jeder Prototyp wird also nur ein bisschen besser sein als der vorherige Prototyp und oft haben wir nach dem dritten oder vierten Sprint ein Produkt, das wir
tatsächlich auf den Markt bringen können und dann beginnen wir. Wir entwickeln uns weiter, fügt
es hinzu. Es ist auf dem Markt veröffentlicht, damit wir ein Produkt in
drei Monaten, vielleicht vier Monaten, vielleicht vier Monaten, in denen der Kunde anfangen kann, Geld zu verdienen, kann beginnen, diese
Ideen zu übernehmen , wie man es repariert und es besser macht. Und wir können es weiterentwickeln, basierend auf der Benutzerinteraktion. Und deshalb ist das Scrum sehr beliebt, es ist sehr schnell zu entwickeln, damit der Kunde Geld verdienen kann, und es ermöglicht auch extreme Flexibilität im Entwicklungsprozess. Sie sind also ein paar verschiedene Leute, die in den Scrum-Prozess involviert sind. Wir haben den Produkteigentümer und sie sind im Grunde die Stakeholder,
alle, die daran beteiligt sind, diese Software zu wollen, also erhalten wir von ihnen Inputs von den Führungskräften, dem Team, den Stakeholdern, Kunden und Benutzer und dann der Produkteigentümer schaut sich all diese Art von Input an und sie haben dazu beigetragen, die Liste der nächsten Schritte zu priorisieren, was wir für unseren nächsten Sprint tun sollten. Wir brauchen also eine ständige Kommunikation mit dem Produkteigentümer und das ist eine Art Nachteil, denn vielleicht haben wir einen Produkteigentümer, der nicht gerne die Zeit damit verbringt was als nächstes kommt, zu
priorisieren. Sie wollen nur, dass wir alles tun. Und wenn das der Fall ist, fallen
die Gerichtsmieter von Scrum auseinander, weil wir eigentlich dieses
flexible Design schaffen sollen , das mit dem Produkteigentümer zusammenarbeitet. Wenn er heraustritt, tritt
er oder sie aus. Wir haben diesen Input nicht und wir beginnen uns in potenziell falsche Richtungen zu entwickeln. Der Scrum Master. Sie halten das Team für Scrum Ideen verantwortlich und sie erleichtern Treffen und machen
Konfliktlösung zu einem kleinen bisschen Planung auf der Seite. Und so ist das Scrum Meeting im Grunde die Hauptperson für das Scrum Modell dort. Ein anderer könnte auch ein führender Software-Ingenieur sein. Das ist, wissen
Sie, arbeiten mit mehr Code, aber der Scrum Master hält das Team haftbar Zehe, stellen Sie sicher, dass sie alle Scrum Mieter folgen und sie tun alles in der richtigen Weise und Mode Denn wenn wir auseinander fallen und aufhören, an unseren Sprints
festzuhalten. Und wir treffen unsere Ziele während unserer Sprints nicht. Dann wird der ganze Prozess wieder auseinander fallen, weil wir keine fertigen
Produkte haben , die wir unserem Kunden zeigen können. Wir werden dieses Feedback nicht bekommen, und wir werden nicht sehr flexibel sein. Und schließlich haben
wir das Team, und das ist das Team, das tatsächlich die Software baut. Und das sind nicht nur Software-Ingenieure. Wir haben vielleicht Ingenieure leitende Ingenieure. Wir könnten Designer haben. Wir haben vielleicht nur grundlegende Programmierer, die nicht viel über Engineering wissen, aber sie sind ziemlich gut in einer einzigen Sprache machen eine einzige Sache. Ah, oft könnte das draußen Hilfe für eine bestimmte Aufgabe angeheuert werden. Vielleicht schauen wir uns auf eine freiberufliche Website an. Wir stellen jemanden ein, nur für diesen Sprint, um uns ein Modul zu bauen, die Person zu
bezahlen, und dann ist er für den nächsten Sprint los. Da wir mehr und mehr Menschen bekommen, so gibt es das Team kann sich irgendwie ändern. Aber es gibt Kernleute im Team, und es gibt Rollen, und sie alle kommen zusammen, um das In-Produkt zu schaffen. Dies ist eine typische Art und Weise, wie Scrum funktioniert, ist, dass wir diese Idee des Produktrückstandes haben . Dies ist eine Reihe von, ah, Liste im Grunde Dinge, die getan werden müssen. Also haben wir, wissen
Sie, diese Liste von Ideen und Dingen, die getan werden müssen, das Problem. Wir wissen nicht, wie wir diese Liste priorisieren sollen. So oft werden wir die Stakeholder gut für das Sprintplanungstreffen einbringen. Also werden wir sie fragen. Was wollt ihr in diesem Prozess als Nächstes? Was würde Ihnen helfen oder was möchten Sie sehen? Was ist am wichtigsten, um dieses Produkt herauszuholen? Sobald wir diese Idee eingerichtet haben, erstellen
wir einen Sprint-Rückstand, wo dies im Wesentlichen die Ideen sind, an denen wir für diesen aktuellen Sprint arbeiten
werden. Wir haben eine Frist gesetzt. Wenn wir es in drei Wochen
machen, in zwei Wochen, machen
wir es in 15 Tagen. Wir sahen eine Art Deadline, haben unsere Liste der Ziele und dann beginnen wir den Erstellungsprozess. Also fangen wir an, diese täglichen Scrum-Meetings zu haben, was im Wesentlichen ist, dass sie normalerweise weniger als 20 Minuten sind. Das Scrum Team kommt zusammen, sie reden darüber, was sie gestern getan haben, was sie heute tun wollen und mit welchen Straßensperren sie es zu tun haben und welche Schritte sie nutzen werden, um diese Straßensperren zu beheben. Und diese Kommunikation ist wichtig, weil vielleicht ein bestimmter Benutzer oder ein bestimmter Ingenieur darüber
spricht, wie er mit dieser Straßensperre mit der Datenbank-Integration oder so
etwas umzugehen ist. Nun, ein anderer Ingenieur, wohlgemerkt,
dass du gut magst , ich habe das in der Vergangenheit getan. Ich weiß, wie ich das beheben kann. Treffen wir uns heute und ich zeige Ihnen, wie Sie das beheben und an der Straßensperre vorbei kommen. So ermöglicht diese Kommunikation verschiedenen Ingenieuren Input zu
verschiedenen Projekten oder verschiedenen Teilen des Projekts, und einander zu helfen. Sie vollenden ihre ganze Arbeit am nächsten Tag. Sie haben das tägliche Scrum Meeting, und sie bewegen sich weiter. Dies ermöglicht es jedem auch, den Überblick zu behalten, wie nah sie am Ende ihres Sprints sind und zu pflegen oder sicherzustellen, dass sie im Zeitplan für ihren Sprint sind. Sobald der Sprint fertig ist, geht
es in Sprint Review. Typischerweise bringen die Stakeholder wieder in demonstrieren der Sprint nimmt einige Vorschläge, sie fragten einen Stakeholder, Ist das, was Sie sprachen. Sie sagen ja. Außer wir dachten, dass dieser Bereich dies und jenes tun sollte. Wir markieren das unten, wir machen diese Notizen, und normalerweise würde
dies dann vielleicht wieder in den Produktrückstand zurückgehen. Während wir die Stakeholder hier haben. Wir haben sie gefragt. Okay, was willst du im nächsten Frühjahr? Sie sagen uns, wonach sie in der nächsten suchen. Sie priorisieren unsere Liste. Wir beginnen den Prozess von vorn. Nun, die Sache ist, wir machen auch eine Sprint-Retrospektive. Also, nachdem wir die Sprinter Ansicht mit den Stakeholdern gemacht haben, die Produkteigentümer, jeder, der ist , wissen
Sie, im Grunde hat nicht gesehen, dieses Produkt in den letzten zwei sind 1 bis 4 Wochen. Dann gehen wir in eine Sprint-Retrospektive, die nur das Softwareteam selbst ist. Wir sprechen über den Prozess darüber, wie die letzten 1 bis 4 Wochen vergangen sind und wir sehen, ob ihre Möglichkeiten, es besser zu machen, was Sie wissen, uns in einer Art Team-Umgebung
gehalten haben. Und was uns individuell aufgehalten hat, gibt es Möglichkeiten, wie wir beheben können, dass
wir nach einer
Sprint-Retrospektive Sprint-Retrospektive mit der nächsten Sprint-Planung beginnen. Holen Sie sich alle diese Listen und wir wiederholen den Prozess immer und immer wieder, bis das Produkt abgeschlossen ist. Also Scrum es ist großartig für seine Flexibilität, weil wir so viel Überprüfung haben, so viel Feedback von unseren Stakeholdern immer Richtung bekommen, was wir als nächstes
tun sollten . Wir sind nicht übertrieben, etwas zu begehen, wo wir , wissen
Sie dieses riesige Projekt
erstellen, und wenn das Produkt entwickelt wird, ist es völlig falsch. haben dafür gesorgt, dass wir diese winzigen kleinen Sprints machen ,
Schritt für Schritt vorwärts
gehen und Feedback aufnehmen, So erstellen wir das Produkt, das der Kunde uns anstellt, um zu erstellen.
12. 2-4 Kanban: unser nächstes agiles Modell ist das von kombinieren. Wenn Sie also etwas über die japanische Sprache wissen, ist
dies ein sehr japanisches Wort, und der Grund dafür ist, dass es tatsächlich in Japan entwickelt wurde. Seine Ursprünge konnten in der Entwicklung von Spitfire bis ins Vereinigte Königreich zurückverfolgt werden. sind wirklich nette Flugzeuge, die sie damals entwickelt haben, aber es wurde popularisiert, verfeinert und wirklich in den Verbrauchermarkt mit Toyota umgesetzt und Toyota ist ein japanisches Unternehmen. Sie haben im Grunde einen Blick auf den aktuellen Prozess der Herstellung von Autos, und sie wollten es mehr Lage machen. Also war alles vorhanden, was die Autohersteller in der Fabrik bekommen konnten. Es war alles verfügbar, als wäre es kein Supermarkt und Sie könnten nach oben gehen und schnappen, was Sie brauchten, um Ihren Prozess abzuschließen. Grundsätzlich wollten
sie alles für eine Person, ihre Arbeit in Reichweite zu sein, und sie wollten, dass ein Board den Fortschritt verfolgt, den aktuellen Fluss
betrachten und den Fluss weiter verbessern, damit sie mehr machen können und mehr und mehr Autos, und es wurde sehr populär. Es machte Toilette ein sehr, sehr erfolgreiches Kloster wurde seitdem in die Software-Welt angepasst und es ist die gleiche
Art von Technik, die wir populär lügen wollen oder Sie wollen, um unseren Fluss zu verfeinern. Ich möchte den Fluss von Karten von Bugs von Features nehmen, und wir wollen herausfinden, wo die Engpässe sind und ständig verbessern. Und hier ist ein kleines Beispiel dafür. Ah, viele Software-Unternehmen verwenden so etwas, also haben Sie Karten. Der Rückstand ist die Verwendung derjenigen, die am meisten gefüllt ist, also haben Sie eine Reihe von Karten im Rückstand, und wenn wir dann ein Projekt starten wollen, wollen
wir eine der Karten starten. Wir bewegen es einfach rüber. Nehmen wir an, wir haben ein Paar in der Analysephase eins in der entwickelten Phase, und dann haben wir vielleicht vier in der Testphase und dann zwei in der Release-Phase. Nur wenn wir uns das ansehen, sehen
wir zwei Dinge, die wir sehen. Wir haben eine Menge Zeug vor uns. In diesem Projekt ist noch viel übrig, und wir sehen, dass wir einen kleinen Engpass in der Testphase haben. Hier gibt es ein Problem. Vielleicht haben wir nicht genug Ingenieure beim Testen. Vielleicht sind unsere aktuellen Tests oder unsere aktuellen Methoden mit Tests langsam oder sie
funktionieren nicht richtig. Vielleicht gibt es viele Fehler oder Fehler, die während des Tests aufgrund schlechter Analyse auftreten. Wir wissen nur aus der Betrachtung, dass es ein Problem mit der Testphase gibt und dass
wir die Testphase verbessern wollen, und wir versuchen, dies auf eine langsame,
inkrementelle Weise zu tun . Wir machen eine kleine Veränderung. Wir machen es noch einmal durch und wir sehen, ob wir das verbessern. Wir haben versucht, diese großen Zahlen hier zu schnappen. Wir schauen uns an, welche Prozentsätze in der Testspalte. Vielleicht sitzen jetzt etwa 25% aller Karten hier drin,
und so versuchen wir, einige Änderungen vorzunehmen. Wir schauen uns das in zwei oder drei Monaten an, und wir versuchen vielleicht, es auf 15% bessere Art der Verteilung zu bringen, anstatt,
du weißt schon, du weißt schon, sie sind ein großer Klumpen und dann runter und in diesem großen Klumpen und dann wieder runter. Wir versuchen,
es so zu , dass machen, dasses perfekt auf Ebene ist, so dass die Entwicklung sich perfekt bewegt , und mit all dem haben
wir ein paar Kernmieter. Hier haben wir die Con Bon Properties und die CONVEN-Prinzipien, die Eigenschaften Luft, nur eine Art Ideen und Dinge, die wir vielleicht folgen wollen. Während die Prinzipien so ziemlich in Stein eingesperrt sind, sind dies Dinge, die jedes Mal, wenn Sie nach oben schauen, Prinzipien
kombinieren. Du wirst das Set hier drüben holen, und wir werden das zuerst durchgehen. Also Nummer eins beginnt mit. Was weißt du? Dies ist wichtig, da das Kon Bon System über Ihr aktuelles System implementiert werden könnte . Es ist eine Möglichkeit, den Fortschritt zu verfolgen und den Fluss dieses Fortschritts zu verbessern, so dass Sie ihn
technisch auf alles setzen und den Fluss weiter verbessern können. Sie könnten dies sogar anhängen, um eine Wasserfallmethode in der richtigen Weise zu mögen und sehen, was hält Sie während dieser Methode mit Khan Bun die erste wieder, Beginnen wir mit dem, was wissen Sie? Wir wollen nicht alles wegwerfen und ganz von vorne anfangen. Was wir tun wollen, ist, dass wir dies umsetzen, eine kleine Veränderung
umsetzen wollen. Vielleicht haben unsere Änderungen ein Board wie dieses implementiert, so dass wir tatsächlich anfangen können Fortschritt zu
verfolgen und dann bewegen wir uns von dort. Von dort aus stimmen
wir überein, einen schrittweisen evolutionären Wandel zu verfolgen. Das bedeutet, dass wir nicht versuchen, alles auf einmal zu ändern. Wir werden uns das nicht ansehen und gehen, welche Tests offensichtlich dort sind, wo der Engpass ist. Stellen wir fünf weitere Testingenieure ein. Das ist eine große Veränderung. Und es könnte andere Probleme auf der Straße verursachen. Ähm, oder vielleicht eine bessere Art von Veränderung, die wir tun könnten, ist, dass wir sagen, Hey, wer auch immer an der Entwicklung arbeitet, vielleicht können wir alle zwei oder drei Wochen einen von diesen Typen haben ein paar Wochen
verbringen. und testen und hin und her springen. Es ist eine kleine Veränderung, wenn Ingenieure nur für ein paar Wochen jeden Monat Rollen bewegen, nur für ein wenig Witz hin und her. Und dass wir dann bestreiten, ist das hilfreich? Ist das weh und wird mehr Änderungen auf der Grundlage, dass. Wir wollen also inkrementelle evolutionäre Veränderungen, keine riesigen Sprünge. Wir wollen den aktuellen Prozess, die
Rollen,
Verantwortlichkeiten und Titel respektieren Rollen, , und das ist wichtig, weil wir ein System nicht komplett auswerfen wollen, nur weil wir denken, dass es falsch sein könnte. Wir wollen wieder diese kleinen Änderungen machen, damit Wir den aktuellen Prozess respektieren wollen. Wir wollen alles respektieren, was mit unserer aktuellen Einrichtung vor sich geht. Wir wollten sie sehr ernsthaft betrachten und nur kleine Änderungen vornehmen. Wir wollen nicht anfangen, Leute zu feuern und Leute überall zu bewegen. Es erzeugt diese Angst vor Instabilität innerhalb des Projekts, die uns noch mehr verlangsamen wird, also wollen
wir uns das Problem ansehen,
sehen, wie wir es besser machen und diese kleinen Änderungen vornehmen können. Und schließlich wird
dieser manchmal hinzugefügt, manchmal nicht. Aber ich denke, es ist wichtig, Akte der Führung auf allen Ebenen zu fördern. Das bedeutet, dass wir unsere niedrigsten Arbeiter in der gleichen Menge fördern wollen wie unsere höchsten Arbeiter,
die niedrigsten Arbeiter ,
was bedeutet, dass sie nur codieren. Sie machen nicht viel vom Designprozess. Sie machen nur Änderungen. Wir wollen sicherstellen, dass es ehrlich ist und sie in der Art und Weise
, wie sie codieren, offen sind. Wir wollen, dass sie wirklich gute Entscheidungen treffen. Während Beschichtungen diese Handlungen fördern würden, und Führung hier muss nicht bedeuten, dass tatsächlich andere Leute geleitet wurden, kann
es einfach bedeuten, dass sie andere inspirieren, weil dort sehr hart arbeiten und sie schaffen sehr soliden und sehr fehlerfreien Code. Also was? Ich ermutige, dass auf allen Ebenen und in einigen der Eigenschaften
einige der Möglichkeiten, wie wir diese Grundsätze erreichen können, eine ist. Visualisieren Sie die Arbeit voll. Es ist sehr wichtig mit Mähdrescher. Wir wollen es auf einer riesigen Wand oder auf einer Website aufstellen, oder wo jeder darauf zugreifen kann, damit wir den Arbeitsablauf betrachten können. Und was ist das Problem damit? Wir sehen natürlich, dass wir das Problem beim Testen haben, und wir müssen damit arbeiten. Begrenzen Sie die laufenden Arbeiten. Dies ist einer der wichtigsten Schlüssel darin ist, dass wir begrenzen wollen, wie viel Arbeit wir
durchmachen . Wir wollen nicht, dass die ganze Arbeit in Arbeit ist, denn zu diesem Zeitpunkt hat
sich jeder viel zu dünn ausgebreitet und wir machen keine großen Fortschritte. Wir sind nicht in der Lage, den Fluss zu sehen, weil es keinen Fluss gibt. Jeder hat aufgehört und Onley machte sehr, sehr winzige Schritte zum Endprodukt. Wir versuchen immer noch, das etwas agil zu machen. Wir versuchen immer noch, den Entwicklungsprozess zu beschleunigen. Also, wenn wir so etwas sehen, wollen
wir jede Aufnahme von Rückstand stoppen und versuchen, die aktuellen Fehler zu durchlaufen, bevor wir mehr in den Prozess
einführen. Verwalten Sie den Flow erneut. Wir wollen den Fluss betrachten und ihn verwalten. Wir wollen sehen, wo die Probleme sind und was die Veränderung Diese Probleme würden nicht brechen. Prozessrichtlinien, explizite Besprechung. Wir wollen niemandem etwas erklären, weißt
du, so wird es gemacht. So machen wir es, irgendwie so. Wir wollen ein Stück Papier mit all unseren Richtlinien haben,
Detail, dass wir den Menschen, die wir wollen, dass sie leichter zugänglich und explizit
ausgeschrieben sind, geben können . Wir wollen keine Grauzone mehr. Wir wollen etwas, das sehr, sehr explizit, sehr leicht zu finden und dem wieder sehr einfach zu folgen ist. Es macht so, dass alle unsere Ingenieure den Prozess verfolgten und wenn wir wissen, dass sie alle perfekt den Prozess verfolgen, wissen
wir, wie wir den Prozess ändern können, weil alle Ingenieure unsere Richtlinien nicht befolgen , Es spielt keine Rolle, wie wir Änderungen an der Richtlinie vornehmen, es wird immer noch nicht folgen, und es wird keine Änderung tatsächlich stattfinden, also müssen wir sicherstellen, dass sie der Richtlinie folgen. Der einzige Weg, dies zu tun, besteht darin, es sehr explizit zu
machen, sicherzustellen, dass sie es lesen und durchsetzen können. Dann können wir darauf basierende Änderungen vornehmen und schließlich die kollaborative Zusammenarbeit verbessern. Was wir damit meinen, ist, dass wir uns verbessern wollen, da eine Gruppe kooperativ verbessern würde hilft schlecht dort. Wir wollen uns gemeinsam verbessern. Wir wollen nicht nur kleine Änderungen von oben nach unten vornehmen,
was bedeutet, dass der Anführer überhaupt schaut. Da steht, dass wir diese Änderung vornehmen. Wir wollen uns als Gruppe verbessern. Also, wenn Sie Gruppensitzungen haben
wollen, wollen
wir Probleme aufbringen , vielleicht bringen wir auch die Stakeholder mit. Und wir wollen diese kleinen Treffen haben, die Zusammenarbeit darüber haben, wie wir uns verbessern werden. Jeder sollte involviert sein, damit wir den Prozess weiter verbessern können, denn vielleicht , als ein Beispiel,
uns als Programmmanager, verstehen
wirals ein Beispiel,
uns als Programmmanager,die Probleme hier drüben und Testen nicht. Also versuchen wir, es zu implementieren, wissen
Sie, Änderungen im Testen durch das, was wir denken,
dass das Testen gut ist , das wird uns nicht wirklich helfen, denn wenn wir einige der Testingenieure reinbringen, sind
sie wird uns besser erklären, warum es dort einen Engpass gibt. Vielleicht sagen sie, wir sitzen viel zu viel in der Pipeline und wir haben nicht genug Leute, um damit umzugehen. Vielleicht gibt es Prozesse am Ende des Analysestatus, wo Sie tatsächlich mit dem Entwurf kommen. Vielleicht sind es Fehler in der Entwicklung. Die Entwickler sind nur ihr Bleistift, der alles peitscht, und sie machen keinen guten Code. Wir wollen mit den Testingenieuren sprechen und wir werden mit allen Ingenieuren sprechen, um
dieses Problem herauszufinden . Und so ist es ein sehr großer Teil, die Zusammenarbeit zu verbessern. Aber üblich ist eine wirklich, wirklich saubere Art von Code zu entwickeln. Und es ist ein Spaß zu warten, bis Sie alle Visuals betrachten und jeden einzelnen Tag
im Grundezu verbessern im Grunde
13. 2-5 Lean-Startup: Lassen Sie uns über das schlanke Startup sprechen, das ein weiteres agiles Modell ist. Das schlanke Startup ist sehr, sehr interessant, und es ist etwas, das relativ neu ist und etwas, das man wirklich nur mit
Technologie machen kann . Das schlanke Startup ist diese Art von experimenteller Art, Produkte zu bauen. Mit experimentell meine
ich das buchstäblich. Sie machen Experimente, um zu sehen, ob Ihr Produkt tatsächlich Geld auf dem Markt verdienen kann. Also, was wir tun, ist, dass wir zu dieser Idee von lernen, bauen Maß. Nehmen Sie die Messungen, die wir gelernt haben, bauen ,
etc., und wir versuchen, ein Produkt so schnell wie möglich und so minimal wie möglich zu erstellen, um zu sehen ob es einen Markt gibt. Also, was wir tun, ist, dass wir irgendeine Art von Annahme machen. Wir machen eine Hypothese, wenn Sie in der wissenschaftlichen Methode sind, und wir versuchen herauszufinden, ob diese Hypothese oder Annahme wahr ist. Also, was wir tun, ist, dass wir ein Experiment bauen. Wir bauen eine Website, wir bauen einen Service und wir sehen, ob die Leute daran interessiert sind. Wir verwenden dieses Interesse dann als Metrik, und wir passen basierend auf diesen Metriken an. Ein
sehr beliebtes Beispiel dafür ist die Firma Zappos, Zappos wurde im Grunde 1999 gegründet, als das Internet gerade anfing etwas Dampf
aufzunehmen. Eine Menge Online-Shopping war immer noch nicht sehr beliebt. Damals jedoch ging
der Gründer
jedochin ein lokales Einkaufszentrum, um Schuhe zu finden, und er konnte die Schuhe nicht finden, die er wollte. Und das war es im Grunde. Entweder hat er Schuhe im Einkaufszentrum gekauft, oder er hat keine Schuhe gekauft. So war es damals. Also dachte er, Hey, lass uns eine Website bauen, die wir überall in Schuhe stecken können, damit wir
immer die Schuhe finden können , die wir wollen. Also gingen wir zur Mall Grafikkamera, machten ein paar Bilder und posierten ihnen alle auf der Website. Nun, anstatt ein Inventar im Voraus zu kaufen, was er tat, war, dass er die Website gebaut, also machte er die Annahme, dass die Leute Schuhe online kaufen würden. Er baute die Website und dann misste er nur, wie viele Leute Verkäufe bekommen würden. Und anstatt das Inventar zu kaufen und das ganze Produkt aufzubauen, was tun würde, wenn jemand im Grunde eine Bestellung aufgibt, würde er sich die Bestellung ansehen. Finden Sie heraus, was sollten sie wollen? Fahren Sie mit dem Schuh zum lokalen Ball, legen Sie ihn in eine Schachtel und schicken Sie ihn dann an diese Person. So ist dieser sehr manuelle Prozess. Es gab keine Lagerbestände. Es gab nichts, außer dass er selbst die gesamte Geschäftslogik war. Es wurde sehr, sehr, sehr populär. Er erkannte, dass er etwas wirklich Großes an seinen Händen hatte. Seine Metrik wurde bestätigt, dass dies eine Menge Geld machen würde, und deshalb war er
wegen des Interesses offen für Investitionen. Er war offen, seinen Prozess zu ändern, um es zu einer tatsächlichen Website zu machen, um Geld zu verdienen. Und es endete zu einem der erfolgreichsten alle Linienunternehmen, beginnend in den frühen
zweitausend . Durch diesen Prozess,
diesen schlanken Startup-Prozess, war
er in der Lage, minimale Risiken zu investieren, um zu sehen, ob ein Vorschlag oder eine Geschäftsidee tragfähig war. Und deshalb ist es sehr beliebt, denn wir können dieses schlanke Startup nutzen, um genau das zu tun, ist herauszufinden, ob sich unsere Ideen lohnen und sie Geld verdienen werden. Das ist also das schlanke Startup. Es gibt im Grunde nichts anderes mit diesem hier. Die Art und Weise, wie Sie es bauen, ist Sie würden einen anderen wie einen Scrum-Stil verwenden. Oder Sie könnten im Grunde nur eine Codierung und Hack-Art verwenden, um etwas anzufangen und dann messen Sie es einfach. Und nachdem du herausgefunden hast, dass es ah ist, geh. Also haben wir diese Idee von Go und no go Bedeutung Machen wir weiter? Adoree, hör auf! Wenn es noch her ist, entwickeln
wir die Software. Wir verwenden eine der anderen Methoden. Wenn es ein Nein ist, was? Wir haben gerade das Produkt dort gestoppt und hoffentlich später Ideen einfallen lassen. Aber schlanke Startup wirklich interessant zu lernen.