- Engineering Complexity
- Birth of Murphy for Java
- People = Problems
- Education Through Pain Management
- The Twenty-Cent Solution
- Fraternal Clones
- "We Lost the Napkin"
- The Devil in Blue Jeans
- Jack and the Beanstalk
- The Slashdot Effect
- The Funhouse Microphone
- That "New Car" Smell
- If I Can See It, It Must Be Wrong
- The Ugly American
- Murphy's Law
- Use Egg Cartons
- Conclusion
Education Through Pain Management
Law: Programmers keep making mistakes until they have stuck their fingers in the electrical socket several times.
Q: Are there any experienced Java programmers, architects, and leadership on the design and development team?
More than a million programmers and thousands of companies are using Java. The growth of Java development is unlike any other in history. Unfortunately, this still does not mean that you have a complete and seasoned team of programmers, with capable leadership, and led by experienced architects. Java developers usually use only a few parts of Java's vast API on each project. Add the new APIs that appear and new techniques for using older APIs, and your seasoned team may really be neophytes for the current project. The result is that there are two types of risk: lack of exact experience and lack of general but applicable experience. To alleviate risks, you need to increase the education and experience of the team.
Low Risk
All members of the development team have extensive Java experience. Two years of experience should be the minimum for any lead developer; four to seven for an architect. (Remember that Java has only existed since 1995.)
Similar application experience with Java (increases the odds of success).
Team members quickly adapt to new technology and techniques.
High Risk
No prior Java development experience.
Not quick learners, or closed to change and innovation.
No object-oriented experience.
No prior Java training.
Risk Management
Hire a Java expert or consulting company with proven Java experience.
Reduce the initial deliverable size.
Don't write mission-critical applications until the development team has a proven ability to deliver similar functionality.
Reward education and innovation.