Fake agile: Get out of the rituals

You were told in your job interview they practice agile development. You ask a follow-up question to learn more. Then, they clarified they used their custom “brand” of agile – a hybrid of sort. You signed the offer anyway. Soon after your start you realized they had all the rituals of agile but everything felt wrong and pointless. Sound familiar?

I’ve been there. It’s easy to become a stagnant agile organization. Here are some pointers to get better at agile.

1. Be agilists

The most successful agile organization is one where everyone is on the same page about what agile is. Build an on-boarding of their agile practices before employees start. Form an agile forums to advance the organizations’ agile practices.

2. Listen

Feedback can come from anywhere – customers, retrospectives, sprint reviews, demos, stand-ups, day-to-day conversations. Collect them and address them in your sprints. There is constant self-improvement in agile – as an individual, as a team, and as an organization.

3. Ship it. Implement it.

You should always ship code at the end of every sprint. Keep the momentum. Break down big projects into smaller shippable chunks. Improve the technology to support it – e.g. release beta versions, use feature flag, improve continuous delivery and automation. Address process improvements with the same “ship it” mindset. This is important because shipping things enable customers and users to give you more feedback to further improve.

4. No jerks. No turf wars.

Treat each other equally and with respect. Everyone can suggest and make changes – regardless of how big or small the changes are. All responsibilities are task-based, not role-based. Everyone can lead, prioritize, design or code. This way, everyone is equally accountable for the output of the team.

5. Focused Meetings

Minimize the number of meetings. Understand why you need any of them, including scrum meetings. If the meetings do not help your team achieve your sprint or team goals, you should cancel them. This is why some companies (like Spotify) suggest all scrum meetings are optional.

6. Build team identity

Your team should have a team goal. It is an internal compass for the team members and helps them understand how to prioritize feedback by themselves. Name your team according to the team goal. Pick a name that anyone outside the company would understand.  With an identity, your team members will be more likely to work together as a team.

7. Measure it

Use various metrics to measure your team’s success. Estimate all known work and plan for the unknown using capacity allocation. Besides measuring team velocity, pick business metrics to measure how your team is achieving the team goal. Make these metrics accessible to the team.

[Site Launch] The new face of Sony – a responsive website

After years of hard work, I’m happy that our project has *finally* launched. Sony is the first electronics giant to launch a global multi-lingual fully responsive website. This launch covers all of Europe, Turkey and Russia/CIS. As the front-end lead for the project, I’m especially thrilled because a good front-end stack is the most important part of a responsive website. Thanks to 2 vendors and my kick-ass development team who worked tirelessly to perfect this brand new front end framework.

 

So, what’s really great about this website? Here are some important achievements from my perspective:

  1. Immersive customer experience
  2. Responsive design, responsive images, responsive everything…
  3. Separated presentation layer
  4. Modular front end framework
  5. Ability to develop on a single platform from ideation to integration
  6. Test-driven and agile

Check out the Sony UK site. Enjoy!

My thoughts on web design and development “obsessions”

I wanted to write down my thoughts on the web today. The web industry is full of trends. Sometimes these trends get way too popular and people blindly follow them without the right reasons. Here is my list of them as of today:

  • Obsession with table-less layouts
  • Obsession with no page refresh
  • Obsession with passive user interaction – Just scroll. No click or touch.
  • Obsession with no Flash
  • Obsession with infinite scrolling
  • Obsession with parallax scrolling
  • Obsession with single-page web design
  • Obsession with social media badges and plugins
  • Obsession with data APIs
  • Obsession with using front end technologies for everything