2009-11-25 5 views
5

Ich studierte in einem großen Software-Engineering-Programm, und wurde die Bedeutung des Prozesses und die Schritte eines Lebenszyklus-Modells gelehrt. Ich kenne das klassische "Wasserfall" -Modell. Obwohl wir andere erkundet haben, kann der Wasserfall die möglichen Aufgaben auflisten, egal wie schlau oder knifflig Ihr New-Age-Modell ist. Es ist also ein guter Ausgangspunkt.Software-Lebenszyklus-Modelle für Web-Entwicklung

Als ich mit der Schule fertig war, war .NET gerade auf dem Vormarsch, also haben wir keine neuen Wege gefunden, die Web-Entwicklung mit einem guten Lebenszyklus-Modell anzugehen. Jetzt arbeite ich in einem Webshop und wir versuchen, einige gute Praktiken und Prozesse zu etablieren, wo wir keine haben. Da ich erst vor 6 Jahren meinen Abschluss gemacht habe und Erfahrung in strukturierteren Softwareumgebungen gesammelt habe, bin ich der Typ, der neue Sachen einführt.

Gerade jetzt ist das Büro nur Chaos. Ich habe gestern viel von einem Projektleiter gelacht, der ihm sagte: "Unser Prozess ist der Klang einer Hand, die klatscht." Wir sind verzweifelt nach Prozess, aber wir wissen nicht, was zu tun ist. Jeder geht rückwärts und möchte ein Werkzeug haben, um ihnen zu sagen, wie man etwas macht, wenn wir zuerst die Anforderungen zusammentragen.

Wir sind ein Geschäft von 9 Personen insgesamt. Wir müssen schnell arbeiten können. Was sind einige gute Softwareentwicklungsmodelle, die jetzt Industriestandard sind? Alle anderen tun dies, also müssen wir lernen, dieser Shop baut seit 1995 Websites. Wo kann ich gute Ressourcen zu Best Practices finden? Wir sind ein LAMP-Shop.

EDIT: Ich sollte auch hinzufügen, würden wir suchen, einen Prozess zu bestehenden Websites hinzuzufügen. Wir bauen also keine neuen Projekte auf, auf die diese Modelle immer ausgerichtet sind. Wir unterhalten 10 Jahre alte Monster von Seiten (ok mehr wie 3-5 Jahre, aber die Clients sind älter) und halten sie in Gang, während wir inkrementell neue Funktionen hinzufügen. Kann irgendwas davon helfen?

Antwort

0

Agile und eXtreme Programming (XP) funktionieren beide gut. Ich habe auch gute Erfahrungen mit der Rational Unified Process (RUP) gemacht.

Alle von ihnen sind iterativ, was ihnen einen Vorteil gegenüber Waterfall gibt, da Sie nicht steckenbleiben und riesige Mengen an Funktionalität implementieren, ohne zu erkennen, wie sie wahrgenommen wird (ganz zu schweigen von Ihren Benutzern, die kleinere Teile davon bekommen) Funktionalität viel häufiger als die traditionelle monolithische Release).

RUP leistet gute Arbeit bei der Erfassung von Anforderungen im Voraus. Agile und XP verwenden beide einige wirklich interessante Techniken, um Qualität mit einem schnellen Turnaround zu gewährleisten. Ich würde mir alle drei ansehen und herausfinden, was am besten zu Ihrem Team passt (oder die besten Teile aus allen dreien für Ihre Anwendung ausgliedern).

4

Was viele Geschäfte jetzt benutzen, ist die Agile-Entwicklungsmethode. Es ist skalierbar von einem einzigen Entwickler zu so vielen, wie Sie vielleicht haben. Mit dieser Methode können Sie leicht verfolgen, wie viel Arbeit jeder Einzelne in einem bestimmten Zeitraum leisten kann. Schauen Sie sich die Wikipedia-Seite Beschreibung der Methodik:

http://en.wikipedia.org/wiki/Agile_software_development

Es gibt auch einige große Open-Source und kostenlose Tools, die Ihnen helfen, einzurichten Teams, Projekte, Iterationen, und alles.

Allerdings würde ich sagen, dass ich früher in einem Wasserfallgeschäft gearbeitet habe, und wenn das Management nicht an Bord der Änderung ist, werden Sie nirgends versuchen, von Wasserfall zu agil zu wechseln.

