The document discusses key aspects of adopting an agile development workflow including having daily stand up meetings to discuss progress, taking an iterative development approach with working software delivered each sprint, and conducting retrospectives at the end of each sprint to improve. Adopting agile practices helps ensure working software is delivered frequently for stakeholder feedback, allows skills and the product to evolve together, and prevents waste through continuous testing.
2. Talk Agenda
● Who am I?
● What do I do?
● So, what’s all the buzz about agile?
● Ok, I’ll bite - what’s the best way to adopt agile?
● What will happen if we adapt to an agile workflow?
● Um, I have a question...
3. Who am I?
● Full-stack developer
● Responsible for the DevOps
cycle of all proprietary tools
at my workplace
4. What do I do?
● Choose technology stack based
on assessment of cost and risk
● Plan agile development sprints
and ensure the team meets
milestones
● Perform code-reviews
● Rapid prototype tools to meet
supervisor-defined specs
● Resource management
● Create short and long-term
roadmaps for resource
investment
6. Ok - what’s the best way to
adapt agile for my projects?
● Have a user story : As a [person], I want to do
[that] so I can [do this] [2]
● If you’re in a team, have a daily meeting to
discuss individual contributions [3]
● Favor iterative and incremental[4]
developmental model
● Have milestone retrospectives at the end of
every sprint to critically look at your work[5]
7. What will happen if we adapt to an agile workflow?
● You have a functioning product at the end of each sprint
● Knowing that you are going to re-visit the product over and over makes you focus a lot on getting the key
features and functionality right.
● You and your programming skills evolve along with the product
● You are able to show progress to stakeholders and give them the opportunity to get involved every step of
the way.
● Prevents software transportation waste as the entire DevOps cycle is tested each sprint
8. Do you have any
tips for me to
improve my
code quality?
● Document! Your!! Code!!!
Seriously - have a readME.md, docstrings, and
comments! Lint is the way to go!
● Your project is never “done”
Don’t get so attached to your work that you
cannot sit through a code review/pair
programming exercise without flinching.
● Be prepared for tech stack
change mid-project
Yes, it’s daunting to go back to the board and
re-do everything, but all the magic takes place
when you step out of your comfort zone.
“It’s easy to write code, it’s really
hard to write good code.” - Linux
Torvalds
9. What should I do if I
am considering a
career in software
development?
● Get unapologetically excited
about tech
● Have a strong work ethic
● Can own up to your mistakes
● Can multi-task
● Appreciate (or) make your own
programming memes ;-)
10. Thank You
You can mail me at jerlynmanohar@gmail.com for questions on python, for
mentorship on projects in image/video processing, GUI programming, automation,
database management, web development, and for lectures/talks on software
development & readme-driven development.
11. Resources
1. Alex Cowan, Darden School of Business, University of Virginia - screencapture
taken from his Coursera course on ‘DevOps and Delivery’
2. http://www.agilemodeling.com/artifacts/userStory.htm
3. https://www.mountaingoatsoftware.com/agile/scrum/meetings/daily-scrum
4. https://www.agilealliance.org/glossary/iterative-development/
5. https://keyholesoftware.com/2011/12/19/the-agile-retrospective-the-art-of-looki
ng-back-to-move-forward/