SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Leading Software
Development Teams
ARNO HUETTER
(Based on a presentation held at GRZ IT Center, Austria)
About the Author
Arno Huetter
Arno wrote his first lines of code on a Sinclair ZX80 in
1984.
Over the years, he has been programming in C/C++,
Java and C#, and also did quite some database
development.
Today he is Development Lead at Dynatrace (APM
vendor).
Leading Software Development Teams
“The major problems of our work
are not so much technological as sociological in nature.“
(DeMarco, Lister in: „Peopleware“)
Cornerstones of Leadership Behavior
 „Leadership, like software, is built upon a foundation. For software, the foundation is
the architecture. For leadership, it‘s your character.“ (Rainwater, H.)
 Understand: The battle for market share is won by leaders who know the nature and
methods of software development. People who "see the forest AND the trees".
 Communicate: Be an evangelist, convey enthusiasm, share knowledge. Good
communicators are also good teachers. Be careful when making unprepared, casual
remarks.
Cornerstones of Leadership Behavior
 Delegate: Select the right people for the right tasks. You can delegate tasks, but not speed.
One effective form of delegation: Senior+Junior pair programming.
 Check: No expectation without checking. Daily builds. Automated tests. Obtain feedback
from employees. Code reviews. Weekly project status meetings. Four eyes principle.
Documentation.
 Participate: Participation of leaders in programming and tests (limited in time). The best
leaders are not only coaches on the sideline, but are part of the team. Important signal to
employees.
Cornerstones of Leadership Behavior
 Mentor: Enhance problem-solving skills of employees. Attract future leaders. Your own
effort will have multiplier effect. Knowledge sharing.
 Reward: Compensation for extraordinary commitment. Fair, reasonable and timely
procurement. Several forms possible (financial bonuses, concert tickets, etc).
 Revise: Prevent sloppy code and inadequate solutions. Suggest how to fix things, support
implementation, aim for team learning effect. No blame game, but identify employees not up
to the task. Bring them up to speed, and if that doesn’t work, replace them. Be a role model
- leader’s negligence damages quality awareness.
Cornerstones of Leadership Behavior
 Anticipate: Look beyond the day-to-day business, create an image of the future and inspire
and motivate employees.
 Adapt: Adapt behavior to the problem at hand, accept challenges, learn new skills.
Problems are also opportunities.
Win Followers
 Sense of duty: Loyalty to team and product. Have pride on what has been achieved so far. Be
part of a winning team.
 Admiration: People will follow leaders whom they admire. Keep consistency in management
style, leadership effectiveness and in communication with employees.
 Environment: Create a working environment which by itself is already rewarding.
 Knowledge: Knowledge is power, especially in software development. Be and remain an
expert, share knowledge.
 Other forces: Market and competitive situation, payment.
Developer Types: The Good
 The Architect: Works on large-scale tasks, problem solving by abstraction. Danger:
Disconnected with developers and their needs.
 The Designer: Works intuitively, solves problems by code. Danger: Lack of documentation.
 The Artist: Creative work, builds intuitive user interface out of requirement spec. Risk:
Inefficiency and lack of design.
 The Engineer: Handles complexity by reduction.
Risk: Lack of flexibility if requirements change.
Developer Types: The Good
 The Scientist: Problem solving according the principles of theoretical computer science,
purists. Danger: Impractical solutions.
 The Speed Demon: Rapid implementation, adherence to the timetable at all costs. Danger:
Hidden defects.
Developer Types: The Bad
 The Sloppy: Faulty code, poor structure, violation of coding conventions, no tests.
 The Intimidated: Missing own initiative, doesn’t know how to start, can't deal with
incomplete information.
 The Amateur: Lack of training and experience, overestimation of one's capabilities.
 The Ignorant: Close-minded towards technological innovations, doesn’t want training,
doesn’t embrace change.
 The Salad Cook: Badly proportioned blend of
Engineer, Sloppy and untalented Artist.
Software Craftsmanship
 Software development is more labor-intensive than ever before. Developers are often
considered the "most expensive resource”.
 Countermeasure attempt #1: Quick training programs: FAILED. Software development
requires more than the mere knowledge of the syntax of a programming language.
 Countermeasure attempt #2: CASE tools: FAILED. Forced developers to apply one way of
