Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Feature Based Development - Pitfalls and Possibilities

Feature Based Development - Pitfalls and Possibilities

Find out how we structure the development of web projects @ TWT and what learnings we have found. This talk was held @ JS Unconf 2015

Kai Kroker

April 26, 2015
Tweet

More Decks by Kai Kroker

Other Decks in Technology

Transcript

  1. GENERAL GOALS WHERE DO WE NEED THIS? WHERE DO YOU

    NEED THIS? HOW MIGHT WE ACHIEVE IT? LAZY AND COMFORTABLE Agenda SCIENCE VS. ART PITFALLS & POSSIBLE SOLUTIONS © www.twt.de DISCUSSION
  2. General Goals §Transparency § everyone on same page §Quality §

    maintainable § bug-free §Robustness § no breakage © www.twt.de
  3. Where do we as an agency need this? §Customer projects

    § CMS § e-Commerce § Web Application § Search §Modules and Extensions §Re-usable Components § Javascript, Java, PHP © www.twt.de
  4. How might we achieve this? §Git Flow §Naming Conventions §

    feature/ § bugfix/ § hotfix/ § release/ § support/ §Issue Id Integration § branch names § commit messages © www.twt.de
  5. How might we achieve this? §Git Flow+ § push all

    branches § useful for backup § useful for holidays and sick leave § „garbage collection“ necessary § support/ branches for version support © www.twt.de
  6. Lazy and comfortable §JIRA Git Essentials § JIRA + Agile

    § Stash § Bamboo §Expensive, but worth it §Free for Open Source §Cheap for small teams © www.twt.de
  7. Lazy and comfortable §Alternatives § Trello § Mantis § Redmine

    § Gitlab § Github § Jenkins CI § Travis CI © www.twt.de
  8. Science versus Art §Technical solutions and conventions only go so

    far… §Features need to be well defined § What makes a good story for a feature? § How are features and issues interlinked? § What are the dependencies? © www.twt.de
  9. Pitfalls & Possible Solutions §Feature branches grow too old §

    dev and feature diverge too far § Story is too big § Focus is not clear § Too many dependencies © www.twt.de
  10. Pitfalls & Possible Solutions §Merge regularly § get current dev

    branch § merge dev into feature before integration § use virtual merges to see breakage © www.twt.de
  11. Pitfalls & Possible Solutions §Show various feature sets §make last-minute

    changes to feature sets §removes features from release branches © www.twt.de
  12. Pitfalls & Possible Solutions §Feature toggles § solve with configuration

    § adds complexity § configuration overload © www.twt.de