The mythical man-month

essays on software engineering

Author: Frederick Phillips Brooks

Publisher: Addison-Wesley Longman

ISBN: N.A

Category: Computers

Page: 195

View: 5208

The tar pit. The mythical man-month. The surgical team; Aristocracy, democracy, and system design. The second-system effect. Passing the word. Why did the tower of babel fail? Calling the shot. Ten pounds in a five-pound sack. The documentary hypothesis. Plan to throw one away. Sharp tools. The whole and parts. Hatching a catastrophe. The other face.
Release

The Mythical Man-month

Essays on Software Engineering

Author: Frederick Phillips Brooks

Publisher: Addison-Wesley Professional

ISBN: N.A

Category: Computers

Page: 322

View: 1407

No book on software project management has been as influential and timeless as The Mythical Man-Month. Blending software engineering facts with thought-provoking personal opinions, author Fred Brooks offers insight into managing the development of complex computer systems. In this twentieth anniversary edition, the original text is accompanied by Fred Brooks' current advice and thoughts based on the newest developments in the computer industry. In four added chapters, including his 1986 article, No Silver Bullet, Brooks asks whether there is yet a silver bullet for software productivity and gives his latest opinions on the mythical man-month.
Release

The Design of Design

Essays from a Computer Scientist

Author: Frederick P. Brooks Jr.

Publisher: Pearson Education

ISBN: 0321702069

Category: Computers

Page: 448

View: 2322

Making Sense of Design Effective design is at the heart of everything from software development to engineering to architecture. But what do we really know about the design process? What leads to effective, elegant designs? The Design of Design addresses these questions. These new essays by Fred Brooks contain extraordinary insights for designers in every discipline. Brooks pinpoints constants inherent in all design projects and uncovers processes and patterns likely to lead to excellence. Drawing on conversations with dozens of exceptional designers, as well as his own experiences in several design domains, Brooks observes that bold design decisions lead to better outcomes. The author tracks the evolution of the design process, treats collaborative and distributed design, and illuminates what makes a truly great designer. He examines the nuts and bolts of design processes, including budget constraints of many kinds, aesthetics, design empiricism, and tools, and grounds this discussion in his own real-world examples—case studies ranging from home construction to IBM’s Operating System/360. Throughout, Brooks reveals keys to success that every designer, design project manager, and design researcher should know.
Release

Code Complete

Author: Steve McConnell

Publisher: Pearson Education

ISBN: 0735636974

Category: Computers

Page: 960

View: 2902

Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Release

Making Software

What Really Works, and Why We Believe It

Author: Andy Oram,Greg Wilson

Publisher: "O'Reilly Media, Inc."

ISBN: 144939776X

Category: Computers

Page: 624

View: 8385

Many claims are made about how certain tools, technologies, and practices improve software development. But which claims are verifiable, and which are merely wishful thinking? In this book, leading thinkers such as Steve McConnell, Barry Boehm, and Barbara Kitchenham offer essays that uncover the truth and unmask myths commonly held among the software development community. Their insights may surprise you. Are some programmers really ten times more productive than others? Does writing tests first help you develop better code faster? Can code metrics predict the number of bugs in a piece of software? Do design patterns actually make better software? What effect does personality have on pair programming? What matters more: how far apart people are geographically, or how far apart they are in the org chart? Contributors include: Jorge Aranda Tom Ball Victor R. Basili Andrew Begel Christian Bird Barry Boehm Marcelo Cataldo Steven Clarke Jason Cohen Robert DeLine Madeline Diep Hakan Erdogmus Michael Godfrey Mark Guzdial Jo E. Hannay Ahmed E. Hassan Israel Herraiz Kim Sebastian Herzig Cory Kapser Barbara Kitchenham Andrew Ko Lucas Layman Steve McConnell Tim Menzies Gail Murphy Nachi Nagappan Thomas J. Ostrand Dewayne Perry Marian Petre Lutz Prechelt Rahul Premraj Forrest Shull Beth Simon Diomidis Spinellis Neil Thomas Walter Tichy Burak Turhan Elaine J. Weyuker Michele A. Whitecraft Laurie Williams Wendy M. Williams Andreas Zeller Thomas Zimmermann
Release

Facts and Fallacies of Software Engineering

Author: Robert L. Glass

