Frage

Ich habe zu hören und seit Jahren über Agile zu lesen. Ich besitze ein Buch oder zwei auf ihn und Ich mag die Idee.

Ich bin schließlich in einer Position, wo ich so etwas wie dies aus rollen könnte, wo ich arbeite, aber ich habe ernsthafte Bedenken, ob es der richtige Weg für uns zu gehen:

  • Gibt es eine Mindestgröße für diese? Big Design vorne muss effizienter sein für drei oder 4 Wochen Projekt ... Recht?
  • Unsere Kunden benötigen in der Regel feste Preise. Sie müssen wissen, was sie zu tun hat, außer in besonderen Fällen, in denen wir auf ein offensichtliches schwarzes Loch sind und auch dann wird die Menschen fühlen sich wohler mit einer Kappe. Wie können Sie ein Angebot zur Verfügung stellen, wenn Sie mit einem Prozess werden, die tolerant die laufenden Anforderung Änderungen sind?
  • Ich verstehe, dass Agile bessere Chancen auf Erfolg bei komplexeren Projekten bieten kann, aber es wird nicht die Kosten für den Kunden vorfahren? Und natürlich gibt es die Kosten des Scheiterns zu berücksichtigen -. Vielleicht sind wir hier bei der Mindestgröße Frage zurück
  • Wie in der Welt werden Sie diesen kontra-intuitive Zugang zu den Kunden erklären? Nicht technicial Akteure möglicherweise nicht die Erfahrung haben, um ihre Köpfe um etwas über Wasserfall zu wickeln.
  • Auch für interne Projekte gibt es Budgets. Was bin ich?
  • Es scheint, wie es einige spiele gegen Agile in letzter Zeit ist. Ist etwas anderes Traktion bald anfangen zu gewinnen bald?

Hinweis: Wir sind ein 5 dev-Shop mit Projekten von einem Tag bis hin oder zwei der ganzen Weg bis zu mehreren Monaten. Ich glaube nicht, dass es eine Methode ist, sie alle zu regieren, aber es wäre schön, etwas flexibel genug, um zu finden, dass wir es für alle unsere Projekte anpassen können.

Vielen Dank!

Brian MacKay

War es hilfreich?

Lösung

Ich glaube nicht, eine Methode, sie alle regieren können. Tut mir leid. Ich bin fest davon überzeugt, in das richtige Modell für das richtige Projekt zu finden. Zum Beispiel, wie würden Sie sich fühlen, wenn Ihr in die Chirurgie waren und man die Maschine wusste, die Sie am Leben hielt wurde in einem schnellen iterativen Zyklus mit wenig Design im Voraus.

entwickelt

Aber wie auch immer, auf Ihre Frage. Ich bin ein großer Anhänger der agilen Ansätze, Ihre Iterationen kurz zu halten, wobei der Schwerpunkt auf dem, was die Nutzer wollen, und nicht das Schlachtschiff bauen, sondern nur den Aufbau genau das, was Sie brauchen. Ich würde sagen, 95% aller Projekte agile Ansätze nutzen könnte, und wenn sie nicht, dass es in der Regel eine kulturelle Frage, kein Projekt Problem.

Nun so weit wie BDUF (Big Design-up Front), legen wir großen Erfolg mit einem 20 köpfigen Team auf einem 4-Monats-Projekt hatten, nahmen wir das Projekt es brach in um 3 4 Wochen-Zyklen, zu Beginn eines jeden Zyklus wir alle treffen sich in einem Raum, und sagte ok hier ist, was wir bauen müssen, hier ist, wie wir es bauen, und wir haben einen Stich an, was unsere Schnittstellen wie, welche Daten aussehen würden wir brauchten etc ... Aber es war nur ein Stich , gingen wir zurück zu unseren Schreibtischen dann, und wer im Besitz der verschiedenen Stücke die Details ausgespült.

