Tuenti 2.0 • 13 April, 2011, a year later. • Big feature: push notifications. • As Tuenti 1.0, almost no help from design. • Again, only one dev. Created in his free time.
Tuenti 2.X • Comms & social iterations. • Too much work for one person… • Mobile team started to grow. • Three people in september 2011 Dani Miguel Luis
• Change of direction: giving back some importance to social. • Claim: The easiest way to share experiences with the people that matter right now. • October 2012: Messenger hit the app store. • Rebranding: Tuenti Social Messenger | Tuenti Classic
Problems • Tuenti brand is “strong”. Difficult to be considered a messenger. • 1.0 quite incomplete. • Mobile Team getting bigger. • Not Mobile First first yet.
Plan • Support for manage SCRUM boards • Create a user story / bug / task • Every commit needs a ticket (hook on repository) • Estimate. Visualize remaining time • Assign directly to developer in charge of the feature
Development Process Flow • Develop features • commit and push code to repository • create unit/acceptant test. Run them!!! • Fix things. • Meetings!! • More and more code
No matter who. No matter what. No matter when. Short term. Long term. Any term. Writing good code is ALWAYS faster than writing bad code.! ROBERT MARTIN (@UNCLEBOB)
Code Reviews • Ensure developers follow coding standards • At least 2 developers must “pass” the review to be able to close it. • “It’s nothing personal” • Be proactive with your comments.
Continuous Integration • Jenkins / 2 mac minis • Jobs for server and client • Jobs create on command line • tu-jenkins create-dev (unit) • tu-jenkins create-nightly (full regresion) • tu-jenkins pre-integrate • Unit test every push / instant feedback for the developer • Every night unit and acceptant test execute • Email every morning to the branch owner.
Branch Integration Process • Feature is code complete • Tested and QA approved • All the API dependencies are working in live • Translations added and reviewed by QA/PM • Unit and acceptant test!! • Has latest integration merged (with blue ball)
Distribution • Rake hotapps (everything automated) • Clean, checkstyle, archive & upload to Hockeyapp • Distribute betas internally in an easy way • Also used for collect crash reports, find bugs • Previously we had Crashlytics • Rake appstore
Release Process Flow • We have enough to go live (Product Team) • We take latest stable (blue ball) changeset from integration and create a new Release Candidate branch • QA team makes a regression • 3 days, if something is discovered, release cancelled • Send to Apple!! • Merge back to master, integration and TAG
# coding: utf-8 # Author:: David Pastor (mailto:[email protected]) ! Feature: Login Screen ! Background: Given I launch the app And in the start screen I go to the login ! # Regular login ! @QAke(1982) Scenario: Verified new messenger user logs in and skips sync process Given a user: "myself" exists with verified: true When in the login screen I do login skipping synchronization with "myself" Then in the conversations screen I check that is the current screen