model-building and of (what was left of) coding.
 Code is still the best abstraction model. De-qualification and industrialization are
wrong approaches. Automation is useful, but has limits.
Software Craftsmanship
 Software development as a craft. Mastery of a craft is only possible after years of learning
and practicing.
 Once the craft is no longer actively exercised, skills will dwindle.
 Apprenticeship: Situational learning. Execute easy tasks unescorted, more complex tasks
under the supervision of the master, Learning by example.
 Don't see developers as "most expensive resource", see them as your most important
asset!
Successful Teams
 A cult of quality: Quality awareness is a strong team catalyst. Only works in conjunction
with entrepreneurial long-term thinking.
 A hint of elitism: People need the feeling to be unique in some way. Corporation-wide
consistency might seem desirable at a management level, but is counterproductive.
 Allow heterogeneity: It's OK to not be a corporate clone. Add value, e.g. women in
otherwise male-dominated development teams.
Successful Teams
 Successful teams should stick together. Take the momentum for the next project after
completion.
 Specify direction at the strategic level, but avoid micro-management: Identify key
employees and equip them with corresponding liberties. "Flow of free electrons".
Destructive Forces
 Defensive management: Decision making without consulting employees, shows lack of
trust.
 Bureaucracy: Pointless production of paper, actual work comes in short.
 Physical separation: Distribution of a project team. Phone calls rather than direct
interaction.
 Fragmentation of work time: Allocation to multiple projects.
Destructive Forces
 Compromise on quality: Reasoning for cost reduction, but actually increases costs. Low
employee identification.
 Artificial deadlines: Most probably not taken seriously anyway.
 Inspirational slogans: Triumph of the outer form over the inner substance.
 Permanent extra hours: Can not be delivered by everyone (consider family situations,
etc).
Motivational Factors
 Two-Factor Theory (according to Frederick Herzberg)
 Hygiene factors: Prevents emergence of discontent by means as income, safety, interpersonal
relations.
 Motivation factors: Motivation to perform, e.g. work content, recognition, responsibility.
 Motivation factors are of particular importance for developers who identify with their
profession. Usually these are the employees that are key for successful software projects.
 Set up for success: Many software projects fail, good developers
do not like to fail and therefore look for an auspicious environment.
Have professional project management, be a competent
development partner, ensure quality consciousness.
Motivational Factors
 Excellent people management: Know your staff, include team in decision-making, show
loyalty to employees.
 Variety in tasks and constant learning: Software developers likely have chosen their
profession exactly for those reasons.
 Problem-solving: Programmers love challenges, e.g. voluntary nightly coding sessions
until a problem is solved. In contrast, being under-challenged can have fatal effects.
 Find hearing: Developers usually sit in the front trenches, and might be the first ones to
register looming problems. When they speak out, they should be heard.
Motivational Factors
 Recognition: Being part of a successful product is motivating by its own means. In
addition, individual recognition should be articulated frequently.
 Take part in something that makes a difference: “Conquer the world”. Get rid of manual
routine work, improve communication. Don’t produce paper, produce a cool and successful
product.
 Non-bureaucratic decision making: Let employees take part in decision-making without
having a committee convened for every small thing.
 Deal with contaminated projects: Maintenance of legacy code or working under a lot of
constraints is not satisfying in the long term.
Hire the Right People
 "The most important practical finding involves striking individual differences in programmer
performance“ (Glass, R.)
 "Within a group of programmers, there may be on order of magnitude difference in
capability" (Schwartz, J.)
 "A few good people are better than many less skilled people" (Davis, A.)
 "The best performers are clustering in some organizations, while the worst are clustering in
others" (DeMarco, Lister)
 But: Large skillset deviation even among graduates of the same university. Formal
qualification criteria are insufficient. It’s the individual drive that matters most.
Smart and Gets Things Done
Interview Techniques
 Several interview rounds, including a test in practical programming. Form a hiring
committee, one NO-vote implies "no hire".
 No prejudices (e.g. due to formal education or the opinions of others).
 Introduction: Relax situation.
 Open question: Let candidate talk about a project he has worked on.
 Can he/she explain more complex relationships easily? Is he/she enthusiastic? Has he/she
overcome difficulties by own initiative?
Interview Techniques
 Solve a simple programming problem: Separate the wheat from the chaff. Quick but elegant