EDIT (als Antwort auf Frage bearbeiten): JA! Agile unterstützt Sie definitiv bei der Pflege und Erweiterung bestehender Projekte sowie bei Refactoring-Releases. Es ist alles inklusive.

~ md5sum ~

+0

+1 für alle muss an Bord sein oder es wird nicht funktionieren. Management UND Entwickler. – kenwarner

+0

Es ist schön, Ihre vorhandenen Entwickler an Bord zu haben, aber sie sind ersetzbar, wenn sie nicht kooperieren wollen, und außerdem habe ich keine "guten" Entwickler getroffen, die Probleme mit einer agilen Methodik hatten. Leider kannst du deinen Chef nicht feuern. Der Lösungsarchitekt, bei dem ich früher gearbeitet habe, war für die Auswahl der verwendeten Methodik verantwortlich. Und während er ein netter Kerl war, glaube ich nicht, dass er den FizzBuzz-Test in weniger als 3000 Zeilen C# -Code lösen konnte. Er behauptete, Scrum zu mögen, und dass wir agil waren, aber wir waren mehr wie eine Art zerbrochener Wasserfall. Ein Wasserfall ohne Wasser vielleicht ... –

0

Scrum, die eine Agile Praxis ist, wäre ein Vorschlag für den Versuch, in einem Teil des Chaos zu zügeln. Welche Praktiken haben Ihre Projektmanager? Das wäre eine der größeren Fragen, denn vielleicht kommt das Lachen von jemandem, der sich in seiner Position bedroht fühlt.

EDIT: So wie etwas anderes zu betrachten, müssen Sie diese an Ort und Stelle:

  • Testing - Haben Sie automatisierte Tests?
  • Kontinuierliche Integration - Kennen Sie das? Benutze es überhaupt?
  • Versionskontrolle - Haben Sie Filialen und Prozeduren oder Check-ins?
  • Entwicklungsmethodik - Ad-hoc- oder "Just do what works" -Mentalität?
  • Umgebungen - Gibt es Entwicklungs-, Test- und Produktionsumgebungen?
+0

Nein, das Lachen war echt, weil er weiß, dass ich recht habe. Es gibt buchstäblich keinen Prozess. Jeder Projektmanager macht sein eigenes Ding. Wir reden miteinander und lassen die Arbeit "fertig" werden, um dann später Feuer zu löschen. Wirklich Chaos. – tkotitan

+0

Wenigstens etwas Arbeit wird erledigt. Ich kann mir vorstellen, dass an einigen Stellen nichts getan wird, wegen all der Schuldzuweisungen, deren Schuld es ist, dass nichts getan wird. –

+0

Ja, aber es gibt Tage - nein - Wochen, sogar Monate, in denen ich für einige Ausfallzeiten töten würde! :) Aber du hast recht. Wir haben einen unglaublichen kooperativen Geist in meinem Büro, keine Schuld, arbeiten nur zusammen, um das Problem zu lösen und den Kunden zu helfen. So etwas habe ich noch nie gesehen. – tkotitan

0

Der Hype ist Agile. Ich liebe die Prinzipien hinter Lean, die ihre Wurzeln in der Agile-Community hat.

0

Ich denke, ein guter Ausgangspunkt ist der Joel Test. Hier ist die Joel Test for web development. Wenn du dir das einmal angeschaut hast, wirst du wissen, wo du mit der Verbesserung beginnen kannst. Dies sind die Grundlagen.

1

Ich weiß, dass dies ein wirklich alter Beitrag ist und das Originalplakat in letzter Zeit nicht aktiv war. Ich frage mich jedoch, ob dies nicht ein aktuelles Thema ist, das noch eine Antwort braucht. Ich bin ein Neuling für StackOverflow, aber ich habe einige Einblicke in dieses Problem.

Es gibt eine Reihe von Dingen für diesen Beitrag. Zuerst möchten Sie den "besten" Typ des SDLC-Modells kennen. Es gibt viele verschiedene Modelle, aber keine richtige Antwort. Es hängt davon ab, was Sie erreichen möchten und wie Ihr Team am besten funktioniert.

Basierend auf Ihrem Beitrag, eine Kombination von Agile und Scrum wäre ein guter Ansatz, um Ihre Bestellung von Prozessen zu verwalten. Mit dem Agile können Sie in Iterationen schneller arbeiten, während das Scrum Ihrem Team hilft, Aufgaben, Verantwortlichkeiten, Prioritäten, Herausforderungen und Lösungen zu identifizieren.

