The Software Craftsman

Professionalism, Pragmatism, Pride

DOWNLOAD NOW »

Author: Sandro Mancuso

Publisher: Prentice Hall

ISBN: 0134052587

Category: Computers

Page: 288

View: 3993

Be a Better Developer and Deliver Better Code Despite advanced tools and methodologies, software projects continue to fail. Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too—and they behave accordingly. In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfilling path. If you want to develop software with pride and professionalism; love what you do and do it with excellence; and build a career with autonomy, mastery, and purpose, it starts with the recognition that you are a craftsman. Once you embrace this powerful mindset, you can achieve unprecedented levels of technical excellence and customer satisfaction. Mancuso helped found the world’s largest organization of software craftsmen; now, he shares what he’s learned through inspiring examples and pragmatic advice you can use in your company, your projects, and your career. You will learn Why agile processes aren’t enough and why craftsmanship is crucial to making them work How craftsmanship helps you build software right and helps clients in ways that go beyond code How and when to say “No” and how to provide creative alternatives when you do Why bad code happens to good developers and how to stop creating and justifying it How to make working with legacy code less painful and more productive How to be pragmatic—not dogmatic—about your practices and tools How to lead software craftsmen and attract them to your organization What to avoid when advertising positions, interviewing candidates, and hiring developers How developers and their managers can create a true culture of learning How to drive true technical change and overcome deep patterns of skepticism Sandro Mancuso has coded for startups, software houses, product companies, international consultancies, and investment banks. In October 2013, he cofounded Codurance, a consultancy based on Software Craftsmanship principles and values. His involvement with Software Craftsmanship began in 2010, when he founded the London Software Craftsmanship Community (LSCC), now the world’s largest and most active Software Craftsmanship community, with more than two thousand craftsmen. For the past four years, he has inspired and helped developers to organize Software Craftsmanship communities throughout Europe, the United States, and the rest of the world.

Software Craftsmanship

The New Imperative

DOWNLOAD NOW »

Author: Pete McBreen

Publisher: Addison-Wesley Professional

ISBN: 9780201733860

Category: Computers

Page: 187

View: 4196

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

How to Reduce the Cost of Software Testing

DOWNLOAD NOW »

Author: Matthew Heusser,Govind Kulkarni

Publisher: CRC Press

ISBN: 1351689088

Category: Business & Economics

Page: 340

View: 5537

Plenty of software testing books tell you how to test well; this one tells you how to do it while decreasing your testing budget. A series of essays written by some of the leading minds in software testing, How to Reduce the Cost of Software Testing provides tips, tactics, and techniques to help readers accelerate the testing process, improve the performance of the test teams, and lower costs. The distinguished team of contributors—that includes corporate test leaders, best paper authors, and keynote speakers from leading software testing conferences—supply concrete suggestions on how to find cost savings without sacrificing outcome. Detailing strategies that testers can immediately put to use to reduce costs, the book explains how to make testing nimble, how to remove bottlenecks in the testing process, and how to locate and track defects efficiently and effectively. Written in language accessible to non-technical executives, as well as those doing the testing, the book considers the latest advances in test automation, ideology, and technology. Rather than present the perspective of one or two experts in software testing, it supplies the wide-ranging perspectives of a team of experts to help ensure your team can deliver a completed test cycle in less time, with more confidence, and reduced costs.

Apprenticeship Patterns

Guidance for the Aspiring Software Craftsman

DOWNLOAD NOW »

Author: Dave Hoover,Adewale Oshineye

Publisher: "O'Reilly Media, Inc."

ISBN: 9781449379407

Category: Computers

Page: 168

View: 1495

Are you doing all you can to further your career as a software developer? With today's rapidly changing and ever-expanding technologies, being successful requires more than technical expertise. To grow professionally, you also need soft skills and effective learning techniques. Honing those skills is what this book is all about. Authors Dave Hoover and Adewale Oshineye have cataloged dozens of behavior patterns to help you perfect essential aspects of your craft. Compiled from years of research, many interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations that programmers, administrators, and DBAs face every day. And it's not just about financial success. Apprenticeship Patterns also approaches software development as a means to personal fulfillment. Discover how this book can help you make the best of both your life and your career. Solutions to some common obstacles that this book explores in-depth include: Burned out at work? "Nurture Your Passion" by finding a pet project to rediscover the joy of problem solving. Feeling overwhelmed by new information? Re-explore familiar territory by building something you've built before, then use "Retreat into Competence" to move forward again. Stuck in your learning? Seek a team of experienced and talented developers with whom you can "Be the Worst" for a while. "Brilliant stuff! Reading this book was like being in a time machine that pulled me back to those key learning moments in my career as a professional software developer and, instead of having to learn best practices the hard way, I had a guru sitting on my shoulder guiding me every step towards master craftsmanship. I'll certainly be recommending this book to clients. I wish I had this book 14 years ago!"-Russ Miles, CEO, OpenCredo

Testing with F#

DOWNLOAD NOW »

Author: Mikael Lundin

Publisher: Packt Publishing Ltd

ISBN: 1784394416