solution preferred.
 Solve a difficult problem of programming: "Understanding pointers is not a skill, it's an
aptitude". The approach is more important than the solution. Spark discussion.
 Applicant’s questions.
Chose the Right Employer - The Joel Test
 Do you use source control?
 Can you make a build in one step?
 Do you make daily builds?
 Do you have a bug database?
 Do you fix bugs before writing new code?
 Do you have an up-to-date schedule?
 Do you have a spec?
 Do programmers have quiet working conditions?
 Do you use the best tools money can buy?
 Do you have testers?
 Do new candidates write code during their interview?
 Do you do hallway usability testing?
Working Environment and Productivity
Working Environment and Productivity
 Separate offices rather than have cubicles: Plan for two to four persons per office with
sufficient space. Focus on people and their needs. Workplace equipment costs are low
compared to human resource costs.
 Freedom instead of uniformity: People need individuality (up to a certain level).
 Have phone-free times, avoid interruptions: "You never get anything done around here
between 5 and 9".
 "The Flow": Work under high concentration, maximum effectiveness (touch of euphoria),
only possible after a certain period of diving into a task.
Sources
 DeMarco, Lister: “Peopleware”
 Glass, Robert L.: “Facts and Fallacies of Software Engineering”
 McBreen, Pete: “Software Craftsmanship”
 Rainwater, J. Hank: “Herding Cats: A Primer for Programmers Who Lead Programmers”
 Spolsky, Joel: “Joel on Software”
Sources
 Spolsky, Joel: “Smart & Gets Things Done: Joel Spolsky's Concise Guide to Finding the
Best Technical Talent”
 Walling, Rob: "Nine Things Developers Want More Than Money“,
http://www.softwarebyrob.com/articles/Nine_Things_Developers_Want_More_Than_Money.
aspx
 Weinberg, Gerald M.: “Becoming a Technical Leader – An Organic Problem-Solving
Approach”
 Weinberg, Gerald M.: “The Psychology of Computer Programming”
Thank you!
Twitter: https://twitter.com/ArnoHu
Blog: http://arnosoftwaredev.blogspot.com

Weitere ähnliche Inhalte

Was ist angesagt?

Unit 5 leadership challenges
Unit 5 leadership challengesUnit 5 leadership challenges
Unit 5 leadership challenges
Ashish Tripathi
 
My leader ship
My leader shipMy leader ship
My leader ship
chamreth
 

Was ist angesagt? (20)

The New World of Work: Leadership and HR Imperatives for 2015 and beyond
The New World of Work: Leadership and HR Imperatives for 2015 and beyondThe New World of Work: Leadership and HR Imperatives for 2015 and beyond
The New World of Work: Leadership and HR Imperatives for 2015 and beyond
 
Enterprise Services Planning - Scaling the Benefits of Kanban
Enterprise Services Planning - Scaling the Benefits of KanbanEnterprise Services Planning - Scaling the Benefits of Kanban
Enterprise Services Planning - Scaling the Benefits of Kanban
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Talent Management
Talent ManagementTalent Management
Talent Management
 
Management vs. Leadership - Linked 2 Leadership
Management vs. Leadership  - Linked 2 LeadershipManagement vs. Leadership  - Linked 2 Leadership
Management vs. Leadership - Linked 2 Leadership
 
Leadership skills
Leadership skillsLeadership skills
Leadership skills
 
Unit 5 leadership challenges
Unit 5 leadership challengesUnit 5 leadership challenges
Unit 5 leadership challenges
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Change Management Plan
Change Management PlanChange Management Plan
Change Management Plan
 
Insights from our Workplace Learning Report
Insights from our Workplace Learning Report Insights from our Workplace Learning Report
Insights from our Workplace Learning Report
 
My leader ship
My leader shipMy leader ship
My leader ship
 
Change management 3.pptx
Change management 3.pptxChange management 3.pptx
Change management 3.pptx
 
16 Building Leadership Skills
16 Building Leadership Skills16 Building Leadership Skills
16 Building Leadership Skills
 
