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