Wie man die Softwareproduktion besser managt

Anonim

Die Software-Produktion ist heutzutage einer der schwierigsten Prozesse für Unternehmen. Große und kleine Unternehmen haben mit unterschiedlichen Problemen zu kämpfen - von der effektiven Zusammenarbeit der Entwickler bei der Entwicklung von Software über die Skalierung von Proof-of-Concept bis hin zum alltäglichen Gebrauch bis hin zur Nutzung der Software durch Kunden.

Ford und GM stellen seit fast einem Jahrhundert dieselben vierrädrigen Fahrzeuge mit Verbrennungsmotor her. Laut Charles H. Connell, dem ehemaligen Chefingenieur von Lotus Development, konnten sie ihre Produktionslinien in kleinen Schritten verbessern, was ein unglaublich effizientes Ganzes ergibt.

Auf der anderen Seite werden Softwarefirmen ständig aufgefordert, Produkte zu entwickeln - Webbrowser in den frühen 1990er Jahren, neue Mobiltelefonschnittstellen -, die jeweils völlig originell und unbekannt sind.

"Es ist wie ein Autohersteller, der sagt: Dieses Jahr werden wir statt eines Autos ein Raketenschiff bauen", sagt Connell. "Natürlich werden sie Probleme haben."

Um die Softwareproduktion zu überwachen und zu verwalten, müssen Unternehmen Daten, Kommunikationstools und Benutzerfeedback verwenden. All dies muss rechtzeitig mit der Software kombiniert werden, bevor sie die Tür verlässt.

Benutzer-Anmeldungen

Wenn die Software erst einmal erstellt und für einige Benutzer zum Testen bereit ist, kann es fast unmöglich sein, dass sich die Benutzer anmelden. Sie haben möglicherweise Formulare ausgefüllt, die besagen, dass sie Ihre Software in Schwung bringen werden, aber jetzt haben sie das Interesse verloren oder vergessen, warum sie sich überhaupt angemeldet haben. Wenn Benutzer mit der Software arbeiten, fummeln und bis an ihre Grenzen gehen, werden Fehler, Fehler und Bereiche offengelegt, in denen Sie erweitern können.

Die Benutzer haben eine Erwartung: Sie muss entweder ein dringendes Problem beheben oder etwas anbieten, das derzeit niemand sonst tut.

Realweltgebrauch

Jetzt haben sich die Benutzer angemeldet, und die Benutzer verwenden Ihre Software so, wie sie es möchten. Sie haben die Fehler und alle anfänglichen Fehler herausgefiltert. Das Entwicklerteam hat möglicherweise erwartet, dass Benutzer ihre Software auf einem Smartphone mit einem aktuellen Prozessor, 2 GB RAM und dem neuesten Betriebssystem ausführen. Dies ist jedoch nicht immer der Fall, da die Benutzer die Software auf alles von alten oder neuen Mobiltelefonen setzen. In jedem Fall müssen Sie die Software für jede Erfahrung und jedes Hardwareteil optimieren.

Dies gilt auch für Cloud-basierte Software. Benutzer haben ältere Browser oder deaktivierte Schlüssel-Plugins, an die Sie möglicherweise nicht gedacht haben. Sie müssen diese Probleme umgehen, um sicherzustellen, dass die Software weiterhin für alle Benutzer effektiv funktioniert. Sie können Benutzern ein Upgrade empfehlen, aber sie sind Gewohnheitstiere und wollen sich nur ungern ändern. Darüber hinaus haben Sie den zusätzlichen Druck, sie davon zu überzeugen, die zuvor verwendete Software aufzugeben.

Sie müssen nicht nur die Menge verschiedener Geräte, Betriebssysteme und sogar Browser mithilfe Ihrer Software planen, sondern auch einen enormen Zustrom von Datenverkehr.

Wenn Sie etwas in der Cloud oder in irgendeiner Form von Internet-Service-Anforderungen erstellt haben, müssen Sie die Software für alle Benutzer skalieren. Wenn die Software von 3.000 auf 30.000 Benutzer springt, kann dies zu enormen Problemen für Ihre Server führen. Glücklicherweise können Sie, wenn Sie Server verwalten und der Datenverkehr ansteigt, den Server skalieren, um den erhöhten Datenverkehr zu bewältigen.