Im Wesentlichen haben wir genug BDUF im Voraus das Team, um Starthilfe (Und stellen wir sicher, alle Geschäftsanforderungen abgedeckt). Wir nutzten diese Sitzungen Developer Days anrufen und es war ein guter Weg, um das Team anzukurbeln. Wenn Sie das Geld nehmen, das Team Off-Site haben Sie können sie in einem Konferenzraum stopfen in einem Hotel ihnen viele Junk füttern und die Säfte fließen sehen.

Andere Tipps

die einfache Lösung besteht aus 2 Schritten:

  1. nicht schätzen, Kosten und Zeitpläne für Projekte, schätzen Kosten und Zeitpläne für Eigenschaften
  2. zu messen und aufzuzeichnen genug Informationen, um Ihre Geschwindigkeit und Schätzfehler
  3. zu berechnen

klein anfangen und im Haus, wenn möglich, einige Basiszahlen zu bekommen. Wenn Sie immer noch ‚big up-Front-Design‘ tun wollen, tun Sie es für einzelne Funktionen. Dies wird Ihre ersten Schätzungen genauer helfen, und auch, was Granularität von ‚Feature‘ Sie sind komfortabel mit.

Hinweis: Dies funktioniert nur, wenn der Kunde seinen Teil dazu verpflichtet, , nämlich als sehr die Entwickler zur Verfügung (Fragen zu beantworten, schreiben Geschichten und Test Beschreibungen, et al), und nicht ihren Geist während einer Iteration ändern

viel Glück mit Ihrem Übergang, und lassen Sie uns wissen, wie es geht!

Bei weitem die größte Kontraindikation ich gesehen habe, ist ein Mismatch Werte. Extreme Programming beruht auf Respekt, Kommunikation, Feedback, Mut und Einfachheit. In einer Organisation, die auf inkompatible Werten basieren verhält, Anwendung XP Reibung verursachen und in jeder dauerhaften Veränderung nicht dazu führen wird (IME).

Es hängt davon ab, wen Sie fragen und ob sie glauben, in agilen oder nicht ...

Was folgt aus:

  

Ich möchte eine Methode finden, um sie alle zu regieren.

http://www.opaquelucidity.com/facepalm.jpg

Sind alle Ihre Kunden das gleiche? Sie haben bereits gesagt, die Dauern stark variieren ... Warum Sie, dass alle möglichen Projekte unterschiedlicher annehmen würde würde zu einer einzigen Methode geeignet sein?

Suchen Sie nach, was Agile Praxis machen scheitern ... Wenn Sie es 1-2 Minderjährige Punkte gehen bekam, finden Sie Art und Weise über sie zu gehen. Else, suchen Sie nach einem Ausfall. Und wenn Sie es versäumt, werden Sie keine andere Möglichkeit haben, es zu versuchen. Auch wenn es nicht die Agile Praxis, die fehlgeschlagen ...

Starten Sie mit internen Projekten etwas Erfahrung zu bekommen, wie Sie Ihren agilen Prozess funktioniert und wie man am besten Schätzung, wie lange die Dinge laufen zu nehmen. Wenn Sie das Gefühl, dass Sie bereit sind, auf einem echten Kunden zu nehmen, eine auswählen, die Sie mit vielen Vertrauen haben und ein recht kleines Projekt wählen, mit zu beginnen. Der Schlüssel hier ist, dass man Vertrauen aufbauen will. Erklären Sie, was Sie tun und warum - Sie bessere Software, um sie zur Verfügung stellen wollen, dass besser ihre Prioritäten eher reflektiert - und ihnen zeigen, wie Sie auf Ihre interne Projekte erfolgreich waren. Geben Sie auf Ihrem Versprechen -. Da ich in agilen Methoden glauben, ich glaube nicht, das zu schwer zu tun

Wenn Sie (und wow-ed den Kunden) gelungen ist, werden sie Sie bitten, das Verfahren auf ihren anderen Projekten zu verwenden. Sobald Sie ein zufriedener Kunde haben, können Sie beginnen, auf andere zu erweitern, ist Ihr erster Kunde als Referenz verwendet. Schon bald werden Sie feststellen, dass die Praktiken Sie verwenden Arbeit so gut, dass sie in die „Wasserfall“ Prozesse kriechen auch. Irgendwann werden Sie getrunken genug von der Koolhilfe haben wie der Rest von uns agilists zu sein. : -)

