What Works In Software Development
Michael G. Schwern
Norman Nunley, Peak Strategy
Track: Perl, Ruby, Python, Java, Emerging Topics, PHP
Date: Monday, July 07
Time: 8:45am - 12:15pm
Location: Salon F
What happens when you find yourself in a group programming project and things just aren't working? Everyone is doing their individual job fine, but when they try working together, everything clashes. We know how to handle computers, but people can sometimes be troublesome. The often overlooked discipline which teaches you how to work with other people on a software project is Software Engineering.
Schwern’s tutorial teaches the basics of Software Engineering: an agile (i.e. doesn't involve a lot of paperwork and planning) methodology made up of techniques that work well, are easy to learn, hard to get wrong, and work well together. This is information that both programmers and their managers should know.
We'll do a broad overview of Software Engineering, looking at topics such as:
At the end, you’ll have a good feeling of what techniques are out there and that there is hope for running a project on time. Often those who are already aware of techniques individually find it helpful to hear them presented as a whole.
- Picking a good company to work for
- Avoiding feature creep and gold plating
- How not to optimize
- Working in small, flexible chunks
- Getting the most out of version control
- Making and estimate
- Keeping sane and healthy
- Holding up in face of pressure
- Documentation and testing
- Code as literature
- Design Patterns
© 2003, O'Reilly Media, Inc.