وبلاگ بلیان

Essential skills for agile development : learn 20% of the agile skills that deliver 80% of the value

معرفی کتاب «Essential skills for agile development : learn 20% of the agile skills that deliver 80% of the value» نوشتهٔ Ka Iok Kent Tong، منتشرشده توسط نشر Macau Productivity and Technology Transfer Center در سال 2004. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

Agile Development, in particular, eXtreme Programming (XP), has been gaining a lot of momentum because it can effectively address the problems plaguing software development such as mis-understanding customers' requirements, missing deadlines, over-budget, conflicts between customers and developers and poor maintainability of legacy systems. However, it is so difficult to teach the skills needed to be agile. In 2002, we, the Macau Productivity and Technology Center (CPTTM), started to hold courses on XP and Object Oriented design to teach the skills by hiring a well known software training and consulting company to do the teaching. While the instructor was very professional and instructive and the students were happy, they didn't acquire the skills taught. We knew that it was because the concepts involved were abstract and it needed far more exercises for the students to practice in the courses. Therefore, we decided to develop our own training materials. In particular, we selected the 20% of the skills in agile development that deliver 80% of the value, ignoring the other useful but non-essential skills. Then we explained those essential skills in terms of examples and added a lot of real world examples as exercises. After adopting this set of materials, the students really acquired the skills taught. In order to share this with the community, we have organized the training materials into this book: Essential Skills for Agile Development. The book includes the following chapters: (1) Removing duplicate code. (2) Turning comments into code. (3) Removing code smells. (4) Keeping code fit. (5) Take care to inherit. (6) Handling inappropriate references. (7) Separate database, user interface and domain logic. (8) Managing software projects with user stories. (9) OO design with CRC cards. (10) Acceptance test. (11) How to acceptance test a user interface. (12) Unit test. (13) Test driven development. (14) Team development with CVS. (15) Essential skills for communications. (16) Pair programming. Agile Development, in particular, eXtreme Programming (XP), has been gaining a lot of momentum because it can effectively address the problems plaguing software development. In 2002, we, the Macau Productivity and Technology Center (CPTTM), started to hold courses on XP and OO design to teach the skills in agile development. At the beginning, we hired a well known software training and consulting company to teach. While the instructor was very professional and instructive and the feedbacks from the students were very good, the students didn't acquire the skills taught. We knew that it was because the concepts involved were abstract and it needed far more exercises for the students to practice in order to acquire the skills. Therefore, we decided to develop our enhanced training materials. In particular, we selected only 20% of the skills in agile development that deliver 80% of the value, while ignoring those useful but non-essential skills. Then we explained these skills in terms of examples and added a lot of real world examples as exercises. After adopting this set of materials, the new students really acquired the skills taught. Now we have organized the training materials into a book: Essential Skills for Agile Development. This book covers the essential skills in: OO design, Test Driven Development (TDD), team development, planning, communication and pair programming.
دانلود کتاب Essential skills for agile development : learn 20% of the agile skills that deliver 80% of the value