Oh. Und ja, es gibt Projekte, die zu agilen Methoden nicht besonders geeignet sind. Dinge wie das Leben kritische Systeme, die Kontrolle Kernkraftwerk können stark regulierten Branchen erfordern alle mehr up-Front-Design und Prozess als agiles ermöglicht. Die meisten von uns nicht immer an diesen Projekten arbeiten.

Scott Ambler ist eine gute Stelle für eine Antwort zu diesem Thema. Sein Artikel macht einen guten Job für einige der Gefahren der Festpreis-Hervorhebung, aber es ist auf jeden Fall möglich. Alistair Cockburn stimmt es möglich ist, auch, weist aber darauf hin, dass einige der Vorteile, die Sie von agilen erhalten sind in Festpreisverträgen verloren.

Ein grundsätzliches Problem mit „großer Entwurf up-front“ (BDUF) ist die Zeit der Gestaltung Funktionalität ausgegeben, die selten, wenn überhaupt, verwendet. Wenn Sie ein fertiges Produkt in einem Monat haben müssen oder weniger, muss das Problem wirklich wird gut definiert vorher.

Was die Kosten des Scheiterns, das ist eine sehr berechtigte Sorge. Ein Vorteil von Agile ist, dass alle Fehler früher geschehen und bei weit geringer Kosten, als sie es in einem Projekt nach der Wasserfall-Methodik. Die Möglichkeit, aus diesen Fehlern zu lernen und ein gutes Produkt am Ende bekommt, ist nicht ein Ergebnis, das die Wasserfall-Methode liefern kann. Die Bundesregierung hat eine ganze Reihe von hochkarätigen Ausfällen von Software-Projekten, die die Wasserfall Methodik und BDUF gefolgt. Ich habe gebloggt über die FBI-Virtual-Fall Datei-Projekt Fehler.

Was angewandte Methodik verwenden Sie werden so viel von der Passform mit Ihrem Team wie die Art der Software, die Sie bauen, und Ihre Kunden bestimmt. tvanfosson ist ganz richtig über die Projekte, die nicht zu agilen Methoden geeignet sind. Ich stimme mit Kent Beck auf die Werte Mismatch Idee. Einige Organisationen sind nicht bereit für Agile aus einer kulturellen Perspektive, unabhängig von ihren Verdienst und Erfolg an anderer Stelle.

Lassen Sie mich Ihre Bedenken Punkt-für-Punkt beantworten:

  

Gibt es eine Mindestgröße für diese?   Big Design vorne muss mehr sein   effizient für eine drei oder 4 Wochen   Projekt ... Richtig?

Ich bin mir nicht sicher, was macht Sie denken, dass Rechtecke Zeichnung auf Papier schneller sein muss als Code Refactoring.

Wie auch immer, auch wenn es, die Frage, ob BDUF zurückzahlt wäre viel mehr eine Funktion, wie viel Lernen Sie während des Projekts als Projektgröße erwarten. Je mehr können Sie erwarten, etwas über das Design zu lernen, die Anforderungen, etc., während der Implementierung des Systems, desto mehr vorne Design verschwendet wird.

Ich habe noch ein Projekt zu begegnen, wo ich nicht signifikant Dinge haben während der Implementierung des Systems.

  

in der Regel unsere Kunden benötigen feste   Preise. Sie müssen wissen, was sie sind   Umgang mit, außer in besonderen Fällen   wo wir sind gegen eine offensichtliche   Schwarzes Loch und selbst dann Leute   wohler mit einer Kappe. so wie   können Sie ein Angebot zur Verfügung stellen, wenn Sie   geht mit einem Prozess, der tolerant ist   die laufenden Anforderung Änderungen?

