Day 2 - What makes a great software development team¶
by Mike Robinson
- He can code
- He can manage
- Irish
- Cyclist!
What is the problem?¶
From the customer’s point of view¶
- Its expensive
- Its not what they wanted
- Its unpredictable
From the development team’s point of view¶
- Its mentally hard
- Don’t feel appreciated for their smarts
- It is hard work and the hours are often long, inconsistently hard
- The business doesn’t know what they want
Requirements¶
- Sometimes not technical enough
- Sometimes too technical
Process is not the answer¶
- More control eats up engineer team
Technology is not the answer¶
- Traditional or service doesn’t answer
Tools are not the answer¶
- trac is not the answer
People are the answer¶
- Great people are what you want
- Great people need process, technology, tools
Different process methods¶
- Pick the one you want, it doesn’t matter
- Principles and ethics are what is important
- Values of the developer
What Mike Robinson thinks will work¶
People¶
Change
Requirements will shift
Scope will migrate
Don’t think what you know will always work
Technology mutates over time
The market changes
Embrace change!
Work in such a way that change does not kill you
- Think like a sculptor in that you refine things over time
- Simplicity is king! If you start complex, it will be harder to enhance later
Quality!
- Do things right
- Testing early, often, well
- Are you building the right solution to a problem?
- Get feedback
Commitment
- Everyone has to be committed
- Give them sense ownership
- Make developers feel like what they are doing will make a difference
Visibility
- Let people see what you are doing
- Give constant status updates
- Metrics are really important
- You are either not started, started, or done. No statements of percentage completes! No more 90% or 75%
Collaboration
- Get your people into feeling they are part of the team.
- That includes developers, managers, testers, etc
Focus on Value
- People need to be told what is considered to be of value
- Developers need to be instructed as to what parts of what they do will be shown to have value
- Got to see why what you are doing is important
- If its not of any use, why do something?
Process¶
How do you pick the right process for your time?
- No one process is good for all teams.
- Based on values of your effort, pick the simplest approach to process for your team
Review and adapt your process to see if it needs to be altered
Evolve your process as needed
Conclusion¶
- No one method fits all projects, all the time