Chapter 0. Setup

If you are a developer using the .NET Framework, or if you are thinking of using the .NET Framework, then this book is designed for you.

I have used the material in this book in training courses for a number of years. The experience of the students in these courses range from the .NET novice to the experienced developer, but everyone benefits from the exercises. The novices learn about .NET Framework development while at the same time learning good development practices. More experienced developers work through the exercises more rapidly and are able to focus on the techniques being taught.

This book introduces you to practical techniques that you can use to improve your software development abilities. These techniques have been heavily promoted in the last few years as practices in a set of methodologies. The methodology from which I draw most of my experience is eXtreme Programming (XP)—hence the title of this book.

Throughout the book, you will find highlighted text accompanied by icons. The icons are there to differentiate the type of section. The three section types you will encounter are as follows:

What Do You Want?

When you are developing software, what do you want?

  • Fewer bugs

  • Greater predictability

  • More time (to do what you want)

  • Satisfaction that you’ve done a great job

  • Happier customers and managers

This book introduces you to a set of techniques designed to put you on the road to reach your goals.

The practices examined throughout this book are taught mainly through hands-on exercises. I strongly believe in learning by doing, and, after all, this is about programming in an extreme way.

Terminology

XP refers to a collection software development practices and is sometimes called referred to as a methodology. However, there is more to XP than just the practices and the values. XP creates team camaraderie. XP produces happy customers. Just following the practices and knowing the values isn’t XP. The practices and values provide a vocabulary to discuss and enact the development of software. XP is about loving the creativity of software. XP teams embrace the changes during the development. XP teams want to ship great software products. XP helps to create a team that has the same goals. XP teams achieve their goals.

.NET (pronounced “dot net”) is the colloquial term given to the Microsoft .NET Framework. In this book, I discuss software development using the .NET Framework. Developers using the .NET Framework have adopted the new technology incredibly fast. There is more to .NET development than just the framework and the tools. Developers using the .NET Framework love the product and what it can achieve. The opportunities provided by the .NET Framework have excited a large percentage of the development community.

eXtreme .NET is the term I have given to developing software using the .NET Framework and some (or all) of the XP practices. eXtreme .NET teams create high-quality solutions in short timeframes. They embrace the spirit of XP along with the excitement of developing with the .NET Framework. Above all, eXtreme .NET teams have an incredible passion for creating great software.

This book introduces the techniques used by eXtreme .NET developers.

How to Read This Book

Most of the chapters in this book have exercises using the .NET Framework. Chapters 1 and 3 do not. These two chapters provide background knowledge for the rest of the book.

Chapter 1 provides an overview of XP. If you have read other books on XP and feel comfortable with the practices and values, you might be tempted to skip Chapter 1. Don’t! Chapter 1 also contains an exploration of how .NET and XP work together.

Chapter 2 introduces pair programming. The exercises in this chapter require two developers. From this chapter onward, you can apply the pair-programming techniques to the exercises in the rest of this book.

Chapter 3 examines techniques for breaking down problems into small easy-to-achieve tasks. The exercises in Chapter 3 will help you understand the practices explored in other chapters.

Chapters 4 through to 7 cover the XP techniques that help you to achieve the goals mentioned at the beginning of this chapter.

Chapter 8 provides a deeper examination of techniques for writing code with fewer bugs.

Chapter 9 pulls all the techniques together into a single project.

The Team

Throughout this book, you will encounter dialogue between members of a team. This team is learning to become an eXtreme .NET team. I have taken most of these conversations from real-world experiences I have had while working with software teams.

Note:I’ve edited out swearing for your reading enjoyment!

The members of the team are as follows:

  • eXtreme Eddie—Eddie has been programming for more than 20 years. He has done everything from mainframe work through to embedded systems. Eddie was an early adopter of XP techniques and has been using XP in Java projects for the past couple of years. Eddie embodies the XP spirit.

  • .NET Deepak—Deepak is a young, smart coder. He graduated last year but has been using the .NET Framework since it first went into beta. Deepak knows and loves .NET. Deepak represents all there is to love about .NET.

  • Skeptic Sue—Sue has been in software development for 10 years. She has been mainly developing Windows software in C and C++. Sue was promoted in her previous job to project manager, which she hated. She left and joined this team so that she could get back into developing software. Sue carries the scars from many failed projects and doesn’t trust new ideas.

  • Panic Pete—Pete is very bright and comes up with amazing solutions for problems. He is the clown of the team. Pete has been writing code for 5 years but has never finished a single project he started. Pete panics when the going gets tough and verbalizes this panic. When this happens, he has previously quit.

  • Customer Chris—Chris is the internal customer for the team. He works with marketing and the customer support team. Chris once tried to write some code on a training course. He didn’t enjoy it. Chris is a people person: He loves engaging in conversation.

Conclusion

I believe that all developers can learn something from the XP practices and techniques. After reading this book, you may go on to embrace the full XP process, while other readers may feel they are not ready or that XP will not fit in their organization. Either way, XP has had a big impact on the way software is being developed, and everyone in the field of software development can learn from XP.

Software development is a career that requires constant education. XP provides a set of lessons that all software developers can benefit from learning.

I have used XP practices while writing this book. This book is Version 1.0 of what I hope to build on in the coming years. As with software, the content of future versions of the book will be dependent on the technology that becomes available. The future versions of this book will reflect the feedback from the users—that is, you. Therefore, please provide feedback, either directly to me via email or through the publisher, Addison-Wesley.

1.

McCarthy, Jim. Dynamics of Software Development. Redmond, Washington: Microsoft Press, 1995.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.51.103