Alpha Testing Deinen Prototyp erstellen Beta Testing Eine Programmiersprache lernen Das Programm veröffentlichen Eine Idee entwickeln
In der Alphaphase kann und soll das Testteam klein sein. Eine kleine Gruppe wird dir helfen, präzises Feedback zu erhalten, und gibt dir die Möglichkeit, direkt mit Testern in Verbindung zu treten. Jedes mal, wenn du Updates zum Prototyp hinzufügst, werden die neuen Versionen an die Alphatester gesendet. Die Tester probieren dann alle Features aus, versuchen das Programm zu zerstören, und dokumentieren ihre Ergebnisse.  Falls du ein kommerzielles Produkt entwickelst, wirst du sichergehen wollen, dass all deine Tester einen Geheimhaltungsvertrag unterschreiben. Das wird verhindern, dass sie anderen von deinem Programm erzählen, und verhindert ein Informationsleck an die Presse und andere User. Nimm dir die Zeit, um einen beständigen Testplan zu erstellen. Gehe sicher, dass deine Tester einen Weg haben, um Bugs im Programm leicht zu melden und einfachen Zugang zu neuen Versionen der Alphaausgabe haben. GitHub und andere Codesammlungen sind ein großartiger Weg, um diesen Aspekt handzuhaben. Bugs sind das Verderben eines jeden Softwareentwicklers. Fehler im Code und „unexpected use“-Errors können  bei einem fertigen Produkt alle möglichen Probleme auslösen. Teste das Programm während du mit deiner Arbeit voranschreitest so oft wie möglich. Tu alles um es zu zerstören, und versuch dann zu verhindern, dass es in Zukunft kaputt geht. Lass deine Freunde und Familie dein Produkt testen und ihre Meinung dazu abgeben. Jede Art von Feedback hilft dir beim Entwicklungsprozess.  Falls dein Programm Kalenderdaten verwendet, versuche seltsame Daten einzugeben. Ein sehr altes Datum oder eines aus ferner Zukunft könnte eigenartige Reaktionen beim Programm auslösen. Setze die falsche Art von Variablen ein. Falls zum Beispiel nach dem Alter des Nutzers gefragt wird, setze stattdessen ein Wort ein und schaue, was passiert. Falls dein Programm ein graphisches Interface hat, versuch auf alles zu klicken. Was passiert, wenn du zu der vorherigen Seite zurückkehrst, oder auf Buttons in einer falschen Reihenfolge klickst? Wenn du ein Programm in der Alphaphase überarbeitest, wirst du eine Menge Zeit damit verbringen, Features zu reparieren, die nicht korrekt funktionieren. Wenn du deine Bug-Meldungen deiner Alphatester organisierst, werden sie anhand zweier Kriterien sortiert werden müssen: Schweregrad und Priorität.  Der Schweregrad eines Bugs ist ein Maß für den Grad an Schaden, den der Bug verursacht. Bugs, die das Programm abstürzen lassen, die Daten korrumpieren, und verhindern, dass das Programm ausgeführt wird, werden "Blockers" genannt. Features die nicht funktionieren oder inkorrekte Ergebnisse liefern werden als „Critical“ bezeichnet, während schwer zu benutzende oder unschöne Features „Major“ genannt werden. Es gibt auch Normal, Minor, und Trivial Bugs, die kleinere Abschnitte oder weniger wichtige Features betreffen. Die Priorität eines Bugs bestimmt in welcher Reihenfolge du sie angehen willst wenn du versuchst, Bugs zu reparieren. Bugs in der Software zu beheben ist ein zeitraubender Prozess, und nimmt dir die Zeit weg, die du für das Hinzufügen von Features und das Ausfeilen eines Programmes verwenden könntest. Deshalb musst du die Priorität eines Bugs beachten, um sicherzustellen, dass du deine Fristen einhältst. Alle Blocker und Critical Bugs haben die höchste Priorität, die manchmal auch als P1 bezeichnet werden. P2 Bugs sind meistens Major Bugs, die für die Behebung eingeplant sind, aber nicht verhindern, dass ein Produkt verbreitet werden kann. P3 und P4 Bugs sind meistens nicht für eine Behebung eingeplant, und fallen in die Kategorie „gewünscht, aber nicht notwendig“. Während der Alphaphase wirst du mehr Features zu deinem Programm hinzufügen, um es dem Programm anzunähern, das in deinem Designdokument beschrieben ist. Während der Alphaphase wird der Prototyp in den Grundstein für das fertige Programm entwickelt. Bis zum Ende der Alphaphase sollten alle Features des Programms implementiert sein. Schweife nicht zu sehr von deinem originalen Designdokument ab. Ein häufiges Problem in der Softwareentwicklung ist das Hinzufügen neuer Ideen, während der ursprüngliche Fokus verloren geht und die Entwicklungszeit auf zu viele verschiedene Features aufgeteilt wird. Du willst, dass dein Programm das Beste in seinem Bereich ist, und keine eierlegende Wollmilchsau wird. Wenn du neue Features zu deinem Programm während der Alphaphase hinzufügst, sende die neue Version an deine Tester. Die Regelmäßigkeit der neuen Versionen wird dabei komplett von der Größe deines Teams und deinem Fortschritt an den Features abhängen. Wenn du alle Features und Funktionen in das Programm implementiert hast, kannst du die Alphaphase abschließen. An diesem Punkt sollten keine neuen Features mehr hinzugefügt werden, und die inkludierten Features sollten grundlegend funktionieren. Jetzt kannst du zum breiteren Testen und Ausfeilen voranschreiten, auch bekannt als die Betaphase. Das wird der Prototyp sein, der die Funktion zeigt, die du erreichen willst. Ein Prototyp ist ein einfaches Programm, und sollte weiterentwickelt werden bis du ein Design findest, das klappt. Wenn du zum Beispiel ein Kalenderprogramm entwickelst, würde dein Prototyp ein einfacher Kalender (mit korrekten Daten!) sein, mit einem Weg, um neue Ereignisse hinzuzufügen.  Dein Prototyp wird sich während des Entwicklungszyklus oft verändern, da du auf neue Wege kommst, um Probleme zu lösen, oder dir später eine Idee einfällt, die du einbauen möchtest. Der Prototyp muss nicht schön sein. Tatsächlich sollten Grafik und Design eine der letzten Sachen sein, auf die du dich konzentrierst. Wieder am Beispiel des Kalenderprogramms, sollte in diesem Fall dein Programm höchstwahrscheinlich nur aus Text bestehen. Wenn du ein Spiel erstellst, sollte dein Prototyp Spaß machen! Wenn der Prototyp keinen Spaß macht, sind die Chancen hoch, dass das fertige Spiel auch nicht lustig sein wird. Falls die Mechanik, die du erzielen möchtest, beim Prototyp nicht funktioniert, ist es vielleicht an der Zeit, nochmal von vorne anzufangen. Wenn du ein Programm alleine entwickelst, kannst du einen Prototyp benutzen, um dabei zu helfen, ein Team zusammenzustellen. Ein Team hilft dir dabei, Bugs schneller zu entdecken, Eigenschaften weiterzuentwickeln, und visuelle Aspekte des Programms zu gestalten.   Ein Team ist für kleine Projekte sicher nicht nötig, wird aber die Entwicklungszeit signifikant verringern. Ein Team zu leiten, ist ein komplexer und schwieriger Prozess, und benötigt Management-Fähigkeiten, sowie eine gute Struktur für das Team. Siehe dir diesen Artikel an für mehr Details, wie eine Gruppe geleitet wird. Wenn du einmal mit deiner Sprache vertraut bist, wirst du Prototypen vielleicht schon in ein paar Tagen zum Laufen bringen können. Aufgrund ihrer einfachen Natur musst du nicht davor zurückschrecken, deine Idee zu verwerfen und von einem anderen Blickwinkel nochmal neu anzufangen, wenn du mit dem bisherigen Verlauf nicht zufrieden bist. Es ist viel einfacher, an diesem Punkt große Veränderungen zu machen, als später, wenn die Eigenschaften alle ihren Platz finden. Verwende die Kommentar-Syntax deiner Programmiersprache, um für alles Notizen zu machen, außer den einfachsten Codezeilen. Dies wird dir dabei helfen, dich zu erinnern, was du gemacht hast, falls du das Projekt für eine Weile aufschieben musst, und hilft anderen Programmierern dabei, deinen Code zu verstehen. Das ist vor allem wichtig, wenn du als Teil eines Programmierteams arbeitest. Du kannst Kommentare verwenden, um temporär Teile deines Codes während dem Testen zu deaktivieren. Setze den Code, den du deaktivieren möchtest, einfach zwischen die Kommentarsyntax, und er wird nicht kompiliert. Du kannst dann die Kommentarsyntax löschen, und der Code wird wiederhergestellt. In der Betaphase wird das Programm für eine viel größere Gruppe an Testern zugänglich gemacht. Manche Entwickler veröffentlichen die Betaphase, was als Open Beta bezeichnet wird. Das erlaubt jedem, sich für das Testen des Produkt anzumelden und teilzunehmen. Ob du eine Open Beta erlauben solltest, hängt von den Bedürfnissen deines Produkts ab. Da Programme immer mehr miteinander vernetzt werden, ist die Wahrscheinlichkeit hoch, dass dein Programm auf Verbindungen zu anderen Produkten oder Servern aufbauen wird. Der Betatest erlaubt dir sicher zu gehen, dass diese Verbindungen unter stärkerer Beanspruchung funktionieren, was dafür sorgt, dass das Programm von der Öffentlichkeit benutzt werden kann, wenn es veröffentlicht wird. In der Betaphase werden keine Features mehr hinzugefügt, sodass der Fokus auf dem Verbessern der Ästhetik und Benutzerfreundlichkeit liegen kann. In dieser Phase wird UI Design zu einer Priorität, sodass die Benutzer keine Schwierigkeiten dabei haben, das Programm und seine Features zu nutzen.  UI Design und Funktionalität kann sehr schwierig und komplex sein. Die Arbeit mancher Leute besteht rein aus dem Entwerfen von UIs.  Achte nur darauf, dass dein Projekt einfach zu benutzen ist und gut aussieht. Ein professionelles UI ist ohne ein Budget und ein Team vielleicht nicht möglich. Falls du das nötige Budget hast, gibt es viele freiberufliche Grafikdesigner, die möglicherweise im Rahmen einer Vertragsarbeit dein UI entwerfen könnten. Falls du ein handfestes Projekt hast, von dem du dir erhoffst dass es was Großes wird, suche dir einen guten UI-Designer und mache ihn zu einem Teil deines Teams. Während der Betaphase solltest du weiterhin die Bugmeldungen deiner Nutzer katalogisieren und priorisieren. Da mehr Tester Zugriff zum Produkt haben werden, ist die Wahrscheinlichkeit groß, dass neue Bugs entdeckt werden. Eliminiere Bugs abhängig von ihrer Priorität, und behalte deine Abschlusstermine im Auge. Fast alle Programme werden in Texteditors geschrieben und werden dann übersetzt, um von Computern ausgeführt zu werden. Auch wenn du Programme wie Notepad oder TextEdit verwenden kannst, ist es höchst empfehlenswert, einen Editor zu downloaden, der die Syntax heraushebt, wie Notepad++, JEdit, oder Sublime Text. Das wird es viel einfacher machen, deinen Code visuell zu analysieren. Manche Programmiersprachen wie Visual Basic beinhalten einen Editor und Compiler in einem Paket. Alle Programme werden mithilfe von Coding erstellt. Wenn du deine eigenen Programme kreieren möchtest, musst du zumindest mit einer Programmiersprache vertraut sein. Welche Sprachen du lernst hängt davon ab, welche Art von Programm du erstellen möchtest. Manche sind nützlicher als andere. Zu den wichtigen gehören:  C – C ist eine low-level Programmiersprache die maschinennah arbeitet. Sie ist eine der älteren Sprachen, die noch weitgehend verwendet wird. C++ - Der größte Nachteil an C ist, dass es nicht objektorientiert ist. Hier kommt C++ ins Spiel. C++ ist aktuell die beliebteste Programmiersprache der Welt. Programme wie Chrome, Firefox, Photoshop und viele mehr wurden alle mit C++ erstellt. Es ist auch eine beliebte Sprache, um Videospiele zu entwerfen. Java – Java ist eine Weiterentwicklung von C++ und ist sehr übertragbar. Die meisten Computer, egal welches Betriebssystem, können eine Java Virtual Machine ausführen, was erlaubt, dass das Programm fast universell verwendet werden kann. Es wird oft für Videospiele und Betriebssoftware verwendet, und wird oft als eine unerlässliche Sprache empfohlen. C# - C# ist eine Windows-basierte Sprache und ist eine der wichtigsten Programmiersprachen für die Erstellung von Windows-Programmen. Es ist eng mit Java und C++ verwandt, und sollte leicht zu lernen sein, wenn du bereits mit Java vertraut bist. Wenn du wirklich ein Windows- oder Windows Phone-Programm erstellen möchtest, solltest du dir diese Sprache ansehen. Objective-C – Das ist noch ein Verwandter der C-Sprache, die speziell für Apple-Systeme entwickelt wurde. Wenn du iPhone- oder iPad-Apps erstellen möchtest, ist das die richtige Sprache für dich. Für jede High-Level-Sprache wie C++, Java und viele andere wirst du einen Compiler benötigen, um deinen Code in ein Format umzuwandeln, das der Computer lesen kann. Es gibt eine große Bandbreite an Compilern von denen du, je nach der Sprache die du benutzt, auswählen kannst.  Manche Sprachen sind interpretierte Sprachen, was bedeutet, dass sie keinen Compiler benötigen. Stattdessen muss nur der Spracheninterpreter auf dem Computer installiert sein, und die Programme können sofort ausgeführt werden. Zu den interpretierten Sprachen zählen zum Beispiel Perl und Python. Egal welche Sprache du wählst, du wirst wahrscheinlich einige grundlegende Konzepte verstehen müssen. Wenn du mit der Syntax der Sprache umgehen kannst, wirst du viel mächtigere Programme erstellen können. Zu den gebräuchlichen Konzepten gehören:  Variablen deklarieren – Mithilfe von Variablen werden die Daten temporär in deinem Programm gespeichert. Diese Daten können dann abgespeichert, modifiziert, manipuliert, und später im Programm aufgerufen werden. Bedingte Anweisungen verwenden (if, else, when, etc.) – Diese sind einige der Basisfunktionen von Programmen, und bestimmen wie die Logik funktioniert. Bedingte Anweisungen drehen sich um „true“- und „false“-Anweisungen. Schleifen verwenden (for, goto, do, etc.) – Schleifen erlauben dir, Prozesse immer wieder zu wiederholen bis ein Befehl gegeben wird, ihn zu beenden. Escape-Folgen verwenden – Diese Befehle führen Funktionen aus, wie neue Zeilen, Einzüge, oder Anführungszeichen und mehr zu erstellen. Code kommentieren – Kommentare sind wichtig, um dich daran zu eirnnern, was der Code macht, um anderen Programmierern zu helfen, deinen Code zu verstehen, und um Teile des Codes temporär zu deaktivieren. Gewöhnliche Ausdrücke verstehen. Es gibt Bücher für jede Sprache und jeden Grad an Expertise. Du kannst Programmierbücher in deinem lokalen Büchergeschäft und beim Onlinehändler finden. Ein Buch kann ein hilfreiches Werkzeug sein, da du es während dem Arbeiten verwenden kannst. Abgesehen von Büchern ist das Internet eine endlose Fundgrube für Anleitungen und Tutorials. Suche auf Seiten wie CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools und vielen mehr nach Anleitungen für die Sprache deiner Wahl. Jeder kann sich selbst beibringen ein Programm zu erstellen, wenn er fest dazu entschlossen ist, aber manchmal kann ein Lehrer und eine Klassenzimmerumgebung sehr vorteilhaft sein. Einzelunterricht mit einem Experten kann die Zeit, die für das Verstehen von Programmiergrundlagen und – konzepten benötigt wird, stark verringern. Unterricht ist auch ein guter Weg, um fortgeschrittene Mathematik und Logik zu erlernen, welche für komplexere Programme benötigt werden. Unterricht kostet Geld, also gehe sicher, dass du dich für den Unterricht einschreibst, der dir hilft, das zu lernen, was du wissen möchtest. Das Internet ist ein großartiger Weg, um dich mit anderen Entwicklern zu vernetzen. Wenn du bei einem deiner Projekte anstehst, frage auf Seiten wie StackOverflow nach Hilfe. Achte darauf, auf eine intelligente Weise zu fragen, und beweise dass du bereits einige andere mögliche Lösungsversuche probiert hast. Wenn du Nutzer für dich gewinnen willst, solltest du sicher gehen, dass sie wissen, dass dein Programm existiert. Wie bei jedem anderen Produkt wirst du etwas Werbung machen müssen, sodass die Menschen darauf aufmerksam werden. Das Ausmaß und die Breite deiner Marketingkampagne wird von der Funktion deines Programms bestimmt, sowie von deinem verfügbaren Budget. Zu den einfachen Methoden, Aufmerksamkeit für dein Produkt zu gewinnen, zählen:  Schreibe Posts über dein Programm auf verwandten Message Boards. Achte darauf, die Postingregeln des jeweiligen Forums zu beachten, sodass deine Posts nicht als Spam markiert werden. Schicke Presseaussendungen an Technologieseiten. Finde ein paar Technik-Blogs und Technik-Seiten die zur Kategorie deines Programms passen. Schicke den Redakteuren Pressemitteilungen, in denen du dein Programm und dessen Funktion ausführlich beschreibst. Füge ein paar Screenshots hinzu. Mache ein paar YouTube-Videos. Falls dein Programm entworfen wurde, um eine spezifische Aufgabe auszuführen, mache ein paar YouTube-Videos, in denen dein Programm in Aktion zu sehen ist. Strukturiere sie als „How-To“-Videos. Erstelle Seiten auf sozialen Netzwerken. Du kannst kostenlose Facebook und Google+ Seiten für dein Programm erstellen, und Twitter für betriebs- und programmspezifische Neuigkeiten nutzen. Für kleine Programme wirst du die Datei wahrscheinlich auf deiner eigenen Webseite zur Verfügung stellen können. Du wirst vielleicht auch ein Zahlungssystem hinzufügen wollen, falls du für deine Software Geld verlangen willst. Falls dein Programm sehr beliebt wird, wirst du die Datei vielleicht auf einem Server hosten müssen, der mehr Downloads verkraftet. Wenn dein Programm erstmal auf die Welt losgelassen wurde, wird es garantiert Nutzer geben, die technische Probleme haben oder nicht verstehen, wie das Programm funktioniert. Deine Webseite sollte eine ausführliche Dokumentation zur Verfügung haben, sowie einen Kundenbetreuungsdienst. Dazu können ein technisches Supportforum, eine Supportemailadresse , Live-Hilfe, oder eine Kombination aus diesen verwendet werden. Was du anbieten kannst, wird von deinem verfügbaren Budget abhängen. Fast alle Programme werden heutzutage gepatcht und geupdatet, lange nachdem sie erstmals veröffentlicht wurden. Diese Patches können kritische oder nicht-kritische Bugs beheben, die Sicherheitsprotokolle updaten, die Stabilität verbessern, oder sogar Funktionen hinzufügen oder die Ästhetik erneuern. Dein Programm zu updaten, hilft, es wettbewerbsfähig zu halten. Ein gutes Programm wird eine Aufgabe ausführen, die das Leben des Benutzers vereinfacht. Siehe dir die Software an, die aktuell für die Aufgabe, die du ausführen willst erhältlich ist, und bestimme, ob es Wege gibt, sodass der Prozess einfacher und schneller läuft. Ein erfolgreiches Programm ist eines, aus denen die Nutzer viel Nutzen ziehen können.  Überprüfe die Tätigkeiten, die du täglich an deinem Computer ausführst. Gibt es einen Weg, einen Teil dieser Tätigkeiten mit einem Programm zu automatisieren? Schreibe jede Idee auf. Auch wenn sie zurzeit albern oder seltsam wirkt, könnte sie eines Tages zu etwas Nützlichem oder sogar etwas Brillantem werden. Was machen sie? Wie könnten sie es besser machen? Was fehlt ihnen? Diese Fragen können dir dabei helfen, auf Ideen für dein eigenes Projekt zu kommen. In dieser werden alle Eigenschaften und die Ziele des Projekts kurz dargestellt. Während des Entwicklungsprozesses hilft dir dieses Dokument, das Projekt auf dem richtigen Weg zu halten. In diesem Artikel findest du Details zum Erstellen des Dokuments. Wenn du ein Anfänger in Computerprogrammierung bist, wäre es empfehlenswert, zuerst klein anzufangen und nach und nach zu wachsen. Du wirst viel mehr lernen, wenn du dir machbare Ziele setzt, die du mit einem einfachen Programm erreichen kannst.
Stelle ein Testteam zusammen. Teste das Programm immer wieder. Widme dich den Bugs anhand ihrer Priorität. Füge zusätzliche Features hinzu. Teste jedes Feature, wenn du es hinzufügst. Sichere deine Features wenn die Alphaphase abgeschlossen ist. Beginne damit, ein einfaches Programm mit deiner Hauptfunktion zu schreiben. Stelle ein Team zusammen. Fange, wenn nötig, wieder von vorne an. Kommentiere alles. Vergrößere deine Testgruppe. Überprüfe die Konnektivität. Bringe deine Software auf Hochglanz. Suche weiterhin nach Bugs. Downloade einen guten Texteditor. Lerne eine Progammiersprache. Downloade den Compiler oder Interpeter. Lerne die grundlegenden Programmierkonzepte. Finde ein paar Bücher zur Programmiersprache deiner Wahl. Nimm Unterricht. Stelle Fragen. Vermarkte dein Programm. Stelle dein Programm auf deiner Webseite zur Verfügung. Stelle einen Kundenbetreuungsdienst auf. Halte dein Produkt auf dem Laufenden. Brainstorme Ideen. Begutachte andere Programme. Entwerfe eine Designdokumentation. Fange einfach an.
https://www.wikihow.com/Create-a-Program https://www.wikihow.com/Create-a-Program https://www.wikihow.com/Create-a-Program https://www.wikihow.com/Create-a-Program https://www.wikihow.com/Create-a-Program https://www.wikihow.com/Create-a-Program
Alpha Testing Building Your Prototype Beta Testing Learning a Language Releasing the Program Coming Up With an Idea