Sviluppo di software nel mondo vero: Requisiti

da admin il 11 ottobre 2007

Allora raccolsi già altro libro su sviluppo di software e iniziai a leggere. Non fui capace di finirlo perché questo mi sta dando un tal mal di testa. A intervalli di poche pagine ricevo l'impulso irresistibile di schiaffeggiare la mia fronte. A questo tasso, sto per ricevere una commozione da capitolo tre. Every few pages I get the irresistible urge to slap my forehead. At this rate, I'm going to get a concussion by chapter three.

Anyways, questo tipo continua su requisiti: Come il no avere di progetti di cause di requisiti appropriati di essere sopra bilancio e dietro programma, come la caratteristica striscia conduce a programma poco maneggevole di progetti e progettisti demoralizzati, yadda, yadda, yadda. No, veramente? No, really?

E la sua prescrizione è che qualcuno scrive i requisiti e fa tutte le parti interessate terminare una trasmissione su loro. Certamente, non c'è soltanto un genere di requisito - noooooo! - ci sono molti il genere di requisiti. Così come i requisiti d'utente, là sono requisiti d'affari e progettano il requisito e i requisiti thingajig e.... Non so, ma molti molti requisiti funky e perdinci, se il direttore di progetti riceve tutti i requisiti scritti su e terminò una trasmissione da tutte le parti interessate, allora l'alleluia, questo sarà UN progetto che finirà in tempo e sul bilancio. Se solo quei direttori stupidi di progetti potevano scrivere su che una buona serie di documenti di requisito.... batte forte! - there are many kind of requirements. As well as user requirements, there are business requirements and design requirement and thingajig requirements and .... I don't know, but lots of lots of funky requirements and gosh, if the project manager gets all the requirements written up and signed off by all the stakeholders, then hallelujah, this will be the ONE project that will finish on-time and on-budget. If only those stupid project managers could write up a good set of requirement documents....thump!

Scusi, che fu la mia testa che colpisce la scrivania. Penso che perdei la coscienza durante alcuni secondi.

Va bene, proviamo a confutare questo punto di vista che sembra di essere la saggezza convenzionale con un'eccezione dove i requisiti scritti corazzati sono la regola: sistemi incassati. Fondamentalmente, è veramente duro cambiare una patatina fritta dopo che è stato progettato. Duh. Basically, it's really hard to change a chip after it's been designed. Duh.

Per quasi tutto l'altro lavoro di sviluppo di software, è una buon'idea di annotare una serie di requisiti preliminari. E poi li stampi. Ma li stampi su carta molto morbida che può esser usata nella più piccola camera della casa. Perché in un periodo di tempo molto corto, questo è l'unica camera dove quel pezzo di carta sta per essere utile. But print them out on very soft paper that can be used in the smallest room of the house. Because in a very short period of time, that's the only room where that piece of paper is going to be useful.

Ci sono due ragioni principali perché, un ovvio & un sottile. Inizierò dall'ovvio: fingiamo che Lei è il cliente. Lei ha firmato un contratto con una casa di sviluppo di software per costruire un programma chic che fa qualcosa. Lei ha accettato di pagare soldi. In la maggior parte casi, Lei sta pagando molti soldi. Lei ha messo la Sua firma su un pezzo di carta per qualcosa che non esiste nel presente. Lei è anche penosamente conscio che quando questo pezzo di software è creato, se è non risponde all'aspettativa le attese delle Sue parti interessate, loro stanno per farLa sapere su questo. E come incontrano i tempi un rilascio di software il 100 % d'attese del cliente? Let's pretend you are the customer. You have signed a contract with a software development house to build a nifty program that does something. You have agreed to pay money. In most cases, you are paying a lot of money. You have put your signature on a piece of paper for something that doesn't exist in the present. You are also painfully aware that when this piece of software is created, if it's does not meet the expectations of your stakeholders, they are going to let you know about it. And how times does a software release meet 100% of the customer's expectations?

Adesso, dopo sottoscrizione di un pezzo di carta per quello che molti nella Sua organizzazione considerano una quantità oscena dei soldi, un periodo di tempo certo trascorre e Lei fa altro pezzo di carta leggere, con un titolo dichiarando che è un progetto/utente case/business/whatever il documento di requisiti. Lei legge il documento da cima a fondo. Sembra va bene. C'è uno spazio per la Sua firma. Forse Lei lo firma. Forse Lei manda indietro una posta elettronica dicendo che Lei firmò un pezzo di carta per milioni ennesimi di dollari, e questo è l'unico pezzo di necessità di carta di firmare, mai. Ma fingiamo che Lei termina una trasmissione sui requisiti il dottore. Significa questo che Lei, il cliente, ha rinunciato il diritto di mettersi in contatto mai, comunica o tormenta lo sviluppo si mettono insieme a nuove caratteristiche e/o requisiti? It looks okay. There's a space for your signature. Maybe you sign it. Maybe you send back an e-mail saying you signed a piece of paper for umpteenth millions of dollars, and that's the only piece of paper need to sign, ever. But let's pretend you sign off on the requirements doc. Does this mean that you, the customer, have given up the right to ever contact, communicate or nag the development team with new features and/or requirements?