Kommunikation mit dem Entwickler

Software ist komplex und erfordert ein Team von Entwicklern und Designern, um etwas aufzubauen, das gut aussieht und funktioniert. Dies bedeutet, dass drei oder vier Personen immer wieder denselben Code berühren und möglicherweise nicht verstehen, warum diese Codezeile gerade so platziert wurde.

Bei Tausenden oder in einigen Fällen Millionen von Codezeilen kann es eine entmutigende Aufgabe sein, zu verstehen, warum ein Kollege diese Zeile dort einfügt. Der Schlüssel zum Verständnis ist Kommunikation und richtige Planung. Die richtigen Tools müssen bereitgestellt werden, damit die Entwickler nahtlos mit dem Code arbeiten können, aber kommunizieren können, was genau diese Gruppe von Code tun soll. Andernfalls erhalten Sie eine Software, die mit unnötigem Code, Bugs und schlimmer noch mit tödlichen Sicherheitslücken durchsetzt ist.

Wenn die Teams im ganzen Land oder auf der ganzen Welt verteilt sind, können Kommunikationstools wie Github dem Team eine effektive Kommunikation, Zusammenarbeit und Verwaltung von Projekten ermöglichen. Die Teams sind in der Lage, Codezeilen zu kommentieren und die Änderungen zu überprüfen. Alle Werkzeuge, um Fehler oder Zeitverschwendung effizient zu vermeiden.

Funktionen optimieren

Softwareentwickler verraten ihre Software als voll mit neuen Features, aber oftmals sind diese Features Flaum. Benutzer möchten eine Funktion, die ein Problem behebt, mit dem sie konfrontiert sind, nicht nur Tausende von nutzlosen Funktionen, die ihnen ins Gesicht geschlagen werden.

Entwickeln und Planen von Funktionen, die einzigartig sind und ein Problem lösen oder eine Lücke füllen, die andere nicht haben, um Ihre Software zu unterscheiden. Wenn Sie iOS mit Android vergleichen, würden einige sagen, dass Android eine kompliziertere Software mit zu vielen Funktionen ist. iOS wird als benutzerfreundlich, sauber und als Industriestandard für alles angepriesen. Das willst du werden; nicht die Software, die andere herumjagt.

Fazit

Software ändert sich ständig und Unternehmen versuchen ständig, sich zu entwickeln und zu erneuern, um die Verbraucher zufrieden zu stellen.

Einer der ältesten Witze, der Millionen von E-Mail-Inboxen durchlaufen hat, ist: "Wenn sich die Automobilindustrie wie die Softwareindustrie entwickelt hätte", so der Mogul, "würden wir alle 25-Dollar-Autos fahren, die 1.000 Meilen in die Gallone bringen." Ein Auto-Manager erwidert: "Ja, und wenn Autos wie Software wären, sie würden ohne Grund zweimal am Tag abstürzen, und wenn Sie sich an den Kundendienst wenden, werden Sie aufgefordert, den Motor neu zu installieren. "

Es ist ein Witz, der wahr wird, da neue Software jährlich oder sogar monatlich veröffentlicht wird. Ein Paradebeispiel ist Adobe, das alle paar Jahre von großen Releases zu einem Abonnementmodell übergeht, das jeden Monat Updates für Benutzer enthält.

Unternehmen entwickeln ständig Software, und in der Lage zu sein, die Softwareproduktion genau zu überwachen und zu verwalten, kann eine schwierige Aufgabe sein. Wenn sich Unternehmen auf die Anmeldung von Benutzern, die Skalierung für die Nutzung in der realen Welt konzentrieren, sicherstellen, dass die Entwickler über die Tools zur Kommunikation verfügen, und Funktionen rationalisieren, kann die Software-Produktion weniger mühsam werden.

Bilder: Shutterstock

Dieser Beitrag wurde Ihnen von New Relic zur Verfügung gestellt, einem Softwareanalyse-Tool, mit dem Sie die Leistung Ihrer Anwendungen verstehen lernen.

menu
menu