The top 15 strategic things that Talent Management should be doing
The top 15 strategic things that Talent Management should be doingThe top 15 strategic things that Talent Management should be doing
The top 15 strategic things that Talent Management should be doing
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 
Leadership Training by CPW
Leadership Training by CPWLeadership Training by CPW
Leadership Training by CPW
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Digital Leadership vs Leadership in the digital age
Digital Leadership vs Leadership in the digital ageDigital Leadership vs Leadership in the digital age
Digital Leadership vs Leadership in the digital age
 
System quality attributes
System quality attributes System quality attributes
System quality attributes
 
The Employee Experience: From Engagement to Energy
The Employee Experience: From Engagement to EnergyThe Employee Experience: From Engagement to Energy
The Employee Experience: From Engagement to Energy
 

Ähnlich wie Leading Software Development Teams

IPMA 2009 World Congress Presentation
IPMA 2009 World Congress PresentationIPMA 2009 World Congress Presentation
IPMA 2009 World Congress Presentation
tobyf99
 
The Secret, Yet Obvious, Ingredient to Sustainable Agility
The Secret, Yet Obvious, Ingredient to Sustainable AgilityThe Secret, Yet Obvious, Ingredient to Sustainable Agility
The Secret, Yet Obvious, Ingredient to Sustainable Agility
Ahmed Sidky
 
Assessment center for_project_managers
Assessment center for_project_managersAssessment center for_project_managers
Assessment center for_project_managers
karishma143
 
INDIAHCI2016_DesignThinking&Innovation_Workshops_Aboli
INDIAHCI2016_DesignThinking&Innovation_Workshops_AboliINDIAHCI2016_DesignThinking&Innovation_Workshops_Aboli
INDIAHCI2016_DesignThinking&Innovation_Workshops_Aboli
Aboli Maydeo
 
Project Management
Project ManagementProject Management
Project Management
mohammads
 

Ähnlich wie Leading Software Development Teams (20)

Managing people
Managing peopleManaging people
Managing people
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex Projects
 
Engineering Career Paths.pdf
Engineering Career Paths.pdfEngineering Career Paths.pdf
Engineering Career Paths.pdf
 
IPMA 2009 World Congress Presentation
IPMA 2009 World Congress PresentationIPMA 2009 World Congress Presentation
IPMA 2009 World Congress Presentation
 
Lecture 03
Lecture 03Lecture 03
Lecture 03
 
The Secret, Yet Obvious, Ingredient to Sustainable Agility
The Secret, Yet Obvious, Ingredient to Sustainable AgilityThe Secret, Yet Obvious, Ingredient to Sustainable Agility
The Secret, Yet Obvious, Ingredient to Sustainable Agility
 
Human Factor In Project Management
Human Factor In Project ManagementHuman Factor In Project Management
Human Factor In Project Management
 
Se
SeSe
Se
 
How to Manage a UX Team (without losing your mind!)
How to Manage a UX Team (without losing your mind!)How to Manage a UX Team (without losing your mind!)
How to Manage a UX Team (without losing your mind!)
 
How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...
How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...
How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...
 
Designing Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaDesigning Your Career @ amUX Atlanta
Designing Your Career @ amUX Atlanta
 
[Agile Portugal 2014] - Agile Decision Support System for Upper Management - ...
[Agile Portugal 2014] - Agile Decision Support System for Upper Management - ...[Agile Portugal 2014] - Agile Decision Support System for Upper Management - ...
[Agile Portugal 2014] - Agile Decision Support System for Upper Management - ...
 
Assessment center for_project_managers
Assessment center for_project_managersAssessment center for_project_managers
Assessment center for_project_managers
 
Project Management
Project ManagementProject Management
Project Management
 
INDIAHCI2016_DesignThinking&Innovation_Workshops_Aboli
INDIAHCI2016_DesignThinking&Innovation_Workshops_AboliINDIAHCI2016_DesignThinking&Innovation_Workshops_Aboli
INDIAHCI2016_DesignThinking&Innovation_Workshops_Aboli
 
How to hire developers for a startup.pdf
How to hire developers for a startup.pdfHow to hire developers for a startup.pdf
How to hire developers for a startup.pdf
 
Basic Engineering Design (Part 1): Identify the Problem
Basic Engineering Design (Part 1):  Identify the ProblemBasic Engineering Design (Part 1):  Identify the Problem
Basic Engineering Design (Part 1): Identify the Problem
 