Category: Computers

Page: 286

View: 8228

If you are a developer who wants to test applications using F#, this is the book for you. Basic experience of testing and intermediate experience of functional programming in F# is expected.

Clean Code

A Handbook of Agile Software Craftsmanship

DOWNLOAD NOW »

Author: Robert C. Martin

Publisher: Pearson Education

ISBN: 0136083250

Category: Computers

Page: 464

View: 7257

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer–but only if you work at it. What kind of work will you be doing? You’ll be reading code–lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code–of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

Pro Drupal as an Enterprise Development Platform

DOWNLOAD NOW »

Author: Jamie Kurtz,Thomas Besluau

Publisher: Apress

ISBN: 143026005X

Category: Computers

Page: 276

View: 3774

In Pro Drupal as an Enterprise Development Platform authors Jamie Kurtz and Thomas Besluau explain how developers can save themselves time and money, and build their applications faster with fewer bugs by using the Drupal CMS as a foundation for their projects. The days when custom client applications were built entirely from scratch are over. Today, it makes business sense to use a flexible, highly scalable framework such as Drupal, Joomla or DotNetNuke as a foundation. This book focuses on why Drupal makes a particularly strong choice for the majority of developers. With an unprecedented level of community support, tens of thousands of well-proven plug-ins and modules available for download, and advanced content management rules and configuration engines Drupal is flexible enough to provide a firm base upon which almost all enterprise application developers can build their own custom solutions. As this book will make clear, it is no longer necessary for developers to write complex applications entirely from scratch for each of their clients. Instead,they should begin by using an enterprise-class CMS like Drupal to provide a robust foundation for them so that they can concentrate their time and skills into solving the business-specific problems of each individual client maximizing the value that they add to each assignment.

Collaboration Patterns: A Pattern Language for Creative Collaborations

DOWNLOAD NOW »

Author: Takashi Iba

Publisher: Lulu.com

ISBN: 1312447168

Category: Education

Page: 120

View: 688

A Creative Collaboration creates new values that can change the world. In a Creative Collaboration, an emergent vigor is produced where team members motivate each other and grow together. This new vigor cannot be attributed to any one team member but to the team as a whole. How can such a Creative Collaboration be achieved? The secrets are scribed in this book. Collaboration Patterns presents 34 distinct patterns that show tips, methods, and views for a successful collaboration. The Collaboration Patterns are written as a pattern language that summarizes the design knowledge that develops from a person's experience into the form of a pattern. It pairs a problem that occurs in a certain context of a design with its solution and gives it a name. Along with discovering ways to practice effective teamwork, we hope you can also imagine the possibilities pattern languages offer.

Presentation Patterns: A Pattern Language for Creative Presentations

DOWNLOAD NOW »

Author: Takashi Iba

Publisher: Lulu.com

ISBN: 1312459182

Category: Education

Page: 124

View: 7490

A Creative Presentation uses the knowledge and experience of the audience to inspire the realization of something new. Such a presentation can encourage the audience to realize and take action towards the future. However, as a presentation has limited words, how is such innovation possible? The secrets are scribed in this book. Presentation Patterns presents 34 distinct patterns that show tips, methods, and views for a Creative Presentation. The Presentation Patterns are written as a pattern language that summarizes the design knowledge that develops from a person's experience into the form of a pattern. It pairs a problem that occurs in a certain context of a design with its solution and gives it a name. Along with discovering methods to give an effective presentation, we hope you can also imagine the possibilities that pattern languages offer.

Managing the Unmanageable

Rules, Tools, and Insights for Managing Software People and Teams

DOWNLOAD NOW »

Author: Mickey W. Mantle,Ron Lichty

Publisher: Addison-Wesley

ISBN: 0132981254

Category: Computers

Page: 464

View: 4259

“Mantle and Lichty have assembled a guide that will help you hire, motivate, and mentor a software development team that functions at the highest level. Their rules of thumb and coaching advice are great blueprints for new and experienced software engineering managers alike.” —Tom Conrad, CTO, Pandora “I wish I’d had this material available years ago. I see lots and lots of ‘meat’ in here that I’ll use over and over again as I try to become a better manager. The writing style is right on, and I love the personal anecdotes.” —Steve Johnson, VP, Custom Solutions, DigitalFish All too often, software development is deemed unmanageable. The news is filled with stories of projects that have run catastrophically over schedule and budget. Although adding some formal discipline to the development process has improved the situation, it has by no means solved the problem. How can it be, with so much time and money spent to get software development under control, that it remains so unmanageable? In Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams , Mickey W. Mantle and Ron Lichty answer that persistent question with a simple observation: You first must make programmers and software teams manageable. That is, you need to begin by understanding your people—how to hire them, motivate them, and lead them to develop and deliver great products. Drawing on their combined seventy years of software development and management experience, and highlighting the insights and wisdom of other successful managers, Mantle and Lichty provide the guidance you need to manage people and teams in order to deliver software successfully. Whether you are new to software management, or have already been working in that role, you will appreciate the real-world knowledge and practical tools packed into this guide.