This hands-on software engineering volume fills the gap between the way users learn to program and the way software is written in professional practice with an interactive, project-oriented approach that includes guidelines for using XP methods for software engineering , tutorials on the core aspects of XP, and detailed descriptions of what to expect when applying XP to a development project. Using methodologies that are flexible enough to meet the changing needs of future clients, the book provides a detailed description of what happens in a typical cycle during an XP development effort and shows users what to do instead of telling them what to do. The volume provides an introduction to the Core XP practices, and details pair programming, understanding why we test first, the iteration, shaping the development process and core practices and working examples of core practices. For software engineers, developers, and programmers , and managers who want to learn about XP.
Daniel N. Steinberg has taught at Case Western Reserve University, Oberlin College, and John Carroll University where he introduced courses in Java?, Design Patterns, and XP. He is the director of Java Offerings at Dim Sum Thinking. A developer, trainer, and consultant, he has been teaching and writing about Java since 1996. Daniel has covered Java on the Macintosh® for the O'Reilly Network's? MacDevCenter and for JavaWorld magazine. In addition to contributing to four previous computer science books, Daniel has also written articles and tutorials for the developer sites at Sun, IBM, BEA, and Apple.
Daniel W. Palmer is an associate professor at John Carroll University where he has been teaching Software Engineering and Computer Science for eight years. He worked at NASA as a software engineer on many satellite missions including as project leader for Cosmic Background Explorer (COBE) satellite telemetry software development at Goddard Space Flight Center. Currently, he is the director of the Swarm Research Laboratory at John Carroll University, investigating swarm intelligence and emergent behavior.