How Do You Build Software? Software Engineering Practices of an Agile Developer

35,379 views

Published on

These are the slides of my latest talk about agile software engineering practices in Etohum's Software Developers Day. In my talk, I am trying to figure out how to build software by obeying the rules of the nature of software development.

Published in: Technology, Business
11 Comments
87 Likes
Statistics
Notes
  • Very Nice, If you want more good Presentations visit www.ThesisScientist.com, Its a wonderful website for latest Presentations and Research
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I have found a better PPT on ThesisScientist.com on same topic.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Software Engineering (10th Edition) --- http://amzn.to/1RcLlti
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Beginning Software Engineering --- http://amzn.to/1ZgBfx0
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Soft Skills: The software developer's life manual --- http://amzn.to/1T3jnF2
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
35,379
On SlideShare
0
From Embeds
0
Number of Embeds
687
Actions
Shares
0
Downloads
568
Comments
11
Likes
87
Embeds 0
No embeds

No notes for slide

How Do You Build Software? Software Engineering Practices of an Agile Developer

  1. Software engineering practices of an agile developer how do you build Lemİ Orhan ERGİN Principal Software Engineer @ Sony @lemiorhanagilistanbul.com software @lemiorhan ?
  2. Lemİ Orhan Ergİn Principal Software Engineer at Sony has worked in Tüsside, BYM, GittiGidiyor/eBay and Sony as lead developer, technical leader, technical coordinator and scrum master got CSM certificate from Jim Coplien year as Scrum Master sprints in 4 years as team member and scrum master experienced in agile transformation and building agile culture in teams & organizations 2001 2013 2009 1 56 agile CSM, PSM1 0.5M total number of views of his presentations
  3. but it sucks! software development is cool because we hardly find successful software
  4. missing deadlines extra costs never used features unknown risks unmotivated employees bugs, failures, errors legacy systems incompetent developers micro managing managers huge technical debts
  5. are failing Software projects “50% of IT projects go into trash in Turkey” Agile Turkey mercer consulting “When the real costs are added up, 80% of the technology projects costs more than they return”
  6. only very few can make it by following non-traditional ways
  7. how?
  8. of reasons to faila lotwe have
  9. company politics some of them are due to we are unable to do anything here
  10. developing software in unnatural way but the reason of all the others is
  11. The nature of software and 9 main rules
  12. The ultimate goal is customer satisfaction 1 Customers have rights to get software developed with the features they need in a fast way of course, you might not satisfy your customer at this level. that’s fine.
  13. In general the customers do not know what they really want 2
  14. UNCERTAINITY exists in every step of development process 3
  15. requirements always change 4 Start Point Target Point 2 1 3
  16. Software development is not just 5 Programming
  17. Software should always be maintained after go live 6
  18. Software development is a social activity 7
  19. BIG-Up-front detailed estimation & Design are UNNECESSARY 8
  20. Today or later 9 You have to pay the technical debt
  21. requirements design Implementation verification maIntenance requirements design Implementation development process of our dreams one step starts after another completes Maintenance
  22. THE REALITY IN SOFTWARE DEVELOPMENT requirements requirements requirements requirements DESIGN DESIGN DESIGN DESIGN DESIGN IMPLEMENTATION IMPLEMENTATION IMPLEMENTATION IMPLEMENTATION VERIFICATION VERIFICATION VERIFICATION VERIFICATION VERIFICATION VERIFICATION MAINTENANCE MAINTENANCE MAINTENANCE MAINTENANCE MAINTENANCE IGN
  23. agility concept emerges for helping developers to let them develop in natural way
  24. Agile development is not only about project planning Project planning is just a part of agile software development
  25. Agile software development Agile planning and management Software engineering practices Customer satisfaction Teamwork Motivation this is the topic we are interested in
  26. Let’s develop a project by using agile development practices
  27. message to companies See your developers not as resources, but talents “ ”
  28. Define your valuesand let everyone know Educate everyone up-front Define your team’s norms and values the manifesto
  29. Build your teamone team per product, not per project Cross functional teams swat team sit together Cultivate collaboration culture
  30. Start the projectand follow these basic practices Minimum viable product Emergent simple design short up-front design Agile Documenting
  31. Developmentthat will never be the same again use git code branching code / Peer review Pair Programming Clean code principles collective ownership build as if it’s open source refactoring
  32. testing strategyyou can never succeed without it TDD ATDD BDD Testing legacy systems A/B Testing chaos monkey MULTI LAYER TESTING design?
  33. never release an unreviewEd code to production! NEVER!
  34. reproduce the bugs with tests before fixing it or the fixed bugs may rise again!
  35. get feedbackas soon as possible, as much as possible code coverage continuous ıntegration continuous build code analysis 10 min build evergreen build status
  36. continuous deliverybeing always ready to go-live snapshots daily Builds continuous delivery central package repository
  37. release & deployit should be smooth and error-prune short frequent releases continuous deployment fast bootup devops enterprise environments cloud compatible
  38. and adabt to change in any circumstances Building robust, stable, flexible, extensible, high quality software with teams having highly-competent, motivated people in a fast and efficient way
  39. No methodology is as effective as being passionate and disciplined“ ”AltuĞ AlTINTAŞ Lean-Kanban Consultant
  40. extreme programming http://www.extremeprogramming.org/ Continuous Integration http://www.martinfowler.com/articles/continuousIntegration.html
  41. http://www.flickr.com/photos/aaronvandike/3221087856 http://www.flickr.com/photos/frozenhaddock/3948223272 http://www.flickr.com/photos/penguincakes/2930270559 http://www.flickr.com/photos/44898314@N06/8310699806 http://www.flickr.com/photos/jymloke/4476177332 http://www.flickr.com/photos/bowmanitis/8634625952 http://www.flickr.com/photos/sarah_rara/382542210 http://www.flickr.com/photos/hansoete/4965196 http://www.flickr.com/photos/x-ray_delta_one/3812795111 http://www.flickr.com/photos/vikhoa/8823977016 http://www.flickr.com/photos/cattardbezzina/4106668524 http://www.flickr.com/photos/dalboz17/4126689055 http://www.flickr.com/photos/vstrash/2847241785 http://www.flickr.com/photos/aloha75/7299416028 http://www.flickr.com/photos/83905817@N08/7676576180 http://www.flickr.com/photos/dexflu/5330502784 http://www.10wallpaper.com/down/ Leafcutter_ants_carrying_leaves_Braulio_Carrillo_National_Park_1600x1200_wallpaper.html http://www.flickr.com/photos/nicksee/5152087020 http://www.flickr.com/photos/mnsc/2768391365
  42. Lemİ orhan ergİn lemiorhan@agilistanbul.com @lemiorhan @lemiorhan agilistanbul.com @lemiorhan LINKEDINTWITTERSLIDESHAREBLOG Principal Software Engineer @ Sony Founder & Author @ agilistanbul.com flyingtomoon.com

×