You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Feature and It's Reflection: If you always chase what's hot in the Drupal community, you'll leave your own work behind and end up with nothing.
Ticket Soup: An effective project manage enables positive collaboration by identifying actionable units of work…
The Client in the User's Skin: Don't let your client pretend to be the user. Don't let the user in user stories be "I" or "me"…
The QA Tester and the other Devs: Testers ensure we have to acknowledge reality: QA is our best guard against software decay and run, even when it feels like it impedes progress towards our goes. We had better heed their device.
The Drupal community lets us change the rules. What was impossible becomes possible, probable, and before you know it, done.
2013-07-14 11:00 — From Interior Decorator to Architect: Changing How We Work
Emma Jane Westby (nee Hogbin)
@emmajanehw
Drupalize.me is changing payment gateways.
Background
Roles and responsibilities: who did what on the project…
Product owner = Addi (Director of Education)
Developer = Joe
Site builder = Kyle
Designer = Jared
Themer = Pat
Project manager = Emma
Terminology:
Decorate = make something look a certain way.
Workflow: How we restructured our flow from a build-and-theme to design-pattern-architecture
This team works as a agile-lite team
The greater community is talking about how we shouldn't be decorating anymore, we should be looking at scalable, modular, architectural CSS / Object-oriented CSS… we need to be creating a style guide which is consistently applied, rather than specifying how each block on a site looks.
Problem is, how do we predict how it gets applied to our workflow, which is frustrating. This project was great for learning on, because the client was an internal client.
Interestingly, there is currently a gap between how themers want to act versus how they actually act.
How does this work?
Analyze the design to identify components
Jared create style-guide mocks in HTML. There were no static design files.
We like working this way, but we don't know how to deal with it because there are no final reference points so we know when it's done.
It's very difficult to define done.
Create a style guide of components.
Emma spends a lot of time on the phone with Pat.
Pat printed out the style guide and wrote class names on it.
Create stubs in (s)CSS files with the style naming conventions.
Pat could pull out the class names from the designs.
But this approach was problematic because they didn't correspond nicely with Drupal's internal classes.
Then fill in the stubs with style rules.
Better communication between themer and designer would have saved time due to clashing grid frameworks.
Apply classes to markup in Drupal (tpl.php, theme_*, template.php).
Currently working on this.
In this part, you apply styles from the style guide onto elements on the page.
Sounds like a trivial shift, but once we get this process down and figure out how to ticket it, Emma feels like it's going to be a lot faster to implement.
Cross-reference against build tickets.
Also difficult — there's a lot of bits and pieces that aren't captured in User Stories.
Close user stories.
A walk through sample theming tickets - good bad and ugly
Base styles:
In the beginning, wrote tickets to "just do it"
Wasn't enough detail in ticket for Pat to start coding without having to first start thinking.
This was actually a research story (they called it a meta-ticket), not an actionable one.
Component styles:
They'd start the sprint with a meta-ticket, and write down a steps in the ticket.
As they'd get through some of the steps, they'd start filing follow-up tickets to deal with the work that needed to be done.
This write-down-the-steps way has been a good way for them to work while they figure out how to work in this manner.
Disconnect between writing styles and applying them to components on the site — how do you create a ticketable, estimatable item?
What's hard
Naming things
Acceptance tests for OOCSS-style tickets.
Matching building tickets to style component tickets.
Defining the style guide ahead of time is "waterfall". Agile forces a constant refactoring of the style components.
Recommendations
Daily checkins are critical when the process isn't perfectly defined.
Conduct code reviews "in person"
Write meta-tickets describing process and then break into child tickets.
Refactor your tickets as needed to reflect the actual process.