Your SlideShare is downloading. ×
0
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

26,665

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 …

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
5 Comments
62 Likes
Statistics
Notes
No Downloads
Views
Total Views
26,665
On Slideshare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
336
Comments
5
Likes
62
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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

×