Upload
aapo-koski
View
509
Download
2
Embed Size (px)
DESCRIPTION
My presentation in the Tampere Goes Agile 2013 event at Tampere Hall on 14th December 2013.
Citation preview
Programmer … err … programs
TGA 14.12.2013 [email protected]
Anything else?
Planning, estimation
Design, implementation
Testing, building, releasing
Communication
TGA 14.12.2013 [email protected]
Reasons to become a Programmer
Jobs Hard skills
Flexibility
Good salary
Challenge Art-
likeness
It’s cool
TGA 14.12.2013 [email protected]
Reasons NOT to become a Programmer
Do not like programming
Not willing to update your
skills
Management Overtime
TGA 14.12.2013 [email protected]
TGA 14.12.2013 [email protected]
Technology Motivated
Business Motivated
Problem Motivated
Me in the 90’s
Me now
But there’s this thing called
Quality
… ”SW quality” is not evident
TGA 14.12.2013 [email protected]
TGA 14.12.2013 [email protected]
External Quality
Reli-ability
Usabil-ity
Func-tion-ality
Perfor-mance
Charis-ma
Secu-rity
Main-tain-
ability
Integr-ability
TGA 14.12.2013 [email protected]
Internal Quality
Test-ability
Read-ability
Main-tain-
ability
Support-ability
Port-ability
How anyone can handle this? TGA 14.12.2013 [email protected]
Does quality matter?
Depends on who you ask... and who
ends up paying for the lack of it.
TGA 14.12.2013 [email protected]
The findings…
If we have good people
• who know what they are trying to achieve
• with true involvement
• with good communication with who they’re
achieving it for
• who are well-supported
they will succeed, if success is possible.
TGA 14.12.2013 [email protected]
2 1
3 4
TGA 14.12.2013 [email protected]
Lazy Diligent / hardwork-ing
Competent
Incompetent
*Adapted from an original idea of M. Ristimäki, 2011
Competence • “Minimum 5 years of experience on DeWALT
D27107XPS Type 3 Combination Saw…”
TGA 14.12.2013 [email protected]
agility
Values
•Communication
•Simplicity
•Feedback
•Respect
•Courage
•…
Principles
•Rapid delivery
•Frequent delivery
•Embrace change
•Self-organization
•Regular adaption
•SOLID
•…
Practices
•Scrum/Kanban
•CI
•Unit tests
•Pair programming
•Sprints/iterations
•Daily standups
•…
TGA 14.12.2013 [email protected]
What’s in your toolshed?
TGA 14.12.2013 [email protected]
What to beware, part 1
TGA 14.12.2013 [email protected]
”Happy Creative
Programmer”
”Proud Lead Programmer”
”Product/ System Guru”
”Grumpy Asshole
Programmer”
http://hackerboss.com/the-birth-of-the-grumpy-asshole-programmer/
What to beware, part 2 • Do not let the Architecture Astronauts* scare you…
TGA 14.12.2013 [email protected]
*http://www.joelonsoftware.com/articles/fog0000000018.html
Enterprise Architecture "a well-defined practice for conducting
enterprise analysis, design, planning, and
implementation, using a holistic approach at
all times, for the successful development and
execution of strategy. Enterprise Architecture
applies architecture principles and practices
to guide organizations through the business,
information, process, and technology changes
necessary to execute their strategies. These
practices utilize the various aspects of an
enterprise to identify, motivate, and achieve
these changes."
TGA 14.12.2013 [email protected]
Shopping list…
Soft skills Communication
Writing Learning (cont.)
Technical skills
TGA 14.12.2013 [email protected]
Hackers?
“A hacker is someone who thinks outside the box. It's
someone who discards conventional wisdom, and
does something else instead. It's someone who looks
at the edge and wonders what's beyond. It's
someone who sees a set of rules and wonders what
happens if you don't follow them. A hacker is
someone who experiments with the limitations of
systems for intellectual curiosity.” - Bruce Schneier, Secrets and Lies, 2000
TGA 14.12.2013 [email protected]
https://www.schneier.com/blog/archives/2006/09/what_is_a_hacke.html
The importance of never being done
And make sure programming is fun enough.
TGA 14.12.2013 [email protected]
TGA 14.12.2013 [email protected]
“I've come to believe deeply in the
idea that that becoming a great
programmer has very little to do
with programming.” - Jeff Atwood (2011)
http://www.codinghorror.com/blog/2011/02/how-to-write-without-writing.html