No. Mai. Mai. Non c'è nessun cliente che è esistito mai dall'inizio di tempo che continuamente non importunerà lo sviluppo per nuove caratteristiche proprio fino al momento di rilascio e poi. Arrivare. Usato. A. Questo. Ever. There is no customer that has ever existed since the beginning of time that will not continually pester the development for new features right up to the moment of release and after. Get. Used. To. It.

Allora la lezione per qualsiasi direttore di progetti non è passano troppo tempo a stesura di requisito i dottori. Sicuro, li batta fuori rapidamente, e voglio dire li battono fuori, ma se, i miracoli di miracoli, il cliente manda indietro va bene e un documento terminato una trasmissione, perfino non pensi che il Suo lavoro è finito. Il divertimento comincia. The fun has just started.

Questo alleva il mio secondo punto su cadere nella trappola di requisiti della documentazione: l'acquisizione di tutti i requisiti è superdura. In la maggior parte casi, è impossibile. Non perfino il cliente, e il cliente del cliente, possono darLe il 100 % dei requisiti. In most cases, it's impossible. Not even the customer, and the customer of the customer, can give you 100% of the requirements.

Guardi, questo assomiglia la partenza per club degli ammiratori di Julia Roberts e il detto: "Vogliamo fare un romanzo rosa con Julia e Brad Pitt. Loro si innamorano, loro combattono & la rottura, e poi loro completano e si innamorano di nuovo. Alla fine del film, tutti nel pubblico perché il film fu così meraviglioso. Qui è il copione del film. Può assicurarci Lei che dopo vista di questo film, Lei si estenderà per il Suo hankie?" They fall in love, they fight & break-up, and then they make up and fall in love again. At the end of the movie, everybody in the audience because the movie was so wonderful. Here is the script of the movie. Can you assure us that after seeing this movie, you'll reach for your hankie?"

Mi permetta di ricontare un esempio dal mondo vero (ho cambiato alcuni dettagli per proteggere l'innocente): Uno di cliente di Creo ebbe un po' di tecnologia di stampa che funzionava con un appartamento di software sviluppato presto gli anni 1990. Creo ha alcun software di prestampa sviluppato circa un decennio più tardi che è enormemente superiore. Comunque, ci furono alcune caratteristiche uniche che furono necessarie per esser sviluppate e aggiunte ad appartamento di software di Creo. Creo has some pre-press software developed about a decade later that is vastly superior. However, there were some unique features that were needed to be developed and added to Creo's software suite.

Progetti che la direzione per il cliente era coordinata di sede centrale a metà degli Stati Uniti mentre la tecnologia di stampa fu basata in luogo d'impianto vicino alla Costa Ovest. Volai giù all'impianto per fare sfoggio d'appartamento di software di Creo e requisiti di cattura. Fece la presentazione, volò indietro a Vancouver. Un paio di settimane più tardi, riceviamo il messaggio diplomatico da sede centrale che forse tutti i requisiti non sono stati presi. Allora volo giù di nuovo. Anche combino di caricare l'appartamento di software di Creo su un server e spedito al luogo d'impianto come un loaner. Questa volta, durante la presentazione, loro hanno il loro superutente, il loro amministratore di sistema sottomano. Sono fortunato che il cliente è abbastanza intelligente per fare uscire i loro utenti alla presentazione per dare un parere critico sull'appartamento. Il superutente va in profondità su me. Questo significa che lei fa esercitazioni giù molti livelli ad alcuni veramente oscurano (a me), ma importante (per loro) il requisito d'affari che non è nel nostro appartamento di software. Promisi di seguire su su quelle caratteristiche con alcuni SMEs di Creo (gli esperti d'argomento) quando torno all'ufficio. Did the presentation, flew back to Vancouver. A couple of weeks later, we get the diplomatic message from head office that perhaps all the requirements have not been captured. So I fly down again. I also arrange to have Creo's software suite loaded on a server and shipped to the plant site as a loaner. This time, during the presentation, they have their super-user, their system administrator on hand. I am lucky that the customer is smart enough to get their users out to the presentation to critique the suite. The super-user goes deep on me. That means she drills down many levels to some really obscure (to me) but important (for them) business requirement that is not in our software suite. I promised to follow up on those features with some of Creo's SMEs (subject matter experts) when I get back to the office.

