,

Software Craftsmanship

The New Imperative

Paperback Engels 2001 9780201733860
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

By recognizing that software development is not a mechanical task, you can create better applications.

Today’s software development projects are often based on the traditional software engineering model, which was created to develop large-scale defense projects. Projects that use this antiquated industrial model tend to take longer, promise more, and deliver less.

As the demand for software has exploded, the software engineering establishment has attempted to adapt to the changing times with short training programs that teach the syntax of coding languages. But writing code is no longer the hard part of development; the hard part is figuring out what to write. This kind of know-how demands a skilled craftsman, not someone who knows only how to pass a certification course.

Software Craftsmanship presents an alternative—a craft model that focuses on the people involved in commercial software development. This book illustrates that it is imperative to turn from the technology-for-its-own-sake model to one that is grounded in delivering value to customers. The author, Pete McBreen, presents a method to nurture mastery in the programmer, develop creative collaboration in small developer teams, and enhance communications with the customer. The end result—skilled developers who can create, extend, and enhance robust applications.

This book addresses the following topics, among others: Understanding customer requirements Identifying when a project may go off track Selecting software craftsmen for a particular project Designing goals for application development Managing software craftsmen

Software Craftsmanship is written for programmers who want to become exceptional at their craft and for the project manager who wants to hire them.

0201733862B07242001

Specificaties

ISBN13:9780201733860
Taal:Engels
Bindwijze:Paperback

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

