Iteratives Design

Iteratives Design ist ein Entwurf Methodik basierend auf einem zyklischen Prozess von Prototyp entwickeln, testenAnalyse und Verfeinerung eines Produkts oder Prozesss. Basierend auf den Ergebnissen des Testens der neuesten Wiederholung Von einem Design werden Änderungen und Verfeinerungen vorgenommen. Dieser Prozess soll letztendlich die Qualität und Funktionalität eines Designs verbessern. Im iterativen Design wird die Interaktion mit dem entworfenen System als Forschungsform verwendet, um ein Projekt zu informieren und weiterzuentwickeln, als aufeinanderfolgende Versionen oder Iterationen eines Designs werden implementiert.

Geschichte

Iteratives Design wird seit langem in technischen Bereichen verwendet. Ein Beispiel ist das Plan -do -Check -Act Zyklus in den 1960er Jahren implementiert. Die meisten Neue Produktentwicklung oder bestehende Produktverbesserungsprogramme haben eine Check -Loop, die für iterative Zwecke verwendet wird. DMAIC verwendet die Six Sigma Framework und hat eine solche Überprüfungsfunktion.

Objekt orientierte Programmierung

Iteratives Design ist mit der Praxis von verbunden Objekt orientierte Programmierungund der Satz erschien bereits 1990 in der Informatikliteratur.[1] Die Idee hat ihre Wurzeln in Spiralentwicklung, konzipiert von durch Barry Boehm.[2]

Iterativer Entwurfsprozess

Der iterative Entwurfsprozess kann im gesamten neue Produktentwicklung Prozess. Änderungen sind jedoch in den frühesten Entwicklungsstadien am einfachsten und kostengünstig. Der erste Schritt im iterativen Entwurfsprozess besteht darin, a zu entwickeln Prototyp. Der Prototyp sollte durch a bewertet werden Fokusgruppe oder eine Gruppe, die nicht mit dem Produkt in Verbindung gebracht wird, um nicht voreingenommene Meinungen abzugeben. Informationen aus der Fokusgruppe sollten synthetisiert und in die nächste Iteration des Designs aufgenommen werden. Der Vorgang sollte wiederholt werden, bis Benutzerprobleme auf ein akzeptables Niveau reduziert wurden.

Anwendung: menschliche Computerschnittstellen

Iteratives Design wird üblicherweise bei der Entwicklung menschlicher Computerschnittstellen verwendet. Auf diese Weise können Designer alle Usability -Probleme identifizieren, die sich in der Benutzeroberfläche ergeben können, bevor sie in die Nutzung eingesetzt werden. Selbst die besten Usability -Experten können in einem einzigen Versuch keine perfekten Benutzeroberflächen entwerfen, daher sollte ein Lebenszyklus für Usability Engineering auf dem Konzept der Iteration aufgebaut werden.[3]

Die typischen Schritte des iterativen Designs in Benutzeroberflächen sind wie folgt:

  1. Vervollständigen Sie ein anfängliches Schnittstellendesign
  2. Präsentieren Sie das Design mehreren Testbenutzern
  3. Beachten Sie alle Probleme des Testbenutzers
  4. Verfeinern der Schnittstelle, um die Probleme zu berücksichtigen/zu beheben
  5. Wiederholen Sie die Schritte 2-4, bis die Probleme der Benutzeroberfläche behoben sind

Iteratives Design in Benutzeroberflächen kann auf viele Arten implementiert werden. Eine gemeinsame Methode zur Verwendung iterativer Design in Computersoftware ist Softwaretest. Dies umfasst zwar das Testen des Produkts für Funktionen außerhalb der Benutzeroberfläche, aber ein wichtiges Feedback zur Schnittstelle kann aus frühen Versionen eines Programms aus Probanden getestet werden. Auf diese Weise können Softwareunternehmen ein Produkt von besserer Qualität an die Öffentlichkeit veröffentlichen und die Notwendigkeit der Produktänderung nach seiner Veröffentlichung verhindert.

Iteratives Design in Online -Schnittstellen (Website) ist ein kontinuierterer Prozess, da die Änderung der Website, nachdem sie an den Benutzer veröffentlicht wurde, weitaus rentabler ist als im Softwaredesign. Häufig verwenden Websites ihre Benutzer als Testpersonen für das Interface -Design und machen Änderungen auf der Grundlage von Empfehlungen von Besuchern zu ihren Websites vor.

Iterativer Designgebrauch

