From different ways of working (or the same) to working in a Scrum team. What is so different? Is it better? Does it bring value to delivered software? What are the benefits found for the developer in the Scrum team, and what was missing in the previous experience? What are the challenges? What is the most important to be agile? What if the team is distributed? What about people? What was the biggest surprise for author?
This talk brings author’s experience in joining a Scrum team after several years of working in any other way (or maybe it was really the same way). Author brings his experience by challenging segments of software development through different ways of working.
The author brings his own view of different components of development, from technical and organizational to social.
In the technical part he analyzes version control and way of using it, technologies, CI/CD, while in organizational segment analyzes issue tracking, tasks progress tracking, meetings, etc.
The author also brings own experience regarding the social component, such as collaboration in the team and out of the team, people in the team, their mindset, collaboration with the customer, management’s impact to the team, level of trust, and Scrum process over all.
2. About me
• Currently: Java dev at comSysto GmbH
• 8+ years of experience in development
• 3 companies before - Java dev, tester, CI/CD guy,
educator, all arounder…
• A lot of projects (backend, frontend, education)
• Holding several certificates (Java, Spring, Scrum)
• Areas of interest: Java, Spring, CI/CD, lean & agile,
dev methodologies, new technologies
3. Purpose of the talk
Image sources:
http://mhadegree.org/
http://www.draytontribune.com/articles/opinion/
4. Agenda
• What about Scrum thing and … ?
• Benefits I’ve found on current project:
• Scrum
• Organization
• Technical part
• Social part (team/people, mindset)
• Conslusion
5. What about Scrum thing and ...? (1)
● way of working so far - ...
○ the same?
○ always same mistakes
○ mindset
■ “we have been doing it that way”
■ “I am super developer, my code is the best”
■ “Tests are waste of time”
■ “CI? it will just complicate everything”
○ management & clients without feeling for
important stuff
Scrum was not applicable in all previous projects, but
everything mentioned after Scrum part was!
6. What about Scrum thing and ...? (2)
● currently found very agile environment
○ inside of company
○ on the customer side
○ Scrum applicable to current project
○ agile values
7. The current project setup (1)
● web app
○ frontend calling REST API
○ JS in the frontend
● helper components
○ data-import
○ data-export
○ data-transformer
9. Benefits - Scrum (1)
● Sprint
○ 2-3 weeks long
○ small chunks of work (doable in sprint)
○ outcome and delivery at the end of every sprint
○ feedback
● Scrum team = Dev Team + SM + PO
● Dev team
○ trust
○ self-organization
○ pulling work, not pushed to us
11. Benefits - Scrum (3)
● Meetings
○ always participated in “pointless never end”
meetings
○ first impression: “way to many meetings”
○ distraction from dev activities
■ skip sometimes
○ every meeting has its purpose
○ Scrum non-standard meetings
○ calculated in capacity planning
12. Daily standups
● the same time every day - reference point
● 15 min max (or trying to have)
● transparency
○ good way of see who is/will doing what
● impediments visible
● get the info
Image source: http://agile42.com
13. Backlog refinement
● at the beginning, my vision: “it is time to code”
● upcoming work from backlog
○ problems later if not participating
○ Planning poker
● 4-6 times per sprint
● 90 minutes
● discussion
○ discuss stories with right people
○ ask questions, get answer
○ discuss other aspects
Image source: http://agile42.com
14. Sprint planning
● taking stories from the Backlog
● Dev team + SM + PO
● agree on commitment
● plan activities
● analyzing risk
Image source: http://agile42.com
15. Sprint review
● Present the outcome to PO
● Get instant feedback
○ communication during the Sprint
○ at the review meeting
○ no waiting for months for feedback
■ do entire app in completly different way?
Image source: http://agile42.com
16. Sprint retrospective
● What was well?
● What was not well?
● How can we improve?
● Measures to improve
○ let’s don’t make same mistakes on and on
● Improvement groomings
Image source: http://mattagile.com
18. Organization
● Team setup
○ distributed in 4 locations - challange
○ Cisco Webex and Jabber
● Collaboration
○ Jira + Confluence
■ Previous experience:
● “Don’t bother us with Jira and bureaucracy”
● “Let’s cheat the SVN hook”
■ Handling tasks, issues, stories, agreements,
documentation
19. Technical part
● Writing code with tests (integration, unit…)
○ no build with skiping tests
● Code reviews
○ get and provide knowledge (not only formality)
● Version control
○ Git - branching a lot (Bitbucket)
○ no need to go into SVN vs Git discussion
○ “we don’t know how to branch, let’s do it on
master”
○ “don’t know how to use it”
○ no version control?
● CI/CD - Ansible, Bamboo, Jenkins
20. Social part
● Team (1 SM, 2 POs, 7 DEV, 3 QA)
● people (junior-senior)
● mindset
○ Previous:
■ previously spent time in convincing people
■ not so keen to improve (of course, with
exceptions)
○ Now:
■ open for changes and improvements
■ transparent work
■ open for help