3A. Five Traits of Diffrence Makers.pdf
3A. Five Traits of Diffrence Makers.pdf3A. Five Traits of Diffrence Makers.pdf
3A. Five Traits of Diffrence Makers.pdf
 
LEADING A PROJECT.pptx
LEADING A PROJECT.pptxLEADING A PROJECT.pptx
LEADING A PROJECT.pptx
 
Project Management
Project ManagementProject Management
Project Management
 

Mehr von Arno Huetter

Führen von Software-Entwicklungsteams
Führen von Software-EntwicklungsteamsFühren von Software-Entwicklungsteams
Führen von Software-Entwicklungsteams
Arno Huetter
 

Mehr von Arno Huetter (13)

Chess Engine Programming
Chess Engine ProgrammingChess Engine Programming
Chess Engine Programming
 
Abraham Lincoln
Abraham LincolnAbraham Lincoln
Abraham Lincoln
 
Augustus
AugustusAugustus
Augustus
 
The world's most famous programmers
The world's most famous programmersThe world's most famous programmers
The world's most famous programmers
 
Geschichte des Computers (1991)
Geschichte des Computers (1991)Geschichte des Computers (1991)
Geschichte des Computers (1991)
 
Grundlagen der Volkswirtschaftslehre (1993)
Grundlagen der Volkswirtschaftslehre (1993)Grundlagen der Volkswirtschaftslehre (1993)
Grundlagen der Volkswirtschaftslehre (1993)
 
Database Performance Tuning
Database Performance Tuning Database Performance Tuning
Database Performance Tuning
 
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
 
Diplomarbeit: Generische und dynamische Hypertexte (2001)
Diplomarbeit: Generische und dynamische Hypertexte (2001)Diplomarbeit: Generische und dynamische Hypertexte (2001)
Diplomarbeit: Generische und dynamische Hypertexte (2001)
 
Windows Debugging with WinDbg
Windows Debugging with WinDbgWindows Debugging with WinDbg
Windows Debugging with WinDbg
 
Software Disasters
Software DisastersSoftware Disasters
Software Disasters
 
The History of the PC
The History of the PCThe History of the PC
The History of the PC
 
Führen von Software-Entwicklungsteams
Führen von Software-EntwicklungsteamsFühren von Software-Entwicklungsteams
Führen von Software-Entwicklungsteams
 

Kürzlich hochgeladen

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Kürzlich hochgeladen (20)

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

