Trabajo Colaborativo para StartUps

Con metodologías agiles

21 Oct, 2015

www.devhunter.co

Agenda

  • Agile Methodologies
  • Software tools
  • Github practice

Agile

Methodologies

What is Agile?

Software development (typically) methodology, that emphasized close collaboration between the programmer team and business experts, to respond tounpredictability in project faster

Why Agile?

What's wrong with good old waterfall?

Waterfall

Waterfall: Shortcomings

  • Needs all information from the very beginning of the project, which is often not the case.
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Poor visibility of progress.
  • Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
  • Changes are costly, and there will be changes.

Agile to the Rescue

Agile Manifesto

Individuals and interactions over processes and tools


Working software over comprehensive documentation


Customer collaboration over contract negotiation


Responding to change over following a plan

 

Agile Manifesto (corrected)

Individuals and interactions over with processes and tools


Working software over with comprehensive documentation


Customer collaboration over with contract negotiation


Responding to change over with following a plan

Agile to the Rescue

Agile > Waterfall

Improves visibility of project from client, always involved

Embraces change

Quality Improves, product is tested constantly

Working software sooner

Risks reduced because developers get feedback earlier

Agile Principles

Agile Principles

  1. Customer satisfaction by rapid delivery of useful software
  2. Welcome changing requirements, even late in development
  3. Working software is delivered frequently (weeks rather than months)
  4. Close, daily cooperation between business people and developers
  5. Projects are built around motivated individuals, who should be trusted
  6. Face-to-face conversation is the best form of communication (co-location)

 

Agile Principles

7. Working software is the principal measure of progress

8. Sustainable development, able to maintain a constant       pace

9. Continuous attention to technical excellence and good      design

10. Simplicity—the art of maximizing the amount of work        not done—is essential

11. Self-organizing teams

12. Regular adaptation to changing circumstance

How to do it

XP

Code is the only important product of the system

XP

  • Agile +
    • Pair Programming
    • Usually TDD
    • Refactoring
    • Communication between programmers
    • Collective code ownership
  • Activities: Coding, Testing, Listening, Designing
  • Criticism / Limitations:
    • Customer has to be on-site or always available
    • No Scalability
    • Lack of documentation
    • No support for junior developers

Kanban

Visual process-management system that tells what to produce, when to produce it, and how much to produce

 

 

  • Does not prescribe a specific set of roles or process steps
  • Agree to pursue incremental, evolutionary change
  • Visibility of progress

Kanban Board

Scrum

Iterative and incremental agile software development methodology for managing product development. It defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal"

You can do it with ..

Trello

"Trello is the free, flexible, and visual way to organize anything with anyone."

+

DIY

or ...

Trello Board

Basic Anatomy of a Trello Board

Card Back

Click on any card to open and work with itt

Board Visibility

Power-Ups

Filters

Notifications

...to cards, lists, or boards to be notified about changes.

@ Mentions

If you mention a member in a comment or checklist he/she will be notified.

Ejemplo de la comunidad

Ejemplo de la comunidad

What's next ?

Comunicación efectiva

Communication: Now

  • Email
  • IM/Chat
  • Web Conference
  • Phone/Teleconference
  • meetings
    • "formal"
    • "over the wall"
    • chance hallway encounters

Communication: Now

  • Difficult to capture and share
  • Overwhelming / Poorly organized
  • Poor integration with other tools

What is "Communication: Next"?

# Slack

  • all-in-one communication
  • built for teams
  • topic/group-focused

#Slack does...

  • eases info & idea sharing
  •  
  • consolidates and organizes team communication
  •  
  • integrates with best-in-class tools

Start #slacking

Organize Using #Channels

Privacy as Needed

Private groups

Direct messages

Persistent Memory

Search

Pin & stars

Notifications from Services

.. and many more ...

We use Slack !

To be continue ...

Trabajo Colaborativo para StartUps

By Julio César

Trabajo Colaborativo para StartUps

Metodologías ágiles de desarrollo de software

  • 1,094