<br> <br> Preface. <br> <p> I. QUESTIONING SOFTWARE ENGINEERING. </p> <div style="margin-left: 0.2in;"> 1. Understanding Software Engineering. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> The Paradox of Software Engineering. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Modern Definition of Software Engineering. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Is Software Engineering a Good Choice for Your Project? </div> <p></p> <div style="margin-left: 0.2in;"> 2. The Problems with Software Engineering. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Can Software Development Be Made Systematic and Quantified? </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Hazards of the Good Enough Software Approach. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> What Is the Alternative to Software Engineering? </div> <p></p> <div style="margin-left: 0.2in;"> 3. Understanding Software Development. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Software as Capital. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Does the Division of Labor Work for Software Development? </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> One Size Does Not Fit All. </div> <p></p> <div style="margin-left: 0.2in;"> 4. Finding a Better Metaphor Than Software Engineering. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Finding a Better Metaphor Than Software Engineering. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Craft of Software Development. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Parallels with Traditional Craftsmanship. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Resurgence of the Craft of Software Development. </div> <p></p> <p> II. SOFTWARE CRAFTSMANSHIP. </p> <div style="margin-left: 0.2in;"> 5. Putting People Back into Software Development. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Craftsmanship Is About Getting Better at Software Development. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Craftsmanship Encourages Developers to Write Great Software. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> A Call to Arms. </div> <p></p> <div style="margin-left: 0.2in;"> 6. Craftsmanship Is the Opposite of Licensing. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Craftsmanship Is Personal. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Licensing Is an Illusion. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Craftsmanship Focuses on the Individual. </div> <p></p> <p> III. IMPLICATIONS OF SOFTWARE CRAFTSMANSHIP. </p> <div style="margin-left: 0.2in;"> 7. How Craftsmanship Affects the Users of Systems. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmanship Works Because Software Is Easy to Copy. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Craftsmen Have a Different Relationship with Their Users. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Great Software Deserves to Be Signed. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Craftsmen Need Demanding Users. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmanship Leads to Collaborative Development. </div> <p></p> <div style="margin-left: 0.2in;"> 8. Customers Have a Different Relationship with Craftsmen. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Setting Realistic Delivery Dates. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Exposing the Fallacy of Good Enough Software. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Allowing Software Craftsmen to Take Credit for Their Work. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Start Exploiting the Difference in Productivity Between Developers. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> But How Do We Know How Good a Developer Really Is? </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Customers Make a Cost/Quality Trade-off When Choosing Craftsmen. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Customers Have Long Term Relationships with Software Craftsmen. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Customer Interests Are Aligned with the Interests of Software Craftsmen. </div> <p></p> <div style="margin-left: 0.2in;"> 9. Managing Craftsmen. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmen Are Not Hired Hands. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Good Developers Are More Valuable Than Their Managers. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmen Have a Different Relationship with Their Managers, </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Managing Great Developers Is a Pleasure and a Privilege. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmen Like Creating Applications. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Managing Software Craftsmen Is Different. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmen Push for What They Need. </div> <p></p> <div style="margin-left: 0.2in;"> 10. Becoming a Software Craftsman. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmanship Is a Rejection of Narrow Specialization. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Craftsmanship Requires Dedication. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> How Does a Person Become a Software Craftsman? </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Craft Tradition Has Endured for Centuries. </div> <p></p> <div style="margin-left: 0.2in;"> 11. Mastering the Craft. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> What Does a Master Software Craftsman Look Like? </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Use Your Old-timers. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Mastery Implies the Use of Stable Technologies. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Developing Mastery Takes Time. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Mastery Implies Taking Responsibility for Passing on the Craft. </div> <p></p> <div style="margin-left: 0.2in;"> 12. Apprentice Developers. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> We Must Reverse the Decline in the Quality of Developer Training. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Becoming an Apprentice Is a Significant Step. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Apprenticeship Instills Lifelong Learning. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Role of Apprentices. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> An Apprenticeship Is a Significant Investment of Time and Energy. </div> <p></p> <div style="margin-left: 0.2in;"> 13. Journeymen Developers. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Where Journeymen Fit in the Craft Tradition. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Journeymen Developers. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Journeymen Are Focused on Delivering Applications. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Journeymen Play a Key Role in Software Craftsmanship. </div> <p></p> <p> IV. REPOSITIONING SOFTWARE ENGINEERING. </p> <div style="margin-left: 0.2in;"> 14. Software Engineering Projects. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Software Engineering Is Designed for Large Systems Projects. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Engineering Projects Are Diverse and Varied. </div> <p></p> <div style="margin-left: 0.2in;"> 15. Hazards of the Software Engineering Metaphor. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> You Cannot Do Software Engineering on a Low Budget. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Engineering Encourages Scientific Management. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Factories: The Production Line for Software. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Reuse over Time Is Hazardous. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Myth of the Standardized Software Development Process. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Engineering Forces Us to Forget the Individual. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> We Need More Variety in Our Development Processes, Not Less. </div> <p></p> <div style="margin-left: 0.2in;"> 16. Learning from Software Engineering. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Size and Complexity Matter. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Applications Need to Be Well Structured. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Change Can Be Expensive Unless You Allow for It. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Communication Inside the Team and with Users Is Crucial. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Producing Accurate Estimates Is Very Expensive. </div> <p></p> <p> V. WHAT TO DO ON MONDAY MORNING. </p> <div style="margin-left: 0.2in;"> 17. Experience— The Best Indicator of Project Success. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Choose Software Craftsmen Based on Their Reputations. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Evaluate Craftsmen Based on Their Reputations and Portfolio. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Auditioning a Software Craftsman. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Let Your Software Craftsman Pick the Rest of the Development Team. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Collaborative Development. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Avoid Bleeding-Edge Technology If At All Possible. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Paying for Experience. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Be Prepared to Be Amazed. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Design for Testing and Maintenance. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Think Applications, Not Projects. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Maintenance Teams Should Refuse to Accept Bad Applications. </div> <p></p> <div style="margin-left: 0.2in;"> 18. Design for Maintenance. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmen Prefer Nonproprietary, Open Source Tools. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Great Software Is Global. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Software Craftsmen Need to Fight Back Against Planned Obsolescence. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Great Software Needs to Be Given a Great User Interface. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Maintainable Software Is Easy to Diagnose. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> The Hazards of Outsourcing. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> You Can Still Use Outside Craftsmen to Create Your Application. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Maintenance Is the Most Important Part of the Life of Any Application. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Not All Software Has to Be Maintainable. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Design for Testing and Maintenance Is Not Rocket Science. </div> <p></p> <div style="margin-left: 0.2in;"> 19. Perpetual Learning. </div> <br> <p> </p> <div style="margin-left: 0.4in;"> Creating a Learning Environment. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Mastering the Craft of Software Development. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Choose Training Courses Very Carefully. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Encourage Your People to Be Visible in the Software Development Community. </div> <p></p> <p> </p> <div style="margin-left: 0.4in;"> Becoming a Reflective Practitioner. </div> <p></p> <div style="margin-left: 0.2in;"> Epilogue. </div> <br> <div style="margin-left: 0.2in;"> Acknowledgements. </div> <br> <div style="margin-left: 0.2in;"> Index. 0201733862T08072001 </div> <br>

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Software Craftsmanship