Publisher: Addison-Wesley Professional

ISBN: 9780321117427

Category: Computers

Page: 195

View: 880

Regarding the controversial and thought-provoking assessments in this handbook, many software professionals might disagree with the authors, but all will embrace the debate. Glass identifies many of the key problems hampering success in this field. Each fact is supported by insightful discussion and detailed references.
Release

Herding Cats

A Primer for Programmers Who Lead Programmers

Author: Hank Rainwater

Publisher: Apress

ISBN: 1430208309

Category: Computers

Page: 252

View: 1694

This self-help guide is for programmers who need to improve their management and leadership skills.
Release

A Concise Introduction to Software Engineering

Author: Pankaj Jalote

Publisher: Springer Science & Business Media

ISBN: 1848003021

Category: Computers

Page: 288

View: 3310

An introductory course on Software Engineering remains one of the hardest subjects to teach largely because of the wide range of topics the area enc- passes. I have believed for some time that we often tend to teach too many concepts and topics in an introductory course resulting in shallow knowledge and little insight on application of these concepts. And Software Engineering is ?nally about application of concepts to e?ciently engineer good software solutions. Goals I believe that an introductory course on Software Engineering should focus on imparting to students the knowledge and skills that are needed to successfully execute a commercial project of a few person-months e?ort while employing proper practices and techniques. It is worth pointing out that a vast majority of the projects executed in the industry today fall in this scope—executed by a small team over a few months. I also believe that by carefully selecting the concepts and topics, we can, in the course of a semester, achieve this. This is the motivation of this book. The goal of this book is to introduce to the students a limited number of concepts and practices which will achieve the following two objectives: – Teach the student the skills needed to execute a smallish commercial project.
Release

Applied Software Project Management

Author: Andrew Stellman,Jennifer Greene

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596553821

Category: Computers

Page: 324

View: 4542

"If you're looking for solid, easy-to-follow advice on estimation, requirements gathering, managing change, and more, you can stop now: this is the book for you."--Scott Berkun, Author of The Art of Project Management What makes software projects succeed? It takes more than a good idea and a team of talented programmers. A project manager needs to know how to guide the team through the entire software project. There are common pitfalls that plague all software projects and rookie mistakes that are made repeatedly--sometimes by the same people! Avoiding these pitfalls is not hard, but it is not necessarily intuitive. Luckily, there are tried and true techniques that can help any project manager. In Applied Software Project Management, Andrew Stellman and Jennifer Greene provide you with tools, techniques, and practices that you can use on your own projects right away. This book supplies you with the information you need to diagnose your team's situation and presents practical advice to help you achieve your goal of building better software. Topics include: Planning a software project Helping a team estimate its workload Building a schedule Gathering software requirements and creating use cases Improving programming with refactoring, unit testing, and version control Managing an outsourced project Testing software Jennifer Greene and Andrew Stellman have been building software together since 1998. Andrew comes from a programming background and has managed teams of requirements analysts, designers, and developers. Jennifer has a testing background and has managed teams of architects, developers, and testers. She has led multiple large-scale outsourced projects. Between the two of them, they have managed every aspect of software development. They have worked in a wide range of industries, including finance, telecommunications, media, nonprofit, entertainment, natural-language processing, science, and academia. For more information about them and this book, visit stellman-greene.com
Release

Managing Humans

Biting and Humorous Tales of a Software Engineering Manager

Author: Michael Lopp

Publisher: Apress

ISBN: 1484221583

Category: Business & Economics

Page: 331

View: 3432

