Improving conceptual understanding in development
by Sebastian Helzle
Who am I?• Developing websites since
Geocities was cool ~1996
• Working with TYPO3 since 2005
• Freelance consultant since 2007
• Fell in love with Neos in 2013
• Certified Scrum Master since 2015
• Love hiking, mountains and cooking
What I will talk about
• Why is conceptual understanding important
• Fostering project ownership
• How can agile methods help you
• What you can do
Why is conceptual understanding important?
Websites and webapps are not
Rocket science Just pieces of code
COMPLEXWebsites and apps are
Idea & final resultCan look similar but the result might behave unexpected
So, why are they complex?
Organisational complexities
• Requirements engineering
• Team work
• Limited budgets
Technical complexities
• Dependencies & their management (bower, npm, composer, bundler, …)
• Continuous delivery (build, test, integrate)
• Performance & scalability
The sometimes forgotten complexity
People must actually be able to use your product
What makes a product usable?
• Customised solutions
• Well thought out workflows
• Good performance
Danger!
WO/
Miscommunication is expensive
Every change can have undesired effects
• Performance degradation
• Usability
• Stability issues
• Relationship with the client
There are already some solutions
• Automated testing (stability & performance)
• A/B testing for userexperience
Sadly, no automatic tests for editors efficiency or clients
happiness :(
Clients are used to bad solutionsThis is not a good thing!
Many development teams don’t know what clients are doing
Ignorance?I don’t think so
(maybe sometimes)
Fostering project ownership
Empathy
• Client has bad experience? -> a team should
• feel the urge to improve it
• find sustainable solutions
• work with the client
• try to understand the client
• Let a team get to know the client (he’s not the devil)
Use agile tools
RetrospectivesTalk about your processes, teamwork and growing as a team
ReviewsDo internal reviews and user testing Let developers present their work
Invite the client
Keep some slack in your planning
Improvements need time too
Don’t kill ideas with overcomplicated processes
A process can be bent
Refresh a projects vision regularly
Sometimes the trees block your view on the forest
As a developer you can• See tasks as challenge
• Try to see your work from a different point of view
• Involve in shaping a project
• Defend your ideas and concepts
• Teach others
• Cooperate & ask for help
• Write down or draw what you know
Celebrate success!
Okun!Thank you!
Questions?
More
🐦 @sebobo
📖 http://www.mind-the-seb.de