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?
Victor R. Basili
Jo E. Hannay
Ahmed E. Hassan
Kim Sebastian Herzig
Thomas J. Ostrand
Elaine J. Weyuker
Michele A. Whitecraft
Wendy M. Williams
Making Software Teams Effective
by Chaehan So
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.
- 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
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.