# Frage zu meiner Vorgehensweise in einem Projekt



## DennisXX (17. Jan 2010)

Hallo zusammen !

Ich habe mal eine Frage an euch. Ich zieh zur Zeit ein kleineres Softwareprojekt durch. Es hat nichts mit Java zu tun, ich hoffe, dass mein Thema trotzdem hier im Form stehen bleibt und nicht gelöscht wird.

Mein Arbeitgeber hat bisher für ein Berichtswesen eine Datenerfassung und Datenauswertung mithilfe von Excel-Dokumenten umgesetzt und will sich nun davon lösen. Ihm steht hierfür ein System zur Verfügung, dessen Frontend mit MS Access (also die Benutzeroberflächen) und das Backend mithilfe des MS SQL Servers umgesetzt wurde. Er hat mir keine expliziten Vorgaben gemacht, eher mich laufen lassen und ich solte ihm brauchbare Ergebnisse präsentieren.

Nun baue ich hier eine kleine Datenerfassung mithilfe von Access-Formularen auf, die Daten in das Backend ablegen (also Planung und Konzipierung der Datenbanktabellen). Anhand der erfassten Daten sollen eine statische-, und interaktive Analyse für die Benutzer ermöglicht werden. Die Daten für die Analyse (also die die mit der Datenerfassung im SQL Server gesammelt werden) werden mithilfe von Views so aufbereitet, dass man vernünftige Datenauswertungen fahren kann. 

Das statische Berichtswesen soll mithilfe einer Access-Benutzeroberfläche erfolgen (statisch deshalb, wie eine feste Anzahl an Filterkriterien vorgegeben wird, anhand deren nur bestimme Informationen gefiltert werden können.

Bei der interaktiven Analyse sollen Daten aus dem SQL Server nach Excel importiert werden (genauer gesagt eine View, die die Daten schön aufbereitet) und mittels Pivottables ausgewertet werden können. Also der Benutzer hat hier mir Spielraum was zu machen, als beim statischen Berichtswesen.

Naja was ich jetzt wissen möchte ist, ob meine Vorgehensweise mit der agilen Softwareentwicklung zu tun hat (ggf. XP - Extreme Programming). hat dass auch was mit dem KISS-Prinzip zu tun? Ich halte mich ja hier nicht stur an irgendwelchen Prozessabläufen fest (z.B. Wasserfallmodell), außer ist die Software nicht allzu komplex, was extremen bürokratischen Aufwand rechtfertigen und notwendig machen würde. 

Liege ich mit meiner Vermutung richtig? Ich hoffe, ihr löscht das Thema nicht.

MFG


----------



## maki (17. Jan 2010)

Vielleicht arbeitest du ja wirklich Agil, du schreibst zuwenig darüber wie du zu deinen Requirements kommst und wie diese umgesetzt werden, zB. ob es in Iterationen passiert oder ob du von Anfang an alle Requirements hast und der Kunde mit der Zeit immer mehr draus macht, vor dem ersten Release...

XP?
Arbeitest du mit Testgetrieben (mit Unitests), Refactorest du deinen Code & Testcode regelmässig, hast du einen automatisierten Build, etc. pp....


----------



## DennisXX (17. Jan 2010)

Access und der SQL Server waren Vorgabe des Arbeitgebers !

Die fachlichen Anforderungen für die Datenerfassung habe ich mit einem Arbeitskollegen zusammen erarbeitet.

Dann jede einzelne Anforderung geprüft, also den erforderlichen Zeitaufwand nach Bauchgefühl in Tagen abgeschätzt.

Diese Aufwandsschätzung dann meinem Vorgesetzten vorgelegt und ihn aufgefordert, diese zu gewichten, also Prioritäten zu setzen, da nicht alles in dem zur Verfügung stehenden Zeitraum zu schaffen ist.

Anhand der Priorisierung wurde erneut gemeinsam festgelegt, was umgesetzt werden soll.

Anhand der Daten, die durch die Datenerfassung in den SQL Server kommen sollten, sollte ich Analysemethoden entwickeln. Hierfür erhielt ich fasst alle Freiheiten. Die interaktive Analyse habe ich vollständig und ohne Absprache selbst entwickelt. Der Arbeitgeber war mit dem Resultat voll zufrieden !

Beim statischen Berichtswesen habe ich mit meinem Vorgesetzten die Filterkriterien abgestimmt und dann anschließend entwickelt.

Für die interaktive Analyse und das statische Berichtswesen habe ich auch aus dem Bauch heraus eine Aufwandsschätzung in Form von Tageszahlen abgewogen.

Alle entwickelten Dinge, also Datenerfassung, statisches Berichtswesen und interaktive Analyse habe ich innerhalb einer Interation entwickelt. Die bisherigen Implemente sollen später noch weiterentwickelt werden ! Somit handelt es sich um einen Prototypen, der weiterentwickelt werden soll.


----------



## DennisXX (17. Jan 2010)

maki hat gesagt.:


> XP?
> Arbeitest du mit Testgetrieben (mit Unitests), Refactorest du deinen Code & Testcode regelmässig, hast du einen automatisierten Build, etc. pp....



Nein ich glaube nicht, dass ich mit so etwas in der Richtung arbeite. Was genau ist Refactored?


----------



## maki (17. Jan 2010)

Kannst dir ja mal die wikipedia Einträge für SCRUM durchlesen, google mal nach dem agilen Manifest, dann kannst du selber entscheiden ob du "zufällig" ein agiles Vorgehensmodell einsetzt 



> Was genau ist Refactored?


"Refactoring" nennt man die Veränderung des Codes ohne dessen Funktionalität zu verändern, "man räumt auf" sozusagen, korrigiert das Design, im großen wie im kleinen, gibt da auch ein sehr gutes Buch darüber von Fowler.


----------



## DennisXX (19. Jan 2010)

....


----------