Nur Anforderung Änderungen zu übernehmen, die nicht Gesamtaufwand ändern. Das heißt, wenn neue Anforderungen eingehen, fällt weniger wichtige. Lassen Sie die Kunden entscheiden, so dass er den meisten Knall für den Dollar bekommen kann.

Sie werden nicht alle Vorteile von Agile auf diese Weise, aber es ist so gut wie Festpreis bekommen kann, soweit ich das beurteilen kann.

  

Ich verstehe, dass Agile bessere Chancen auf Erfolg bei komplexeren Projekten bieten kann, aber es wird nicht die Kosten für den Kunden vorfahren?

Sind Sie vorschlag, dass Projekte, die Agile Weg sind teurer als herkömmliche Projekte laufen? Es gibt tatsächlich Unternehmen gibt, die das Gegenteil erlebt, bis zu einer Kostenreduktion um 50%.

  

Und natürlich gibt es die Kosten des Scheiterns zu berücksichtigen -. Vielleicht sind wir bei der Mindestgröße Frage wieder hier

Kosten des Scheiterns geht mit einem agilen Projekt, weil der frühen Feedback nach unten. Sie können Ausfall bemerken - und deshalb entscheiden, das Projekt abzubrechen -. Viel früher

  

Wie in der Welt werden Sie diesen kontra-intuitive Zugang zu den Kunden erklären? Nicht technicial Akteure möglicherweise nicht die Erfahrung haben, um ihre Köpfe um etwas über Wasserfall zu wickeln.

Warum Agile Software Development zahlen?

  

Auch für interne Projekte gibt es Budgets. Was bin ich?

Ich weiß es nicht. Agile funktioniert gut mit Budgets - die höchste Priorität Features implementieren, bis das Budget aufgebraucht ist. Sie haben das wertvollste System, das für das Geld umgesetzt werden können.

  

Es scheint, wie es einige spiele gegen Agile in letzter Zeit ist. Ist etwas anderes bald bald anfangen Traktion zu gewinnen?

Es hat von Anfang an spiel dagegen gewesen. Und wie es immer beliebter (und es ist!), Es ist nur natürlich, dass Sie auch mehr Spielraum zu sehen.

Lean Software Development ist viel Traktion zu gewinnen. Es ist nicht in Konkurrenz zu Agile Entwicklung, sondern ergänzen, though. Die Gemeinden sind eigentlich recht überlappend.

die „eine Methode, sie alle zu regieren“ In Bezug auf - werfen Sie einen Blick auf Alistair Cockburn „Crystal“ -Familie von Agile Prozesse. Er argumentiert, (ganz kompetent), dass jedes Projekt braucht es eigener Prozess ist, und dass auch nur ein Projekt Prozess muss im Laufe des Projektes ändern. Und er bietet einen leichten Rahmen für Ihren Prozess zu entwickeln.

Wie funktioniert Scrum, wie ich darüber denke. Scrum ist eigentlich nicht sagen, sehr viel darüber, wie Ihr Projekt auszuführen, aber viel mehr darüber, wie, um herauszufinden, was funktioniert und wie die t ermöglicheneam auf diese Erkenntnisse anzupassen.

Ich würde für ein Projekt nicht unbedingt agil verwenden, in denen alle vorne bekannt ist. Agile funktioniert gut, wenn Änderung sehr wahrscheinlich ist. Für den Fall, dass der Wandel nicht likley ist, kann man die prädiktive oder Wasserfall-Prozess verwenden, ein solches Projekt zu verwalten.

Antworten auf Ihre Fragen folgen: Gibt es eine Mindestgröße für das? Aus praktischer Sicht ist Agile Größe unabhängig. Having said that, desto größer ein Projekt, desto wahrscheinliche Änderung auftreten. Wenn ein Projekt kleiner enaough ist dann alles Erkennbare und Änderung ist unwahrscheinlich.

