The project I'm working on is to re-skin an existing website. The functionallyfunctionality will stay the same, itsit's just the styles that are changing. The HTML is not changingIn other words, I'm onlynot modifying the HTML, only the CSS files.
The site is pretty complex. There are, with dozens of pages. UsersLogged-in users can be logged in and have a number of different roles. Depending, and depending on their role, the content of the page and what pages they are allowed to see varysvaries.
We're using GITGit and Github.
I'm trying to write CSS that works as components. So, so when the same form elements, headings, etc. appear on multiple pages, they are already styled and are consistent. Most of time this is working well.
Sadly, the format and class names in the HTML are at times messy and unpredictable. When I fix something on one page it can break another. The job is also harder as no one knows exactly all the variations that are possible due to the user roles. Asroles; as such I'm continuously finding new variations as I go along.
I'm making headway by putting a lot of comments in my CSS. If I need to remove a CSS rule Ill, I'll comment it out so that I can still see it with the chromeChrome dev tools, and illI'll put a comment in the CSS saying why I removed it and for what page this was done.
This means that if on another page I'm about to add add thea rule to fix a different problem, there is more of a better chance I willthat I'll see how this wouldit'll break the first page. This allows me to either find a different solution that will work for both pages, or I can make the override page specific.
This has been working quite well for me. If I had complete free reign and the only deadlinegoal was to finish the project by the enddeadline, then this method would be fine. However, my manager is trying to mitigate risk by breaking the work into areas to be completed per sprint. This is counter to how I have been approaching things as something like my typography styles will affect all other pages on the site.
The other issue is that the different stakeholders want to sign off on each section as I go along. HoweverThe problem is, once I've finished a section it may change if I change CSS that affects it and also affects aalong with the new section I'm working on. I've asked that the stakeholders have a quick unofficial sign off in stages (ege.g. per sprint), and have the final official sign off at the end of the project, but this is being met with resistance. I do understand why it would be higher risk to do this, but the only way to guarantee that a signed off section will not change is to make ALL future changes page specific.
In addition to this I'm being told that all work that I push to the Git repo should be ready to go live, and as such should not contain any code comments. This is risky for me as I wontwon't know until I've finished the site if I will ever benefit from these comments or not.
Has anyone else been in a similar situation and managed to find a compromise that worked for my development approach and also the desires of management and stakeholders to have a more Agile approach? A more Agile workflow works great when you can break the work into components and know that once something is done it wontwon't be affected by future work. However the nature of this project makes this hard to achieve.