Read hilarious stories with serious lessons that Michael Lopp extracts from his varied and sometimes bizarre experiences as a manager at Apple, Pinterest, Palantir, Netscape, Symantec, Slack, and Borland. Many of the stories first appeared in primitive form in Lopp’s perennially popular blog, Rands in Repose. The Third Edition of Managing Humans contains a whole new season of episodes from the ongoing saga of Lopp's adventures in Silicon Valley, together with classic episodes remastered for high fidelity and freshness. Whether you're an aspiring manager, a current manager, or just wondering what the heck a manager does all day, there is a story in this book that will speak to you—and help you survive and prosper amid the general craziness of dysfunctional bright people caught up in the chase of riches and power. Scattered in repose among these manic misfits are managers, an even stranger breed of people who, through a mystical organizational ritual, have been given power over the futures and the bank accounts of many others. Lopp's straight-from-the-hip style is unlike that of any other writer on management and leadership. He pulls no punches and tells stories he probably shouldn't. But they are magically instructive and yield Lopp’s trenchant insights on leadership that cut to the heart of the matter—whether it's dealing with your boss, handling a slacker, hiring top guns, or seeing a knotty project through to completion. Writing code is easy. Managing humans is not. You need a book to help you do it, and this is it. What You'll Learn Lead engineers Handle conflict Hire well Motivate employees Manage your boss Discover how to say no Understand different engineering personalities Build effective teams Run a meeting well Scale teams “/div>divWho This Book Is Fordiv Managers and would-be managers staring at the role of a manager wondering why they would ever leave the safe world of bits and bytes for the messy world of managing humans. The book covers handling conflict, managing wildly differing personality types, infusing innovation into insane product schedules, and figuring out how to build a lasting and useful engineering culture.
Release

Peopleware

Productive Projects and Teams

Author: Tom DeMarco,Timothy R. Lister

Publisher: Pearson Education

ISBN: 0321934113

Category: Business & Economics

Page: 249

View: 9246

Most software project problems are sociological, not technological. Peopleware is a book on managing software projects.
Release

Dynamics of Software Development

Author: Jim McCarthy,Michele McCarthy

Publisher: N.A

ISBN: 9780735623194

Category: Computers

Page: 199

View: 9472

Provides a variety of ideas, techniques, and strategies for effective software development.
Release

More Joel on Software

Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity

Author: Avram Joel Spolsky

Publisher: Apress

ISBN: 1430209887

Category: Computers

Page: 320

View: 4494

Joel, Apress, Blogs, and Blooks ...I was learning the hard way about how to be a publisher and probably spending way too much time looking at web sites and programming than I should have in response to that. Anyway, one day I came across this web site called , which was run by a guy with strong opinions and an unusual, clever writing style, along with a willingness to take on the conventional wisdom. In particular, he was writing this ongoing series about how bad most user interfaces were—mostly because programmers by and large knew, as Joel and I would say, using the same Yiddish–derived NYC vernacular that we both share, “bupkis” about what users really want. And I, like many, was hooked both by the series and the occasional random essay that Joel wrote. And then I had this epiphany: I'm a publisher, I like reading his stuff, why not turn it into a book?... Read the complete Foreword — Gary Cornell, Cofounder, Apress Since the release of the bestselling title Joel on Software in 2004, requests for a sequel have been relentless. So, we went back to the famed JoelonSoftware.com archives and pulled out a new batch of favorites, many of which have been downloaded over one million times. With Joel's newest book, More Joel on Software, you'll get an even better (not to mention updated) feast of Joel's opinions and impressions on software development, software design, running a software business, and so much more. This is a new selection of essays from the author's web site, http://www.joelonsoftware.com. Joel Spolsky started his weblog in March 2000 in order to offer his insights, based on years of experience, on how to improve the world of programming. This weblog has become infamous among the programming world, and is linked to more than 600 other web sites and translated into 30+ languages! Spolsky's extraordinary writing skills, technical knowledge, and caustic wit have made him a programming guru. With the success of Joel on Software, there has been a strong demand for additional gems and advice, and this book is the answer to those requests. Containing a collection of all–new articles from the original, More Joel on Software has even more of an edge than the original, and the tips for running a business or managing people have far broader application than the software industry. We feel it is safe to say that this is the most useful book you will buy this year.
Release

The Pragmatic Programmer

From Journeyman to Master

Author: Andrew Hunt,David Thomas

Publisher: Addison-Wesley Professional

ISBN: 013211917X

Category: Computers

Page: 352

View: 7654

What others in the trenches say about The Pragmatic Programmer... “The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.” —Kent Beck, author of Extreme Programming Explained: Embrace Change “I found this book to be a great mix of solid advice and wonderful analogies!” —Martin Fowler, author of Refactoring and UML Distilled “I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.” —Kevin Ruland, Management Science, MSG-Logistics “The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.” —John Lakos, author of Large-Scale C++ Software Design “This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.” —Eric Vought, Software Engineer “Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.” —Pete McBreen, Independent Consultant “Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.” —Jared Richardson, Senior Software Developer, iRenaissance, Inc. “I would like to see this issued to every new employee at my company....” —Chris Cleeland, Senior Software Engineer, Object Computing, Inc. “If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.” —Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to Fight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
Release

