how to become a better software company technically

28
HOW TO BECOME A BETTER SOFTWARE COMPANY TECHNICALLY BY: GESHAN MANANDHAR

Upload: geshan-manandhar

Post on 13-Jul-2015

663 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: How to become a better software company technically

HOW TO BECOME A BETTERSOFTWARE COMPANY

TECHNICALLYBY: GESHAN MANANDHAR

Page 2: How to become a better software company technically

GESHAN MANANDHARQUALITY AND MAINTENANCE LEAD, NAMSHI.COM

CO-FOUNDER YIPL

@GESHAN

GESHAN.COM.NP

Page 3: How to become a better software company technically

DO YOU WANT YIPL TO BECOME A BETTERSOFTWARE COMPANY, TECHNICALLY?

Page 4: How to become a better software company technically

DO YOU WANT TO BE A BETTER SOFTWAREENGINEER/DEVELOPER/PROGRAMMER?

Page 5: How to become a better software company technically

DO YOU WANT TO BE A BETTER DESIGNER/FRONTENDENGINEER?

Page 6: How to become a better software company technically

DO YOU WANT TO BE A BETTER SYS ADMIN/SYSTEMENGINEER/DEVOPS ENGINEER?

Page 7: How to become a better software company technically

"YOU CANNOT IMPROVE WHAT YOU CANNOTMEASURE" - W. EDWARDS DEMING

Page 8: How to become a better software company technically

IMPROVING CODE AND DECREASING TECHNICALDEBT IS ALWAYS A GOOD APPROACH.

Page 9: How to become a better software company technically

WILL TO IMPROVE IS AN ATTITUDE NOT A ONE TIMEJOB, REQUIRES LOTS OF PRACTICE AND PERSISTENCE.

Page 10: How to become a better software company technically

THINK OF 3 THINGS THAT YOU THINK WILL IMPROVEYIPL TECHNICALLY

TELL ME THE NO. 1 IN YOU LIST

Page 11: How to become a better software company technically

PROCESS MANAGEMENT

ISSUE FLOWKanban basedSupports scrumBest of both

GITFLOWCheck VCS best practicesSimplifiedFull

BOTH ARE INTERRELATED.

Page 12: How to become a better software company technically

SOFTWARE QUALITYQA TOOLS

Follow by PHP-FIG - use , andPSR standard CS FixerSecurity CheckerCodacy.com

AUTOMATED TESTING with check for referencePHPUnit Mockery Jumph

Possibility of using Behat

CONTINUOUS INTEGRATION ( )CI or GitLab CI Shippable.com

Page 13: How to become a better software company technically

SOFTWARE QUALITYLOGGING AND MONITORING

Log activities with or GrayLog LogstashMonitor real-time with NewRelicCOLLABORATION AND

DOCUMENTATIONCode ReviewPair ProgrammingDocument Important Things

Page 14: How to become a better software company technically

AUTOMATIONVIRTUALIZED ENVIRONMENT

- Dev and ProductionDocker - generally devVagrant

AUTOMATED DEPLOYMENTCapistrano

GENERAL AUTOMATIONWhen you push to GitLab, a notification is triggered in abot room in HipchatWhen you push to GitLab, it automatilly pushes toBitbucket and runs the buildHipchat is notified about deployment start and progress

Page 15: How to become a better software company technically

FAST FORWARD TO 2015 Q1, WE HAVE CODE QUALITYCHECKS IN GIT PRE COMMIT HOOK

Page 16: How to become a better software company technically

WE HAVE SOFTWARE ENGINEERS DOING PAIRPROGRAMMING

Page 17: How to become a better software company technically

WE HAVE CODE REVIEWS ON MERGE REQUESTS

Page 18: How to become a better software company technically

WE HAVE AUTOMATED CODE REVIEWS

Page 19: How to become a better software company technically

WE HAVE A CI SERVICE TELLING OUR TEST BUILDPASSED OR FAILED AS WE HAVE TESTS

Page 20: How to become a better software company technically

WE HAVE LOG MONITORING WITH GRAYLOG2 INPLACE

Page 21: How to become a better software company technically

WE HAVE LIVE APP MONITORING WITH NEWRELIC

Page 22: How to become a better software company technically

RECAPWe need processes to improve developer productivityIt takes some time for following processes to become ahabit.Reading and implementing best practices is one of thebest practice.It's not only about the tools/technologies. It's also abouthow you use them.I am suggesting ideas that could help improve YIPLtechnically.

Page 23: How to become a better software company technically

DO YOU WANT TO SEE MR. COO CONFUSED DUE TOCHAOS?

Page 24: How to become a better software company technically

OR YOU WANT TO SEE HIM HAPPY DUE TO ORDER?

Page 25: How to become a better software company technically

IT'S ABOUT YOU AND THE GROWTH YOU CHOOSE

Page 26: How to become a better software company technically

QUESTIONS???

Page 27: How to become a better software company technically

CREDITShttp://science.raphael.poss.name/programming-levels/prog-skill-matrix.png/http://www.openlawlab.com/2014/07/16/designers-mindsets-sketchnote-design-process/http://www.linuxuser.co.uk/wp-content/uploads/2014/08/EvolutionSysadmin_Infographic.pnghttps://www.flickr.com/photos/9844387@N06/3466813580https://www.flickr.com/photos/emad17/8526107084/sizes/lhttp://ronaldbradford.com/images/blog/newrelic-summary1.pnghttp://www.mgt-commerce.com/blog/wp-content/uploads/2012/08/magento_graylog_screen_1.pnghttp://www.slideshare.net/ZeroTurnaround/developer-productivityreport2013graphics-26271695

Page 28: How to become a better software company technically

SOME PROGRAMMING MANTRAS TO REMEMBER.