Leading Software Development Teams

  • 1. Leading Software Development Teams ARNO HUETTER (Based on a presentation held at GRZ IT Center, Austria)
  • 2. About the Author Arno Huetter Arno wrote his first lines of code on a Sinclair ZX80 in 1984. Over the years, he has been programming in C/C++, Java and C#, and also did quite some database development. Today he is Development Lead at Dynatrace (APM vendor).
  • 3. Leading Software Development Teams “The major problems of our work are not so much technological as sociological in nature.“ (DeMarco, Lister in: „Peopleware“)
  • 4. Cornerstones of Leadership Behavior  „Leadership, like software, is built upon a foundation. For software, the foundation is the architecture. For leadership, it‘s your character.“ (Rainwater, H.)  Understand: The battle for market share is won by leaders who know the nature and methods of software development. People who "see the forest AND the trees".  Communicate: Be an evangelist, convey enthusiasm, share knowledge. Good communicators are also good teachers. Be careful when making unprepared, casual remarks.
  • 5. Cornerstones of Leadership Behavior  Delegate: Select the right people for the right tasks. You can delegate tasks, but not speed. One effective form of delegation: Senior+Junior pair programming.  Check: No expectation without checking. Daily builds. Automated tests. Obtain feedback from employees. Code reviews. Weekly project status meetings. Four eyes principle. Documentation.  Participate: Participation of leaders in programming and tests (limited in time). The best leaders are not only coaches on the sideline, but are part of the team. Important signal to employees.
  • 6. Cornerstones of Leadership Behavior  Mentor: Enhance problem-solving skills of employees. Attract future leaders. Your own effort will have multiplier effect. Knowledge sharing.  Reward: Compensation for extraordinary commitment. Fair, reasonable and timely procurement. Several forms possible (financial bonuses, concert tickets, etc).  Revise: Prevent sloppy code and inadequate solutions. Suggest how to fix things, support implementation, aim for team learning effect. No blame game, but identify employees not up to the task. Bring them up to speed, and if that doesn’t work, replace them. Be a role model - leader’s negligence damages quality awareness.
  • 7. Cornerstones of Leadership Behavior  Anticipate: Look beyond the day-to-day business, create an image of the future and inspire and motivate employees.  Adapt: Adapt behavior to the problem at hand, accept challenges, learn new skills. Problems are also opportunities.
  • 8. Win Followers  Sense of duty: Loyalty to team and product. Have pride on what has been achieved so far. Be part of a winning team.  Admiration: People will follow leaders whom they admire. Keep consistency in management style, leadership effectiveness and in communication with employees.  Environment: Create a working environment which by itself is already rewarding.  Knowledge: Knowledge is power, especially in software development. Be and remain an expert, share knowledge.  Other forces: Market and competitive situation, payment.
  • 9. Developer Types: The Good  The Architect: Works on large-scale tasks, problem solving by abstraction. Danger: Disconnected with developers and their needs.  The Designer: Works intuitively, solves problems by code. Danger: Lack of documentation.  The Artist: Creative work, builds intuitive user interface out of requirement spec. Risk: Inefficiency and lack of design.  The Engineer: Handles complexity by reduction. Risk: Lack of flexibility if requirements change.
  • 10. Developer Types: The Good  The Scientist: Problem solving according the principles of theoretical computer science, purists. Danger: Impractical solutions.  The Speed Demon: Rapid implementation, adherence to the timetable at all costs. Danger: Hidden defects.
  • 11. Developer Types: The Bad  The Sloppy: Faulty code, poor structure, violation of coding conventions, no tests.  The Intimidated: Missing own initiative, doesn’t know how to start, can't deal with incomplete information.  The Amateur: Lack of training and experience, overestimation of one's capabilities.  The Ignorant: Close-minded towards technological innovations, doesn’t want training, doesn’t embrace change.  The Salad Cook: Badly proportioned blend of Engineer, Sloppy and untalented Artist.
  • 12. Software Craftsmanship  Software development is more labor-intensive than ever before. Developers are often considered the "most expensive resource”.  Countermeasure attempt #1: Quick training programs: FAILED. Software development requires more than the mere knowledge of the syntax of a programming language.  Countermeasure attempt #2: CASE tools: FAILED. Forced developers to apply one way of model-building and of (what was left of) coding.  Code is still the best abstraction model. De-qualification and industrialization are wrong approaches. Automation is useful, but has limits.
  • 13. Software Craftsmanship  Software development as a craft. Mastery of a craft is only possible after years of learning and practicing.  Once the craft is no longer actively exercised, skills will dwindle.  Apprenticeship: Situational learning. Execute easy tasks unescorted, more complex tasks under the supervision of the master, Learning by example.  Don't see developers as "most expensive resource", see them as your most important asset!
  • 14. Successful Teams  A cult of quality: Quality awareness is a strong team catalyst. Only works in conjunction with entrepreneurial long-term thinking.  A hint of elitism: People need the feeling to be unique in some way. Corporation-wide consistency might seem desirable at a management level, but is counterproductive.  Allow heterogeneity: It's OK to not be a corporate clone. Add value, e.g. women in otherwise male-dominated development teams.
  • 15. Successful Teams  Successful teams should stick together. Take the momentum for the next project after completion.  Specify direction at the strategic level, but avoid micro-management: Identify key employees and equip them with corresponding liberties. "Flow of free electrons".
  • 16. Destructive Forces  Defensive management: Decision making without consulting employees, shows lack of trust.  Bureaucracy: Pointless production of paper, actual work comes in short.  Physical separation: Distribution of a project team. Phone calls rather than direct interaction.  Fragmentation of work time: Allocation to multiple projects.
  • 17. Destructive Forces  Compromise on quality: Reasoning for cost reduction, but actually increases costs. Low employee identification.  Artificial deadlines: Most probably not taken seriously anyway.  Inspirational slogans: Triumph of the outer form over the inner substance.  Permanent extra hours: Can not be delivered by everyone (consider family situations, etc).
  • 18. Motivational Factors  Two-Factor Theory (according to Frederick Herzberg)  Hygiene factors: Prevents emergence of discontent by means as income, safety, interpersonal relations.  Motivation factors: Motivation to perform, e.g. work content, recognition, responsibility.  Motivation factors are of particular importance for developers who identify with their profession. Usually these are the employees that are key for successful software projects.  Set up for success: Many software projects fail, good developers do not like to fail and therefore look for an auspicious environment. Have professional project management, be a competent development partner, ensure quality consciousness.
  • 19. Motivational Factors  Excellent people management: Know your staff, include team in decision-making, show loyalty to employees.  Variety in tasks and constant learning: Software developers likely have chosen their profession exactly for those reasons.  Problem-solving: Programmers love challenges, e.g. voluntary nightly coding sessions until a problem is solved. In contrast, being under-challenged can have fatal effects.  Find hearing: Developers usually sit in the front trenches, and might be the first ones to register looming problems. When they speak out, they should be heard.
  • 20. Motivational Factors  Recognition: Being part of a successful product is motivating by its own means. In addition, individual recognition should be articulated frequently.  Take part in something that makes a difference: “Conquer the world”. Get rid of manual routine work, improve communication. Don’t produce paper, produce a cool and successful product.  Non-bureaucratic decision making: Let employees take part in decision-making without having a committee convened for every small thing.  Deal with contaminated projects: Maintenance of legacy code or working under a lot of constraints is not satisfying in the long term.
  • 21. Hire the Right People  "The most important practical finding involves striking individual differences in programmer performance“ (Glass, R.)  "Within a group of programmers, there may be on order of magnitude difference in capability" (Schwartz, J.)  "A few good people are better than many less skilled people" (Davis, A.)  "The best performers are clustering in some organizations, while the worst are clustering in others" (DeMarco, Lister)  But: Large skillset deviation even among graduates of the same university. Formal qualification criteria are insufficient. It’s the individual drive that matters most.
  • 22. Smart and Gets Things Done
  • 23. Interview Techniques  Several interview rounds, including a test in practical programming. Form a hiring committee, one NO-vote implies "no hire".  No prejudices (e.g. due to formal education or the opinions of others).  Introduction: Relax situation.  Open question: Let candidate talk about a project he has worked on.  Can he/she explain more complex relationships easily? Is he/she enthusiastic? Has he/she overcome difficulties by own initiative?
  • 24. Interview Techniques  Solve a simple programming problem: Separate the wheat from the chaff. Quick but elegant solution preferred.  Solve a difficult problem of programming: "Understanding pointers is not a skill, it's an aptitude". The approach is more important than the solution. Spark discussion.  Applicant’s questions.
  • 25. Chose the Right Employer - The Joel Test  Do you use source control?  Can you make a build in one step?  Do you make daily builds?  Do you have a bug database?  Do you fix bugs before writing new code?  Do you have an up-to-date schedule?  Do you have a spec?  Do programmers have quiet working conditions?  Do you use the best tools money can buy?  Do you have testers?  Do new candidates write code during their interview?  Do you do hallway usability testing?
  • 26. Working Environment and Productivity
  • 27. Working Environment and Productivity  Separate offices rather than have cubicles: Plan for two to four persons per office with sufficient space. Focus on people and their needs. Workplace equipment costs are low compared to human resource costs.  Freedom instead of uniformity: People need individuality (up to a certain level).  Have phone-free times, avoid interruptions: "You never get anything done around here between 5 and 9".  "The Flow": Work under high concentration, maximum effectiveness (touch of euphoria), only possible after a certain period of diving into a task.
  • 28. Sources  DeMarco, Lister: “Peopleware”  Glass, Robert L.: “Facts and Fallacies of Software Engineering”  McBreen, Pete: “Software Craftsmanship”  Rainwater, J. Hank: “Herding Cats: A Primer for Programmers Who Lead Programmers”  Spolsky, Joel: “Joel on Software”
  • 29. Sources  Spolsky, Joel: “Smart & Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent”  Walling, Rob: "Nine Things Developers Want More Than Money“, http://www.softwarebyrob.com/articles/Nine_Things_Developers_Want_More_Than_Money. aspx  Weinberg, Gerald M.: “Becoming a Technical Leader – An Organic Problem-Solving Approach”  Weinberg, Gerald M.: “The Psychology of Computer Programming”
  • 30. Thank you! Twitter: https://twitter.com/ArnoHu Blog: http://arnosoftwaredev.blogspot.com