Following the recent release of a major software development project we started at the beginning of the year, I’d like to share some key things I noticed:
- As you trust your team to make their own decisions and pursue what they think they need to do (while you perform your magic in background support) you let them grow exponentially from the experiences they encounter.
- Communication between programmers at the time they’re working o the same bit of functionality is critical, whenever a feature is more than one person can handle. Communication skills depend on personality and preferences however, and is difficult to change.
- Partner a programmer with someone who has great grasp of the business rules and always they will be able to deliver quality work together, unless they don’t like each other.
- As web applications grow more complex, test automation (project build, code, functional) becomes more of a necessity.
- Software requirements of new features must be reviewed frequently at the start of a project initiative, especially the parts which coincides with current application operations. Partner this with early solid regression testing if you want to minimize chances of major bugs appearing during user acceptance testing period.
- The challenge for a scrum master (or for any lead) is finding ways to achieve teamwork within the team circle. Each team is different because it is composed of different people, each having their own personality, skillset, and priorities.