Iteratives Design ist eine Möglichkeit, sich der Realität unvorhersehbarer Benutzerbedürfnisse und Verhaltensweisen zu stellen, die zu umfassenden und grundlegenden Veränderungen in einem Design führen können. Benutzertests zeigen häufig, dass selbst sorgfältig bewertete Ideen nicht ausreichend sind, wenn sie mit einem Benutzertest konfrontiert werden. Daher ist es wichtig, dass sich die Flexibilität des Implementierungsansatzes des iterativen Designs so weit wie möglich in das System erstreckt. Designer müssen ferner erkennen, dass die Ergebnisse des Benutzertests auf radikale Veränderungen hinweisen können, bei denen die Designer darauf vorbereitet sind, alte Ideen für neue Ideen vollständig aufzugeben, die für die Bedürfnisse der Benutzer gerüstet sind. Das iterative Design gilt in vielen Bereichen, von Messer bis hin zu Raketen. Als Beispiel das Design eines betrachten elektronische Schaltung Das muss eine bestimmte Aufgabe ausführen und letztendlich in einen kleinen Raum auf a passen Leiterplatte. Es ist nützlich, diese unabhängigen Aufgaben in zwei kleinere und einfachere Aufgaben, die Funktionsaufgabe sowie die Raum- und Gewichtsaufgabe, zu teilen. EIN Brotbrett ist eine nützliche Möglichkeit, den elektronischen Schaltkreis vorläufig zu implementieren, ohne sich um Platz und Gewicht sorgen zu müssen.

Sobald die Schaltung funktioniert, können Verbesserungen oder inkrementelle Änderungen auf das Breadboard angewendet werden, um die Funktionalität gegenüber dem ursprünglichen Design zu erhöhen oder zu verbessern. Wenn das Design abgeschlossen ist, kann man sich mit der Gestaltung einer ordnungsgemäßen Leiterplatte auf die Raum- und Gewichtskriterien entscheiden. Durch die Verdichtung der Schaltung auf der Leiterplatte müssen die Drähte und Komponenten jongliert, ohne ihre elektrischen Eigenschaften zu ändern. Dieses Jonglieren folgt einfachere Regeln als das Design der Schaltung selbst und ist oft automatisiert. So weit wie möglich ab Lager Es werden Komponenten verwendet, bei Bedarf können jedoch aus Platz- oder Leistungsgründen benutzerdefinierte Komponenten entwickelt werden.

Mehrere Fälle von iterativem Design sind wie folgt:

  • Wiki: EIN Wiki ist ein natürliches Repository für iteratives Design. Die Funktion "Seitenverlauf" ermöglicht die Rückverfolgung zu früheren Versionen. Modifikationen sind größtenteils inkrementell und lassen wesentliche Teile des Textes unverändert.
  • Common Law: Das Prinzip von Präzedenzfall baut auf früheren Erfahrungen auf. Dies macht das Gesetz zu einer Form des iterativen Designs, bei dem es klar sein sollte Buchungskontrolle der Entwicklung des legalen Denkens.
  • Evolution: Es gibt eine Parallele zwischen iterativ und der Theorie von natürliche Auslese. Beide beinhalten einen Versuchs- und Fehlerprozess, bei dem das am besten geeignete Design zur nächsten Generation voranschreitet, während weniger geeignete Designs auf der Strecke zugrunde gehen. Nachfolgende Versionen eines Produkts sollten auch zunehmend besser werden, wenn seine Produzenten lernen, was funktioniert und was nicht in einem Verfeinerungsprozess und nicht ständige Verbesserung.

Schnelle Prototyping -Tools

Ein Ansatz für das iterative Design besteht darin, die höchste Abstraktionsniveau für die Entwicklung eines Produkts der frühen Generation zu verwenden. Das Prinzip hier ist, dass eine schnelle Entwicklung möglicherweise keinen effizienten Code erzeugt, aber das Erhalten von Feedback ist wichtiger als die technologische Optimierung. Beispiele für diesen Ansatz sind die Verwendung von nicht funktionsfähigem Code, Objektdatenbanken oder niedrigen Codeplattformen - diese ermöglichen eine schnelle Prüfung von Designs, bevor Probleme der Optimierung angegangen werden.

Vorteile

Bei ordnungsgemäßer Anwendung sorgt iteratives Design für ein Produkt oder eine Prozesse, die die bestmögliche Lösung ist. Wenn Sie früh in der Entwicklungsphase angewendet werden, sind erhebliche Kosteneinsparungen möglich.[4]

Weitere Vorteile des iterativen Designs sind:

  1. Zu Beginn des Lebenszyklus werden schwerwiegende Missverständnisse erkennbar, wenn es möglich ist, auf sie zu reagieren.
  2. Es ermöglicht und fördert das Feedback der Benutzer, um die tatsächlichen Anforderungen des Systems zu ermitteln.
  3. Wenn die Arbeiten zusammengefasst sind, bietet das iterative Design eine inkrementelle Methode, um den Kunden effektiver in die Komplexität einzubeziehen, die den Entwurfsprozess häufig umgibt.
  4. Das Entwicklungsteam ist gezwungen, sich auf die für das Projekt am wichtigsten sind, und die Teammitglieder sind vor den Themen abgeschirmt, die sie von den realen Risiken des Projekts ablenken und ablenken.
  5. Durch kontinuierliche Tests ermöglicht eine objektive Bewertung des Projektstatus.
  6. Inkonsistenzen zwischen Anforderungen, Entwürfen und Implementierungen werden frühzeitig erkannt.
  7. Die Arbeitsbelastung des Teams, insbesondere des Testteams, verteilt sich im gesamten Lebenszyklus gleichmäßiger.
  8. Dieser Ansatz ermöglicht es dem Team, gewonnene Unterricht zu nutzen und daher den Prozess kontinuierlich zu verbessern.
  9. Die Stakeholder des Projekts können konkrete Beweise für den Status des Projekts während des gesamten Lebenszyklus erhalten.

