45
Why, When, and How to say “No” No! Ayesh Karunaratne | https://ayesh.me/talk/No

No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Why, When, and How to say “No”

No!

Ayesh Karunaratne | https://ayesh.me/talk/No

Page 2: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Hallo!

Page 3: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Ayesh KarunaratneFreelance Software Architect

@Ayeshlive

https://ayesh.meAyesh

Page 4: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

PHP 7+The why’s and the how’s

Ayesh Karunaratne

So… One of the reviews of that presentation was that my English dialect was hard to follow.1.For this time, I have added English subtitles to the presentation. 1.Just look at the bottom of the screen.1.No, I’m just joking… I’m not natively English, and if you have any questions, please, um… raise your hand.1.[audience clearly confused]

Page 5: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org
Page 6: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

No!

Page 7: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

ACME REVIEWS INC.

Review platform

Coupon code platformUser Ranking

Contact Users

Chat

Anonymous

Custom Questions

Full Surveys

Coupon code aggregator

Affiliate codes

Gamification

Useless Badges

Referral platform

Generate/Validate codes

Payment Handling

Local Payment Options

Localization

Time zonesLanguages

Currency

Consumers

Social Login

Security,

duplicates

Page 8: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

19 Months

Page 9: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Cost $ 70,000

Page 10: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

19 Free Trial Customers

Page 11: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

3 Paying Customers

Page 12: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

$ 27 Revenue

Page 13: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org
Page 14: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Focus

Page 15: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

WordPressFocuses on end-users

Page 16: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

https://wordpress.org/about/stats/

Page 17: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-query.php

Page 18: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org
Page 19: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

30% of the entire web runs on WordPress

https://w3techs.com/technologies/details/cm-wordpress/all/all

Page 20: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

AppleFocuses on simplicity and trouble-free functionality

Page 21: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Steve Jobs (Apple Worldwide Developers' Conference, 1997)

People think focus means saying yes to the thing you've got to focus on. But that's not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I'm actually as proud of the things we haven't done as the things I have done. Innovation is saying no to 1,000 things.

“ “

Page 22: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Apple Inc: $1 Trillion Market Cap

https://w3techs.com/technologies/details/cm-wordpress/all/all

Page 23: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Leadership

Page 24: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Niklaus Wirth

A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want.“ “

Page 25: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

It’s important to have a leadership that unbiasedly listens to user criticism, but still makes the decisions

for the future of the project.

Page 26: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Drupal

Page 27: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

• Project Lead• Core Maintainers• Module Maintainers• Code Review Administrators• Security Team• Community Working Group• Drupal.org and CI Infrastructure• Drupal Association• User Groups

Page 28: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Communication

Page 29: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Linux

Page 30: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

17 Unix Rules

Rule of Modularity

Rule of Generation

Rule of Extensibility

Rule of Robustness

Rule of Diversity

Rule of Silence

Rule of Separation

Rule of Parsimony

Rule of Transparency

Rule of Clarity

Rule of Simplicity

Rule of Representation

Rule of Least Surprise

Rule of Economy

Rule of Repair

Rule of Composition

Rule of Optimization

Page 31: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org
Page 32: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Documentation leaves less room for surprisesWhen the leadership says “No”.

Page 33: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Being friendly and cheerful helps to have anActive and loyal community.

Saying no isn’t fun, but “Your contribution doesn’t match this project’s criteria” feels less personal than “I don’t like your contribution”.

Symfony documentation

Page 34: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org
Page 35: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org
Page 36: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Extensibility

Page 37: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Niklaus Wirth

Our ultimate goal is extensible programming (EP). By this, we mean the construction of hierarchies of modules, each module adding new functionality to the system.

“ “

Page 38: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Approaches for Extensibility in Code• SOLID principles (link)

• Principle of least privilege (for security)(link)

• Finely defined support windows

• API versions, Semantic versioning

• Plugin-based architecture

• Hierarchy of leadership

Page 39: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

1.[dramatic pause]

Page 40: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Focus

Leadership

Communication

Extensibility

Page 41: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

The Less Is More

Page 42: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org
Page 43: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Thank YouDanke

Page 44: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Become a Drupal contributor Friday from 9am

● First timers workshop● Mentored contribution● General contribution

Page 45: No!for the future of the project. Drupal •Project Lead •Core Maintainers •Module Maintainers •Code Review Administrators •Security Team •Community Working Group •Drupal.org

Why, When, and How to say “No”

No!

Ayesh Karunaratne | https://ayesh.me/talk/No