Empowered productivity

Post on 04-Jul-2015

352 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

My pure experience on how software should be built within teams.

Transcript

Empower productivityby using the right tools / methodologies

DisclaimerAll the tools and methodologies are based on my own experiences. There is no tool or method which could be applied to everyone. Pick those you think are the best fit for your own environment.

I didn’t get any advantage out of those mentioned tools. It is pure my experience and favourites.

Slides are focused for Ruby developers mostly.

Teamwork is vitalWhen you think about the colleagues that you come into contact within your enterprise company or a startup team, learning how to work well together is vital.

Better communication

I’ve recently had an opportunity to work in a team and we were discussing online a lot. It also helped to communicate with team members who work remotely or from other countries.

Slack.Be less busy

Slack brings all your communication together in one place.It’s real-time messaging, archiving and search for modern teams.

slack.com

Project managementWhen it comes to project management, it’s important to follow methodologies which help to remove chaos in your workflow, don’t go waterfall way, use agile instead.

http://pointnorth.io

PivotalTracker.Build better software faster

Simple, collaborative project management from the experts in agile software development.

pivotaltracker.com

Trello.Organize anything, together

Trello is the fastest, easiest way to organize anything, from your day-to-day work, to a favorite side project, to your greatest life plans.

trello.com

Code management

Code management and versioning is important part of any software lifecycle, you can’t go without them.

Git.local-branching-on-the-cheap

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

git-scm.com

Github.Build software better, together.

Powerful collaboration, code review, and code management for open source and private projects.

github.com

Hints how to use Github efficiently- Uncheck all email notifications- Unwatch all irrelevant repositories- Create specific teams inside your organization:

@backend, frontend, all, designers, po and so on.. This will help to tag people who can review or comment on your issue or pull request or participate in a general conversation. If you can’t mention specific team, tag/mention your colleague straightforward.

- Add continuous integration service to your repository- Don’t merge PR until someone reviews it unless you really know what you’re doing.

Use Github Pull RequestsPull Request = Code + Issue + Comments

It’s a great way to review other developer’s code and immediately spot possible bugs. It also increases your code quality. Every pull request should be well tested!

Managing your server infrastructure

Having a complex web application with huge amount of unique visitors, API requests, requires any company to have scalable hosting infrastructure. You’re doomed without any automation tool.

Chef.Automation platform for the new IT

Chef is a systems and cloud infrastructure automation framework that makes it easy to deploy servers and applications to any physical, virtual, or cloud location, no matter the size of the infrastructure.

getchef.com

PuppetLabs.Automate IT

Puppet Enterprise helps you make rapid, repeatable changes and automatically enforce the consistency of systems and devices–across physical and virtual machines, on premise or in the cloud.

puppetlabs.com

Time savers

If you don’t have devops on your team, you can always use any PaaS which will do all the job for you.

ShellyCloud.Painless deployment. Built for Rails.

Platform for hosting your Ruby and Rails apps.

shellycloud.com

Continuous deployment

From a wikipedia:

“Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.”

JenkinsCI.

An extendable open source continuous integration server.

FREE, but you need to host it on your own.jenkins-ci.org

Using external CI

If you can’t install and config JenkinsCI on your own, you can always try to find alternative FREE solutions.

SnapCI.Easy builds, deployed when you want

Snap delivers fast feedback so you can deliver high quality software quickly.

FREE tier for a private repository.snap-ci.com

CodeshipCI.Continuous Delivery made simple

We love having other people build great software with our tools and help them create the best products imaginable.

Up to 50 builds per month for FREE.codeship.io

Friday Deployments.Out of your mind?

Every company should have rules regarding deployments on different days, especially on Fridays.

You should avoid deployments on Fridays as much as possible.

Monitoring your app, servers and errors

It is very important to keep track of how your application behaves. It is a good practice to spot all errors before your customers do. There are several good tools which help to do so.

NewRelic.We are all data nerds

New Relic is a Software Analytics company that makes sense of billions of metrics across millions of apps.

Lite version is FREE.newrelic.com

Rollbar.Take control of your errors

Rollbar collects and analyzes errors on web and mobile apps so you can find and fix them faster.

FREE with some limitations.rollbar.com

Graylog2.For data analysis

Field-tested open source data analytics system used and trusted all around the world. Search your logs, create charts, send reports and be alerted when something happens. All running on the existing JVM in your datacenter.

graylog2.org

Kibana.Visualize logs and time-stamped data

Kibana is a highly scalable interface for Logstash and ElasticSearch that allows you to efficiently search, graph, analyze and otherwise make sense of a mountain of logs.

Kibana

Thank youFeel free to approach me through the following channels:● https://www.linkedin.com/in/giedriusr● https://github.com/giedriusr● http://about.me/giedriusr

Empower productivityby using the right tools / methodologies

Giedrius Rimkus2014 07

top related