Il progetto a cui sto lavorando è per ridisegnare un sito web esistente. La funzionalità rimarrà la stessa, sono solo gli stili che stanno cambiando. In altre parole, non sto modificando l'HTML, solo i file CSS.
Il sito è piuttosto complesso, con dozzine di pagine. Gli utenti connessi possono avere un numero di ruoli diversi e, a seconda del loro ruolo, il contenuto della pagina e le pagine che possono vedere variano.
Utilizziamo Git e Github.
Sto provando a scrivere CSS che funziona come componenti, quindi quando gli stessi elementi, intestazioni, ecc. compaiono su più pagine, sono coerenti. La maggior parte del tempo funziona bene.
Purtroppo, i nomi di formato e classe nell'HTML sono a volte disordinati e imprevedibili. Quando aggiusto qualcosa su una pagina, ne può rompere un altro. Il lavoro è anche più difficile in quanto nessuno conosce esattamente tutte le variazioni possibili a causa dei ruoli degli utenti; in quanto tale, trovo continuamente nuove varianti mentre procedo.
Sto facendo progressi inserendo molti commenti nel mio CSS. Se devo rimuovere una regola CSS, la commenterò in modo che possa ancora vederla con gli strumenti di sviluppo di Chrome e inserirò un commento nel CSS dicendo perché l'ho rimosso e per quale pagina è stata eseguita.
Questo significa che se in un'altra pagina sto per aggiungere una regola per risolvere un problema diverso, c'è una possibilità migliore che vedrò come si romperà la prima pagina. Questo mi consente di trovare una soluzione diversa che funzioni per entrambe le pagine o di rendere la pagina di sovrascrittura specifica.
Questo ha funzionato abbastanza bene per me. Se avessi il regno libero e l'unico obiettivo fosse finire il progetto entro la scadenza, allora questo metodo andrebbe bene. Tuttavia, il mio manager sta cercando di mitigare i rischi interrompendo il lavoro in aree da completare per sprint. Ciò è contrario a come mi sono avvicinato alle cose come qualcosa di simile al mio stile tipografico che interesserà tutte le altre pagine del sito.
L'altro problema è che le diverse parti interessate vogliono sottoscrivere ogni sezione mentre procedo. Il problema è che una volta terminata una sezione potrebbe cambiare se cambio il CSS che lo influenza insieme alla nuova sezione su cui sto lavorando. Ho chiesto che le parti interessate abbiano una rapida segnalazione non ufficiale a tappe (ad esempio per sprint) e abbiano l'approvazione ufficiale definitiva alla fine del progetto, ma questo incontra resistenza. Capisco perché sarebbe più rischioso farlo, ma l'unico modo per garantire che una sezione firmata non cambierà è rendere TUTTE le future modifiche specifiche della pagina.
In aggiunta a questo mi viene detto che tutto il lavoro che spingo al repository Git dovrebbe essere pronto per essere pubblicato, e come tale non dovrebbe contenere commenti di codice. Questo è rischioso per me poiché non lo saprò fino a quando non avrò finito il sito se mai trarrò beneficio da questi commenti o meno.
Qualcun altro si è trovato in una situazione simile e è riuscito a trovare un compromesso che ha funzionato per il mio approccio di sviluppo e anche i desideri del management e delle parti interessate di avere un approccio più agile? Un flusso di lavoro più agile funziona alla grande quando è possibile suddividere il lavoro in componenti e sapere che una volta che qualcosa è stato fatto non sarà influenzato dal lavoro futuro. Tuttavia, la natura di questo progetto lo rende difficile da raggiungere.