Making Software

Making Software
Author: Andy Oram
Publisher: "O'Reilly Media, Inc."
Total Pages: 624
Release: 2010-10-14
Genre: Computers
ISBN: 144939776X

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

Inventing Software

Inventing Software
Author: Kenneth Nichols
Publisher: Bloomsbury Publishing USA
Total Pages: 182
Release: 1998-04-16
Genre: Computers
ISBN: 0313370478

Since the introduction of personal computers, software has emerged as a driving force in the global economy and a major industry in its own right. During this time, the U.S. government has reversed its prior policy against software patents and is now issuing thousands of such patents each year, provoking heated controversy among programmers, lawyers, scholars, and software companies. This book is the first to step outside of the highly-polarized debate and examine the current state of the law, its suitability to the realities of software development, and its implications for day-to-day software development. Written by a former lawyer and working software developer, Inventing Software provides a comprehensive overview of software patents, from the lofty perspectives of legal history and computing theory to the technical details and issues of actual patents. People interested in the legal aspect of software patents will find detailed technical analysis of actual patented software, the legal strategies behind the wording of the patents, and an analysis of the ease or difficulty of detecting infringements. Software developers will find ways to integrate patent planning into their standard software engineering practices, and a practical guide for studying and appraising their competitors' patents and safeguarding the value of their own. Intended primarily for programmers and software industry executives and managers, Inventing Software will also be useful, illuminating reading for attorneys and software company investors.

Making the Software Business Case

Making the Software Business Case
Author: Donald J. Reifer
Publisher: Pearson Education
Total Pages: 378
Release: 2001-09-05
Genre: Computers
ISBN: 0768685087

"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.

Invent Your Own Computer Games with Python, 4th Edition

Invent Your Own Computer Games with Python, 4th Edition
Author: Al Sweigart
Publisher: No Starch Press
Total Pages: 377
Release: 2016-12-16
Genre: Computers
ISBN: 1593277954

Invent Your Own Computer Games with Python will teach you how to make computer games using the popular Python programming language—even if you’ve never programmed before! Begin by building classic games like Hangman, Guess the Number, and Tic-Tac-Toe, and then work your way up to more advanced games, like a text-based treasure hunting game and an animated collision-dodging game with sound effects. Along the way, you’ll learn key programming and math concepts that will help you take your game programming to the next level. Learn how to: –Combine loops, variables, and flow control statements into real working programs –Choose the right data structures for the job, such as lists, dictionaries, and tuples –Add graphics and animation to your games with the pygame module –Handle keyboard and mouse input –Program simple artificial intelligence so you can play against the computer –Use cryptography to convert text messages into secret code –Debug your programs and find common errors As you work through each game, you’ll build a solid foundation in Python and an understanding of computer science fundamentals. What new game will you create with the power of Python? The projects in this book are compatible with Python 3.

The Genie in the Machine

The Genie in the Machine
Author: Robert Plotkin
Publisher: Stanford University Press
Total Pages: 281
Release: 2009
Genre: Law
ISBN: 0804756996

The Genie in the Machine examines how computers are being used to automate the process of inventing, and explains the steps that high-tech companies, patent lawyers, inventors, and consumers should take to thrive in the upcoming Artificial Invention Age.

Beyond Software Architecture

Beyond Software Architecture
Author: Luke Hohmann
Publisher: Addison-Wesley Professional
Total Pages: 314
Release: 2003-01
Genre: Computers
ISBN: 9780201775945

This text aims to help all members of the development team make the correct nuts-and-bolts architecture decisions that ensure project success.

Starting a Tech Business

Starting a Tech Business
Author: Alex Cowan
Publisher: John Wiley & Sons
Total Pages: 292
Release: 2012-04-10
Genre: Business & Economics
ISBN: 1118205553

The non-technical guide to building a booming tech-enabled business Thinking of starting a technology-enabled business? Or maybe you just want to increase your technology mojo so you can do your job better? You do not need to learn programming to participate in the development of today’s hottest technologies. But there are a few easy-to-grasp foundation concepts that will help you engage with a technical team. Starting a Tech Business explains in practical, actionable terms how to formulate and reality test new ideas package what you learn into frameworks that are highly actionable for engineers understand key foundation concepts about modern software and systems participate in an agile/lean development team as the ‘voice of the customer’ Even if you have a desire to learn to program (and I highly recommend doing whatever unlocks your ‘inner tinkerer’), these foundation concepts will help you target what exactly you want to understand about hands-on technology development. While a decade ago the barriers to creating a technology-enabled business required a pole vault, getting started today only requires a determined step in the right direction. Starting a Tech Business supplies the tools prospective entrepreneurs and business enterprises need to avoid common pitfalls and succeed in the fast-paced world of high-tech business. Successful execution requires thoughtful, evidence-based product formulation, well-articulated design, economic use of systems, adaptive management of technical resources, and empathetic deployment to customers. Starting a Tech Business offers practical checklists and frameworks that business owners, entrepreneurs, and professionals can apply to any tech-based business idea, whether you’re developing software and products or beginning a technology-enabled business. You’ll learn: 1. How to apply today’s leading management frameworks to a tech business 2. How to package your product idea in a way that’s highly actionable for your technical team 3. How to ask the right questions about technology selection and product architecture 4. Strategies to leverage what your technology ecosystem has to offer 5. How to carefully define the roles on your team, and then effectively evaluate candidates 6. The most common disconnects between engineers and business people and how to avoid them 7. How you can apply process design to your tech business without stifling creativity 8. The steps to avoid the most common pitfalls tech founders encounter Now is one of the best times to start a technology-enabled business, and anyone can do it with the right amount and kind of preparation. Starting a Tech Business shows you how to move a product idea to market quickly and inexpensively—and to tap into the stream of wealth that a tech business can provide.

Code Complete

Code Complete
Author: Steve McConnell
Publisher: Pearson Education
Total Pages: 952
Release: 2004-06-09
Genre: Computers
ISBN: 0735636974

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

Making and Unmaking Intellectual Property

Making and Unmaking Intellectual Property
Author: Mario Biagioli
Publisher: University of Chicago Press
Total Pages: 476
Release: 2015-07-31
Genre: Law
ISBN: 022617249X

Rules regulating access to knowledge are no longer the exclusive province of lawyers and policymakers and instead command the attention of anthropologists, economists, literary theorists, political scientists, artists, historians, and cultural critics. This burgeoning interdisciplinary interest in “intellectual property” has also expanded beyond the conventional categories of patent, copyright, and trademark to encompass a diverse array of topics ranging from traditional knowledge to international trade. Though recognition of the central role played by “knowledge economies” has increased, there is a special urgency associated with present-day inquiries into where rights to information come from, how they are justified, and the ways in which they are deployed. Making and Unmaking Intellectual Property, edited by Mario Biagioli, Peter Jaszi, and Martha Woodmansee, presents a range of diverse—and even conflicting—contemporary perspectives on intellectual property rights and the contested sources of authority associated with them. Examining fundamental concepts and challenging conventional narratives—including those centered around authorship, invention, and the public domain—this book provides a rich introduction to an important intersection of law, culture, and material production.