Creating a Software Engineering Culture

Author: Karl Wiegers

Publisher: Addison-Wesley

ISBN: 0133489299

Category: Computers

Page: 384

View: 1253

This is the digital version of the printed book (Copyright © 1996). Written in a remarkably clear style, Creating a Software Engineering Culture presents a comprehensive approach to improving the quality and effectiveness of the software development process. In twenty chapters spread over six parts, Wiegers promotes the tactical changes required to support process improvement and high-quality software development. Throughout the text, Wiegers identifies scores of culture builders and culture killers, and he offers a wealth of references to resources for the software engineer, including seminars, conferences, publications, videos, and on-line information. With case studies on process improvement and software metrics programs and an entire part on action planning (called “What to Do on Monday”), this practical book guides the reader in applying the concepts to real life. Topics include software culture concepts, team behaviors, the five dimensions of a software project, recognizing achievements, optimizing customer involvement, the project champion model, tools for sharing the vision, requirements traceability matrices, the capability maturity model, action planning, testing, inspections, metrics-based project estimation, the cost of quality, and much more! Principles from Part 1 Never let your boss or your customer talk you into doing a bad job. People need to feel the work they do is appreciated. Ongoing education is every team member’s responsibility. Customer involvement is the most critical factor in software quality. Your greatest challenge is sharing the vision of the final product with the customer. Continual improvement of your software development process is both possible and essential. Written software development procedures can help build a shared culture of best practices. Quality is the top priority; long-term productivity is a natural consequence of high quality. Strive to have a peer, rather than a customer, find a defect. A key to software quality is to iterate many times on all development steps except coding: Do this once. Managing bug reports and change requests is essential to controlling quality and maintenance. If you measure what you do, you can learn to do it better. You can’t change everything at once. Identify those changes that will yield the greatest benefits, and begin to implement them next Monday. Do what makes sense; don’t resort to dogma.
Release

Managing the Unmanageable

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

Author: Mickey W. Mantle,Ron Lichty

Publisher: Addison-Wesley

ISBN: 0132981254

Category: Computers

Page: 464

View: 7016

“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.
Release

Rapid Development

Author: Steve McConnell

Publisher: Microsoft Press

ISBN: 0735646368

Category: Computers

Page: 680

View: 2852

Corporate and commercial software-development teams all want solutions for one important problem—how to get their high-pressure development schedules under control. In RAPID DEVELOPMENT, author Steve McConnell addresses that concern head-on with overall strategies, specific best practices, and valuable tips that help shrink and control development schedules and keep projects moving. Inside, you’ll find: A rapid-development strategy that can be applied to any project and the best practices to make that strategy work Candid discussions of great and not-so-great rapid-development practices—estimation, prototyping, forced overtime, motivation, teamwork, rapid-development languages, risk management, and many others A list of classic mistakes to avoid for rapid-development projects, including creeping requirements, shortchanged quality, and silver-bullet syndrome Case studies that vividly illustrate what can go wrong, what can go right, and how to tell which direction your project is going RAPID DEVELOPMENT is the real-world guide to more efficient applications development.
Release

Managing Software for Growth

Without Fear, Control, and the Manufacturing Mindset

Author: Roy W. Miller

Publisher: Addison-Wesley Professional

ISBN: 9780321117434

Category: Computers

Page: 174

View: 3302

Helping managers to combat the manufacturing mindset that dominates business thinking, this text explains why most software projects cost too much, take too long and fail to deliver as promised. It shows what to do about this - aiming to bring predictability to software development.
Release

Essentials of Software Engineering

Author: Frank Tsui,Orlando Karam,Barbara Bernal

Publisher: Jones & Bartlett Learning

ISBN: 1284106004

Category: Computers

Page: 334

View: 6158

Written for the undergraduate, one-term course, Essentials of Software Engineering, Fourth Edition provides students with a systematic engineering approach to software engineering principles and methodologies. Comprehensive, yet concise, the Fourth Edition includes new information on areas of high interest to computer scientists, including Big Data and developing in the cloud.
Release