Skip to content
View enguerran's full-sized avatar

Organizations

@Kinto
Block or Report

Block or report enguerran

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
enguerran/README.md

👋 Hi, I’m @enguerran I’m a senior web developer interested in well-crafted web application ✂️, front-end architecure 🧩, useful, used and usable interfaces 🌳, beautiful developer experience ⌨️.

Manifesto for Software Craftsmanship

As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:

Not only working software,

                but also well-crafted software

Not only responding to change,

                but also steadily adding value

Not only individuals and interactions,

                but also a community of professionals

Not only customer collaboration,

                but also productive partnerships

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

Manifesto for Software Craftsmanship

The Rules of Extreme Programming

Planning

  • User Stories User stories are written.
  • Release planning creates the release schedule.
  • Make frequent small releases.
  • The project is divided into iterations.
  • Iteration planning starts each iteration.

Managing

  • Give the team a dedicated open work space.
  • Set a sustainable pace.
  • A stand up meeting starts each day.
  • The Project Velocity is measured.
  • Move people around.
  • Fix XP when it breaks.

Designing

  • Simplicity.
  • Choose a system metaphor.
  • Use CRC cards for design sessions.
  • Create spike solutions to reduce risk.
  • No functionality is added early.
  • Refactor whenever and wherever possible.

Coding

  • The customer is always available.
  • Code must be written to agreed standards.
  • Code the unit test first.
  • All production code is pair programmed.
  • Only one pair integrates code at a time.
  • Integrate often.
  • Set up a dedicated integration computer.
  • Use collective ownership.

Testing

  • All code must have unit tests.
  • All code must pass all unit tests before it can be released.
  • When a bug is found tests are created.
  • Acceptance tests are run often and the score is published.

XP Project illustration

Pinned

  1. Kinto/kinto Kinto/kinto Public

    A generic JSON document store with sharing and synchronisation capabilities.

    Python 4.3k 417

  2. reduxjs/redux reduxjs/redux Public

    A JS library for predictable global state management

    TypeScript 60.5k 15.3k

  3. talks talks Public

    CSS