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
- Customer satisfaction by rapid delivery of useful software
- Welcome changing requirements, even late in development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- 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
- 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,191