Making Software

Making Software
by Andy Oram, Greg Wilson

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


Making Software Teams Effective
by Chaehan So

How does good teamwork emerge?
Can we control mechanisms of teamwork?
The author has analyzed these questions in a study involving 227 participants of 55 software development teams. First, he empirically confirmed his teamwork model based on innovation research, goal setting and control theory. Second, he measured the impact of a wide selection of agile practices on these teamwork mechanisms. Third, he explained these impacts based on a thorough review of current psychological research.
This book is intended for people working in agile contexts as they will gain insight into the complexity of how «good teamwork» emerges. This insight on team dynamics may also prove valuable for upper management for calibrating agile practices and «soft factors», thus increasing the effectiveness of software teams.

Making the Software Business Case
by Donald J. Reifer

“Just the understanding and insights you will pick up about how people encounter and cope with combinations of technical, social, political, and economic opportunities and challenges make the book a joy to read and worth much more than the price of it alone.”
–Barry Boehm, from the Foreword

This practical handbook shows you how to build an effective business case when you need to justify–and persuade management to accept–software change or improvement. Based on real-world scenarios, the book covers the most common situations in which business case analyses are required and explains specific techniques that have proved successful in practice. Drawing on years of experience in winning the “battle of the budget,” the author shows you how to use commonly accepted engineering economic arguments to make your numbers “sing” to management.

The book provides examples of successful business cases; along the way, tables, tools, facts, figures, and metrics guide you through the entire analytic process. Writing in a concise and witty style, the author makes this valuable guidance accessible to every software engineer, manager, and IT professional.

Highlights include:

  • How and where business case analyses fit into the software and IT life cycle process
  • Explanations of the most common tools for business case analysis, such as present-value, return-on-investment, break-even, and cost/benefit calculation
  • Tying the business process to the software development life cycle
  • Packaging the business case for management consumption
  • Frameworks and guidelines for justifying IT productivity, quality, and delivery cycle improvement strategies
  • Case studies for applying appropriate decision situations to software process improvement
  • Strategic guidelines for various business case analyses

With this book in hand, you will find the facts, examples, hard data, and case studies needed for preparing your own winning business cases in today’s complex software environment.


Making it Big in Software
by Sam Lightstone

The Software Insider’s Guide to Getting Hired and Getting to the Top!

Here’s all the information you need to jumpstart your software career: the best ways to get hired, move up, and blaze your way to the top! The software business has radically changed, and this book reveals today’s realities–everything your professors and corporate managers never told you. In his 20 years at IBM as a software architect, senior manager, and lead programmer, Sam Lightstone has briefed dozens of leading companies and universities on careers, new technology, and emerging areas of research. He currently works on one of the world’s largest software development teams and spends a good part of his time recruiting and mentoring software engineers. This book shares all the lessons for success Sam has learned…plus powerful insights from 17 of the industry’s biggest stars. Want to make it big in software? Start right here!

Discover how to

• Get your next job in software development

• Master the nontechnical skills crucial to your success

• “Work the org” to move up rapidly

• Successfully manage your time, projects, and life

• Avoid “killer” mistakes that could destroy your career

• Move up to “medium-shot,” “big-shot,” and finally, “visionary”

• Launch your own winning software company

Exclusive interviews with

Steve Wozniak, Inventor, Apple computer

John Schwarz, CEO, Business Objects

James Gosling, Inventor, Java programming language

Marissa Mayer, Google VP, Search Products and User Experience

Jon Bentley, Author, Programming Pearls

Marc Benioff, CEO and founder, Salesforce.com

Grady Booch, IBM Fellow and co-founder Rational Software

Bjarne Stroustrup, Inventor, C++ programming language

David Vaskevitch, Microsoft CTO

Linus Torvalds, Creator, Linux operating system kernel

Richard Stallman, Founder, Free software movement

Peter Norvig, Google’s Director of Research

Mark Russinovich, Microsoft Fellow and Windows Architect

Tom Malloy, Adobe Chief Software Architect

Diane Greene, Co-founder and past CEO of VMware

Robert Kahn, Co-inventor, the Internet

Ray Tomlinson, Inventor, email


Making Software Measurement Work
by William C. Hetzel

A practical text for software practitioners and managers or, alternatively, for industrial and college courses in software measurement and metrics. Hetzel explains what to measure, how to measure it, and why. He also explains why good management and good engineering are inseparable from good measurement. Discussion questions and suggested exercises are included at the end of each chapter. Inaugurates a new QED series on the increasingly critical areas of how to evaluate and measure modern software systems. Annotation copyright by Book News, Inc., Portland, OR

The Making of Information Systems
by Karl E. Kurbel

Information systems (IS) are the backbone of any organization today, supporting all major business processes.

This book deals with the question: how do these systems come into existence? It gives a comprehensive coverage of managerial, methodological and technological aspects including:

  • Management decisions before and during IS development, acquisition and implementation
  • Project management
  • Requirements engineering and design using UML
  • Implementation, testing and customization
  • Software architecture and platforms
  • Tool support (CASE tools, IDEs, collaboration tools)

The book takes into account that for most organizations today, inhouse development is only one of several options to obtain an IS. A good deal of IS development has moved to software vendors – be it domestic, offshore or multinational software firms. Since an increasing share of this work is done in Asia, Eastern Europe, Latin America and Africa, the making of information systems is discussed within a global context.


Making Embedded Systems
by Elecia White

Interested in developing embedded systems? Since they don’t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements.

Written by an expert who’s created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.

  • Optimize your system to reduce cost and increase performance
  • Develop an architecture that makes your software robust in resource-constrained environments
  • Explore sensors, motors, and other I/O devices
  • Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption
  • Learn how to update embedded code directly in the processor
  • Discover how to implement complex mathematics on small processors
  • Understand what interviewers look for when you apply for an embedded systems job

Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. It’s very well written—entertaining, even—and filled with clear illustrations.”
—Jack Ganssle, author and embedded system expert.


Making Globally Distributed Software Development a Success Story
by Qing Wang, Dietmar Pfahl, David Raffo

This volume contains papers presented at the International Conference on Software Process (ICSP 2008) held in Leipzig, Germany, during May 10-11, 2008. ICSP 2008 was the second conference of the ICSP series. The theme of ICSP 2008 was “Making Globally Distributed Software Development a Success Story. ” Software developers work in a dynamic context of frequently changing technologies and with limited resources. Globally distributed development teams are under ev- increasing pressure to deliver their products more quickly and with higher levels of qu- ity. At the same time, global competition is forcing software development organizations to cut costs by rationalizing processes, outsourcing part of or all development activities, reusing existing software in new or modified applications, and evolving existing systems to meet new needs, while still minimizing the risk of projects failing to deliver. To address these difficulties, new and modified processes are emerging, including agile methods and plan-based product line development. Open Source, COTS, and com- nity-developed software are becoming more and more popular. Outsourcing coupled with 24/7 development demands well-defined processes to support the coordination of organizationally—and geographically—separated teams. The accepted papers present completed research or advanced work-in-progress in all areas of software and systems development process including: agile software pr- esses, CMMI, novel techniques for software process representation and analysis; process tools and metrics; and the simulation and modeling of software processes. Contributions reflecting real-world experience, or derived directly from industrial or open-source software development and evolution, were particularly welcome.


About apujb86