Big Design vorne muss für ein drei oder 4 Wochen Projekt effizienter sein ... Richtig? Einfaches und evolutionär Design von TDD angetrieben ist immer effektiver. Sie sollten gerade genug Architektur vorne getan haben zu wissen, wo sich die wichtigsten Stücke fallen. Nicht-Architektur verwenden, um zu erraten, was Sie tun werden, nur zu erfassen, was erkennbar ist. Lassen Sie einfach und evolutionäres Design ermöglicht es Ihnen, Ihre detaillierten Design zu entwickeln, wie Sie die Anwendung erstellen.

Unsere Kunden benötigen in der Regel feste Preise. Sie müssen wissen, was sie zu tun hat, außer in besonderen Fällen, in denen wir auf ein offensichtliches schwarzes Loch sind und auch dann wird die Menschen fühlen sich wohler mit einer Kappe. Wie können Sie ein Angebot zur Verfügung stellen, wenn Sie mit einem Prozess werden, die tolerant die laufenden Bedarfsänderungen sind? Einige Ausbildung ist zunächst erforderlich. Sie möchten gerne ein Product Backlog, fragen Sie den Produkt-Eigentümers es zu priorisieren und dann eine erste Schätzung der Arbeit zu tun. Dies ist erforderlich, dass das Produkt Eigentümer eine Schnittlinie auf dem Rückstand für das feste Angebot etablieren. Dann Größe Sie das Team und die Dauer der Schätzung zu erfüllen. Der Vertrag dann heißt Sie die feste Kapazität des Teams für die Zeit Feld etabliert verwenden. Dadurch wird das Produkt Eigentümer auf dem timebox und Budget konzentriert bleiben, wenn sie auf dem Rückstand Priorität Anrufe.

Ich verstehe, dass Agile in komplexeren Projekten bessere Chancen auf Erfolg bieten kann, aber es wird nicht die Kosten für den Kunden vorfahren? Ein erfolgreiches Projekt ist immer billiger als ein erfolglos blieb.

Wie in der Welt werden Sie diesen kontra-intuitive Zugang zu den Kunden erklären? Nicht technicial Akteure möglicherweise nicht die Erfahrung haben, um ihre Köpfe um etwas über Wasserfall zu wickeln. Bildung (das heißt, agiles Boot Camp) und erfolgreiche agile Teams profitieren enorm helfen. Dann bekommt das Team gehen. Die Arbeit wird keept ihnen beschäftigt und die Ergebnisse werden sie verkaufen.

Auch für interne Projekte gibt es Budgets. Was vermisse ich? Es scheint, wie es einige spiele gegen Agile in letzter Zeit ist. Ist etwas anderes Traktion bald anfangen zu gewinnen bald? Das einzige spiel ich weiß von agil Projekte, die anerkannten Regeln der Technik nicht effektiv nutzen (das heißt, SCRUM nur). Ein Team mit SCRUM und XP effectivley wird bei der Lieferung und nachhaltige Tempos sehr gut tun.

Ich würde gegen Agile vorschlagen, wenn ein neues Luftverkehrskontrollsystem zu entwickeln.

Imho:

Agile oder nicht, sollten Sie entwerfen, was vor der Implementierung bekannt ist - vor „Zeug nur versuchen“. Recursively Dinge brechen in überschaubare Aufgaben nach unten, dann entwerfen, was bekannt ist, sei es winzigsten Details oder breiten Konzepte. Dinge wie UI und täglichen Geschäftsanforderungen werden so gut wie nie vor der Entwicklung in Stein gemeißelt, während Flugzeuge Simulationsfunktionen sein könnten.

Ein Weg, um zu versuchen, zu „verkaufen“ agil zu den Kunden ist ihr zwei Möglichkeiten gewähren: 1. Wasserfall, wo kein Aufhebungs dort so lange, wie wir (die Entwickler) unser Ende der Vereinbarung erfüllen. 2. Agile, wo Sie wöchentliches Updates über den Status erhalten, hands-on Demos sobald sie verfügbar sind, und die richtige Service alle 2 Wochen zu beenden (falls Sie mögen unsere Arbeit nicht).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top