Bei der Festlegung bewährter Verfahren und Methoden ist es wichtig, dass die Prozessidentifikation und die Aufmerksamkeit für die SDLC-Methode selbst berücksichtigt werden. Die Organisation sollte einschätzen, welche Projekte durchgeführt werden müssen, wer und was benötigt wird, Probleme und mögliche Lösungen und die Struktur der Arbeitsstruktur, die hilft, die Bedürfnisse jeder Aufgabe zu verwalten, um den Prozess zu erstellen.

** Zum Beispiel ** Wenn Sie eine Seite zu einer bestehenden Website hinzufügen müssen, erstellen Sie möglicherweise eine Prozessrichtlinie (da jede Seite anders ist als der Kunde). Möglicherweise haben Sie einen ähnlichen Prozess wie den folgenden: 1. Sammeln Sie Kundenanliegen, Anforderungen, Ideen, Erwartungen usw .: (Requirements Interview) 2. Vorhandene Standards/Implementierungsidentifikation 3. Listen Sie jede Aufgabe auf, die zum Abschließen benötigt wird die Seitenergänzung 4. Erstellen Sie für jede Aufgabe einen ausgearbeiteten Projektstrukturplan (PSP). 5. Erstellen Sie ein Fortschrittsverwaltungssystem (Dies ist ein neuer zu entwickelnder Prozess). 6. Aufgaben delegieren/Fristen/Mannschaften/etc. 7. Erstellen Sie eine Team-Kommunikation 8. Überprüfen/Test Fortschritt 9.Passen Sie Aufgaben/PSP/Plan basierend auf den Agile/Scrum-Methoden an.
10. Wiederholen bis die Anforderungen erfüllt sind.

Sie haben möglicherweise die Agile- und Scrum-Prozesse eingerichtet, bevor Sie andere Prozesse einrichten, und Sie können sie anpassen, bis sie für die von Ihnen bereitgestellten Dienste funktionieren.

Sie müssen Agile oder Scrum oder eine bestimmte Kombination der Verfügbarkeiten nicht basierend darauf verwenden, was alle anderen tun. Die Schönheit von so vielen zu wählen ist, dass Sie sie mischen können, bis Sie finden, was für Ihr Projekt (e) funktioniert.

Damit alle Ihre Prozesse effektiv sind, müssen Sie mit Ihrem Team kommunizieren, was funktioniert, nicht funktioniert oder was funktioniert, aber verbessert werden muss. Einige Tools, für die ich großes Lob gehört habe, sind: 1. Slack dot com: Dies ist ein Team-Projektmanagement-Tool. 2. G Suite: Dies ist eine kostenpflichtige Suite von Apps, Sie können aber auch Google Mail, Google Drive, Google Tabellen, Google Docs, Google Kalender, Hangouts, Google + und andere kostenlose Tools verwenden.
3. Trello dot com: Dies ist eine coole Zusammenarbeit Board, das ich mit ein paar Freunden für meine Projekte verwenden. Sie können persönliche Boards oder geteilte Boards haben: Kalender, Teams, E-Mail-Verbindungen, Erinnerungen usw. Ich habe dieses Website-Tool wirklich genossen.

Dies sind nur ein paar, die ich für anständig halte, aber es gibt mehr, die verschiedene Funktionen bieten, so dass Sie auswählen können, was für Sie funktioniert.

Schließlich ist Projektmanagement eine entmutigende Aufgabe, aber die, die Sie angestellt haben, sollte Ihnen in diesem Dilemma helfen können. Hier sind jedoch einige Websites, die Ihnen helfen können, einige Ihrer eigenen Projektmanagement zu tun: 1. PMI dot org: Dies ist das Projektmanagement-Institut. Auch wenn Sie nicht der Projektmanager sind und nicht sein wollen, gibt es wirklich großartige Einsichten und Tipps für jeden in einer Managementposition, die die Logistik von Projekten überwacht.
2. SDLC PM: Dies ist immer noch PMI.org, aber dieser Link ist spezifisch für Ihre Frage. 3. Projectmanager.com: Dies hat Werkzeuge für das Projektmanagement. Hier gibt es auch einen Link mit zusätzlichen Ressourcen.

Nun, ich hoffe, dass diese Informationen Ihnen und anderen helfen. Ich hätte mehr Links, aber ich brauche mehr Reputationspunkte. Ich habe versucht, sie dort hineinzuschleichen. Freundliche Grüße.

-AudreyLin

Verwandte Themen