Nel frattempo, il server con software di Creo arriva sul luogo con un rappresentante campestre locale per fare installano e la formazione professionale preliminare. Anche prendo accordi che un allenatore faccia seguito a una visita sul luogo del cliente una settimana più tardi. Predo istruzioni all'allenatore per aspettare & riportare per qualsiasi nuovo requisito. Sei settimane più tardi, mando altro allenatore. Circa cinque mesi sono passati dalla mia prima visita dell'appartamento di cliente. Finalmente, il superutente è capace di esprimere i requisiti chiaramente che l'impianto abbia bisogno al rappresentante di Creo che è anche uno SME in quel subargomento particolare. Allora prendere i requisiti e li passiamo all'équipe di sviluppo e riceviamo il messaggio indietro che nessuno dei requisiti è impossibile eseguire, vorrà circa tre mesi per rotolare nel vicino ammodernamento. Fine di storia. I pre-brief the trainer to watch & report for any new requirements. Six weeks later, I send another trainer. About five months have passed since my first visit to the customer suite. Finally, the super-user is able to articulate the requirements that the plant needs to the Creo representative who is also a SME in that particular sub-topic. So we get the requirements captured and we pass them on to the development team and we get the message back that none of the requirements are impossible to fulfill, it will take about three months to roll into the next upgrade. End of story.

Adesso, annoti che in questo caso studiano:
1. Il cliente fu sofisticato, capendo che avevamo bisogno di fare il superutente passare molto tempo giocando con il nostro software allora lei poteva scoprire quello che era assente.
2. Avemmo molto tempo. Acquisizione dei requisiti appropriati prese cinque mesi. La codificazione dei requisiti prese due settimane (il carico amministrativo di fare rotolare nuovi ammodernamenti nell'appartamento di software considerato durante gli altri 2.5 mesi). Coding the requirements took two weeks (the administrative load of rolling new upgrades into the software suite accounted for the other 2.5 months).
3. Questo fu una modifica di un appartamento di software preesistente. Non regalavamo al cliente un "pezzo bianco di carta.""
4. Gli affari valsero abbastanza per mandare un server loaner con il software all'impianto E avere in totale cinque visite separate dell'impianto (due viaggi dal direttore di progetti, un da un rappresentante locale, e due da allenatori).

In conclusione, il punto di questo saggio è che l'acquisizione di requisiti nel mondo vero non è così tanto un punto di documentazione, ma un processo iterativo con il cliente che continua attraverso il ciclo della vita del processo di sviluppo (e al di là).
Sto intendendo provare a finire il libro che sto leggendo, se solo presentarmi a datori di lavoro futuri come fonte di saggezza (convenzionale). Ma veramente, se i boschi sono pieni di direttori di progetti che pensano che loro sono senza casa appena loro documentano i requisiti di un progetto all'inizio del ciclo di sviluppo, allora è non fa meraviglia che molti di loro sono trinciati dopo di alcuni anni nell'affare.

Forniture di necessità? Verifichi Il fratello LC-03BC la Cartuccia d'Inchiostro Nera/Azzurro-grigiastro (il Fratello LC03BC) Brother LC-03BC Black/Cyan Ink Cartridge (Brother LC03BC)
Preprema il Pellegrino

Preprema il Pellegrino

{2 commenti … li leggono sotto o aggiungono un}

Zak Khan il 5 gennaio 2010 alle 8:12

Goduto il Suo posto. Sono vicino a laurea e soltanto voluto per chiederLe quale documentazione è tipicamente critica per progetto di software. Abbiamo coperto tutto in progetti di progetto campione e più anziani da requisiti: SRS, il progetto il dottore, PMP eccetera. We have covered everything in sample and senior design projects from requirements: SRS, design doc, PMP etc.

admin il 5 gennaio 2010 alle 8:21

Direi che il documento più importante è il piano gestionale dell'impresa, un dottore che gli "ingegneri" non ricevono mai per vedere. Secondo è il bilancio.
Troppo spesso durante un periodo di sviluppo ragionevolmente lungo, il piano gestionale dell'impresa ha bisogno di esser aggiornato o perfino diventa obsoleto. Quando questo avviene, gli uomini di soldi (gli sponsor esecutivi) iniziano ad avvitare intorno a con requisiti.
Questo proprio aiuta a sapere perché e quando quei tipi iniziano a mangiare alla stessa mensa con la Sua testa.
In secondo luogo, è sorprendente quanti direttori di progetti non possono dirigere o sono ignoranti in un bilancio.
PMP è simpatico avere ma un po' di lui è caselli in aria. Come lo statuto esecutivo? Avanzi, come sono Lei supposto tenere un VP o perfino il direttore generale responsabile. Loro sono il capo (i). Lei non li tiene responsabile, Lei soltanto dovere rotolarsi con questo. Come on, how are you supposed to hold a VP or even the CEO accountable. They are the boss(es). You don’t hold them accountable, you just gotta roll with it.

Lasci un Commento