Marshmallow -Herausforderung

Marshmallow Challenge -Gewinnarbeit.

Die Marshmallow -Herausforderung ist eine lehrreiche Design -Herausforderung. Es beinhaltet die Aufgabe, die höchstmögliche freistehende Struktur mit einem Marshmallow auf der Oberseite zu konstruieren. Die Struktur muss innerhalb von 18 Minuten mit nur 20 Stöcken Spaghetti, einem Meter Klebeband und einem Meter Schnur abgeschlossen werden.[5][6]

Beobachtung und Studien der Teilnehmer zeigen, dass Kindergärtner im Vergleich zu Gruppen von Absolventen der Business -Schule regelmäßig höhere Strukturen aufbauen können. Dies wird durch die Tendenz für Kinder erklärt, den Marshmallow sofort auf eine einfache Struktur zu stecken, den Prototyp zu testen und ihn weiter zu verbessern. Während die Schüler der Business School tendenziell Zeit damit verbringen, sich um Macht zu wetteiferieren, zu planen und schließlich eine Struktur zu produzieren, zu der der Marshmallow hinzugefügt wird.[7] Die Herausforderung hilft beim Aufbau und zur Entwicklung von Prototypen, Teamwork, Führung und Innovationsfähigkeiten und ist eine beliebte STENGEL Aktivität. Die Herausforderung wurde von Peter Skillman von erfunden Palm, Inc. und populär von Tom Wujec von Autodesk.[8][9][10][11][12]

Siehe auch

Verweise

  1. ^ Gossain, Sanjiv; Anderson, Bruce (1990). "Ein iteratives Designmodell für wiederverwendbare objektorientierte Software". Verfahren der Europäischen Konferenz über objektorientierte Programmierung zu objektorientierten Programmiersystemen, Sprachen und Anwendungen-OOPSLA/ECOOP '90. S. 12–27. doi:10.1145/97945.97949. ISBN 0-89791-411-2. S2CID 551413.
  2. ^ "Zusammenfassung des Spiralmodells" (PDF).
  3. ^ Nielsen, J. (1993). "Iterative Benutzeroberflächendesign". IEEE -Computer. 26 (11): 32–41. doi:10.1109/2.241424. S2CID 17748574.
  4. ^ Mantei, Marilyn M.; Teorey, Toby J. (1988). "Kosten-/Leistungsanalyse zur Einbeziehung menschlicher Faktoren in den Software -Lebenszyklus". Kommunikation der ACM. 31 (4): 428–439. doi:10.1145/42404.42408. S2CID 2031965.
  5. ^ "Die Marshmallow -Herausforderung". Die Marshmallow -Herausforderung. Abgerufen 2010-08-10.
  6. ^ "Die Marshmallow -Herausforderung". CA: BPWRAP. 2010-04-22. Abgerufen 2010-08-10.
  7. ^ Jerz, Dennis G. (2010-05-10). "Die Marshmallow -Herausforderung - Jerz 'Alphabetisierung Weblog". Jerz.Setonhill.edu. Abgerufen 2010-08-10.
  8. ^ Cameron, Chris (2010-04-23). "Marshmallows und Spaghetti: Wie Kindergärtner wie Lean Startups denken". ReadwriteWeb.com. Archiviert von das Original Am 2010-08-21. Abgerufen 2010-08-10.
  9. ^ "Die Marshmallow -Herausforderung". EngineeringRevision.com. 2010-05-02. Abgerufen 2013-08-10.
  10. ^ "Die Marshmallow -Herausforderung". Egoistische Programmierung. Abgerufen 2013-08-10.
  11. ^ "Marshmallow Challenge | Fakultät für Wissenschaft | Universität von Calgary". Ucalgary.ca. 2010-12-13. Abgerufen 2013-08-10.
  12. ^ Original Design Challenge (2014-01-27), Peter Skillman Marshmallow Design Challenge, archiviert vom Original am 2021-12-13, abgerufen 2017-09-12
  • Boehm, Barry W. (Mai 1988) "Ein Spiralmodell für Softwareentwicklung und -verbesserung", Computer, IEEE, S. 61–72.
  • Gould, J. D. und Lewis, C. (1985). Entwerfen für Usability: Schlüsselprinzipien und was Designer denken, Kommunikation des ACM, 28. März (3), 300–311.
  • Kruchtten, Philippe. Der rationale einheitliche Prozess - eine Einführung,
  • Kruchtten, P. (2000). "Vom Wasserfall bis zur iterativen Entwicklung - ein herausfordernder Übergang für Projektmanager" (PDF) (Weißes Papier). Rational Software Corporation. Abgerufen 2019-08-17. {{}}: Journal zitieren erfordert |journal= (Hilfe)

Externe Links