This book is a guide to software testing of mobile apps, web apps, and games. It covers all aspects of testing such as manual testing, test cases design, automation testing, exploratory testing and performance testing. The book discusses tips, techniques, and tools for the every day tester needed to accomplish their job. It also includes advice on how to be a better tester and test manager. the book is available on Amazon.
Books Guide: Software Process Improvement
Software Process Improvement
A new agile book with many exercises for facilitating retrospectives, supported with the “what” and “why” of retrospectives, the business value and benefits that they bring, and advice for introducing and improving retrospectives.
This is a book for agile coaches, scrum masters, project managers, product managers and facilitators who already have some experience with retrospectives.
If you want to learn more about the “why” and “how” of retrospective and are looking for exercises to spice up your retrospective then you can download the full book from leanpub or get it at Amazon.
With plenty of exercises for your retrospective toolbox, this book will help you to become more proficient in doing retrospectives, and to get more value out of them.
Many software projects fail unnecessarily because of unclear objectives, redundant and unproductive work, cost overruns, and a host of other avoidable process problems. In response, agile processes and lightweight tooling have begun to replace traditional engineering processes throughout the development lifecycle.
Using agile methods and the tools of Visual Studio 2010, development teams can deliver higher-value software faster, systematically eliminate waste, and increase transparency throughout the entire development lifecycle. Now, Microsoft Visual Studio product owner Sam Guckenheimer and leading Visual Studio implementation consultant Neno Loje show how to make the most of Microsoft’s new Visual Studio 2010 Application Lifecycle Management (ALM) tools in your environment.
Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments.
Many organizations use Capability Maturity Models® (CMMs®) to assess development and maintenance processes, implement improvements, and measure progress. Although consistent in purpose, these models differ in terminology and design--enough sometimes to cause conflict and confusion when used within the same organization.
DevOps is an emerging set of principles, methods and practices for communication, collaboration and integration between software development (application/software engineering) and IT operations (systems administration/infrastructure) professionals. It has developed in response to the emerging understanding of the interdependence and importance of both the development and operations disciplines in meeting an organization's goal of rapidly producing software products and services.
Pro Agile .NET Development with SCRUM guides you through a real-world ASP.NET project and shows how agile methodology is put into practice.
Software Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code.
Specification by Example is an emerging practice for creating software based on realistic examples, bridging the communication gap between business stakeholders and the dev teams building the software. In this book, author Gojko Adzic distills interviews with successful teams worldwide, sharing how they specify, develop, and deliver software, without defects, in short iterative delivery cycles.
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.
Poor quality continues to bedevil large-scale development projects, but few software leaders and practitioners know how to measure quality, select quality best practices, or cost-justify their usage. In The Economics of Software Quality, leading software quality experts Capers Jones and Olivier Bonsignour show how to systematically measure the economic impact of quality and how to use this information to deliver far more business value.
A practical field guide to the practice of scrum, an agile software project management methodology.
If you are a working programmer or a programming student, writing is a skill that you can't neglect. Writing is part of any software project, and good writing skills will make you more effective as a software developer.
Writing can enhance your career prospects, too. Sure you can write code to someone else's spec, but what if you got to write the spec? Or the proposal for the project? Writing skills could even help you land your dream job in the first place.
Agile Development and Business Goals describes a unique, state-of-the-art methodology that aligns the critical but often "silo-ed" software development process with core company goals. Eschewing long-winded "agile philosophy" in favor of a formally prioritized process, this book serves as a distilled learning guide for managing technical resources in a manner that directly boosts your bottom line.
Agile approaches are business practices with a proven track record for helping organizations achieve greater efficiency, higher-quality outputs and increased customer satisfaction. They enable organizations to avoid the trappings of extensive up-front planning and up-front budget commitments by encouraging staff to regularly produce high-value business outputs; and by basing ongoing financial and resource commitments on the delivered outcomes.
The Certified Function Point Specialist Examination Guide provides a complete and authoritative review of the rules and guidelines prescribed in the release of version 4.3 of the Function Point Counting Practices Manual (CPM). Providing a fundamental understanding of the IFPUG Functional Size Measurement method, this is the ideal study guide for the CFPS examination. The text:
Continuous Delivery shows how to create fully automated, repeatable, and reliable processes for rapidly moving changes through build, deploy, test, and release. Using these techniques, software organizations are getting critical fixes and other new releases into production in hours—sometimes even minutes—even in large projects with complex code bases.
Waiting until the end of a project to identify "lessons learned" is too late. By that time, the project may be ready for the scrap heap. But if your projects and programs include multi-level learning, you'll not only be fostering continuous improvements for the future, you'll be well-equipped to reduce the risk of failure while projects are "in-flight" so you can deliver maximum value to your client organization. Facilitating Project Performance Improvement helps any organization:
This book offers a start-to-finish blueprint for melding CMMI and agile process improvement methodologies. It presents six detailed case studies, along with essential real-world lessons, big-picture insights, and mistakes to avoid.
Increasingly, large product-development organizations are turning to lean thinking, agile principles and practices, and large-scale Scrum to sustainably and quickly deliver value and innovation.
Presenting the state of the art in strategic planning and process improvement, Process Improvement and CMMI® for Systems and Software provides a workable approach for achieving cost-effective process improvements for systems and software.
Project Management the Agile Way is for experienced project managers, system engineers, architects, and business analysts who are comfortable in traditional methods of project management, but now need to understand how to make agile work effectively in the enterprise. This book presents practical, day-to-day tips and application advice for how to harmonize agile methods with mainstream project processes and how to integrate these practices with other methodologies used in the business.
The world of software development methodology has become a bit of a cottage industry. Philosophical divisions and dogma laced with branding and driven by profit motive are commonplace. Re-invention replaces integration due to a lack of collaboration. A pragmatic perspective however would be to leverage all past experience in context when approaching modern software engineering challenges.
The first step towards success in a software project is to ensure a professional setup. This includes a metrics-based formal estimation process to ensure a solid foundation for project planning. Accurate estimates require quantitative measurements, ideally tool based. In addition, software project managers must also monitor and update these estimates during the project’s lifecycle to control progress and assess possible risks.
Over the last decade, software product line engineering (SPLE) has emerged as one of the most promising software development paradigms for increasing productivity in IT-related industries. Detailing the various aspects of SPLE implementation in different domains, Applied Software Product Line Engineering documents best practices with regard to system development.
CMMI® for Services (CMMI-SVC) is a comprehensive set of guidelines to help organizations establish and improve processes for delivering services. By adapting and extending proven standards and best practices to reflect the unique challenges faced in service industries, CMMI-SVC offers providers a practical and focused framework for achieving higher levels of service quality, controlling costs, improving schedules, and ensuring user satisfaction.
CMMI-ACQ® (Capability Maturity Model® Integration for Acquisition) describes best practices for the successful acquisition of products and services. Providing a practical framework for improving acquisition processes, "CMMI-ACQ" addresses the growing trend in business and government for organizations to purchase or outsource required products and services as an alternative to in-house development or resource allocation.
Based on the authors' more than fifteen years of experience in software agent technology, this book first presents the essential basics, aspects, and structures of the agent technology. It then covers the main quality aspects in software system development and gives current examples of agent measurement and evaluation. Focusing on software agent systems and multi-agent systems (MAS), the authors discuss the determination of quality properties.
It's been known for years that usability testing can dramatically improve products. But with a typical price tag of $5,000 to $10,000 for a usability consultant to conduct each round of tests, it rarely happens.
In this practical guide, software-quality guru Capers Jones reveals best practices for ensuring software development success by illustrating the engineering methods used by the most successful large software projects at leading companies such as IBM, Microsoft, Sony, and EDS.
Software error detection is one of the most challenging problems in software engineering. Now, you can learn how to make the most of software testing by selecting test cases to maximize the probability of revealing latent errors. Software Error Detection through Testing and Analysis begins with a thorough discussion of test-case selection and a review of the concepts, notations, and principles used in the book.
This is the definitive, realistic, actionable guide to starting fast with Scrum and agile–and then succeeding over the long haul. Leading agile consultant and practitioner Mike Cohn presents detailed recommendations, powerful tips, and real-world case studies drawn from his unparalleled experience helping hundreds of software organizations make Scrum and agile work.
The Business Value of IT: Managing Risks, Optimizing Performance, and Measuring Results examines how to measure IT performance, how to put a dollar value on IT, and how to justify value of an entire IT program. It places sharp technical focus on the techniques, methods, and processes used to identify and to assess risks.
Effective software development is no longer merely an IT concern: today, it is crucial to the entire enterprise. However, most businesspeople are not ready to make informed decisions about software initiatives. The Economics of Iterative Software Development: Steering Toward Better Business Results will prepare them.
The Principles of Product Development Flow will forever change the way you think about product development. Reinertsen starts with the ideas of lean manufacturing but goes far beyond them, drawing upon ideas from telecommunications networks, transportation systems, computer operating systems and military doctrine. He combines a lucid explanation of the science behind flow with a rich set of practical approaches.
Over the past ten years, TPI® has proved to be the leading methodology to assess the maturity of an organizations or project's test process. This is a success we, at Sogeti, are very proud of. But this success by no means implies that we are done and can rest on our laurels. Sogeti s answer to this need now lies in front of you: TPI® NEXT, the Business Driven Test Process Improvement model (BDTPI)!
Effectively forecast, manage, and control software across the entire project lifecycle. Accurately size, estimate, and administer software projects with real-world guidance from an industry expert. Fully updated to cover the latest tools and techniques, Applied Software Measurement, Third Edition details how to deploy a cost-effective and pragmatic analysis strategy.
This book is about a new way of approaching process improvement for engineering development. Process improvement is a generally well-understood and accepted means of achieving quality and productivity gains for software development, and the recognition of its importance for other engineering disciplines is growing. The success and wide adoption of the Capability Maturity Model for Softwareâ has led to increased development of similar models in disciplines other than software.
CMMI is a well-known and standardized model for assessing and improving software and systems development processes. It can be used to guide process improvement across a project, a division, or an entire organization. CMMI was developed at the Carnegie Mellon Software Engineering Institute (SEI). The current version, 1.2, was published in 2006 and is being adopted worldwide.
The IBM® Rational Unified Process® has become the de facto industry-standard process for large-scale enterprise software development. The IBM Certified Solution Designer - IBM Rational Unified Process V7.0 certification provides a powerful way for solutions developers to demonstrate their proficiency with RUP.
Everyone has a role to play in software testing--even people outside a project team. Testers, developers, managers, customers, and users shape the process and results of testing, often unwittingly. Rather than continue to generate stacks of documents and fuel animosity, testers can cultivate rich opportunities and relationships by integrating an effective testing mentality into any process
Increasingly, large product-development organizations are turning to lean thinking, agile principles and practices, and large-scale Scrum to sustainably and quickly deliver value and innovation. However, many groups have floundered in their practice-oriented adoptions. Why? Because without a deeper understanding of the thinking tools and profound organizational redesign needed, it is as though casting seeds on to an infertile field.
Corey Ladas' groundbreaking paper "ScrumBan" has captured the imagination of the software development world. Scrum and agile methodologies have helped software development teams organize and become more efficient. Lean methods like kanban can extend these benefits. Kanban also provides a powerful mechanism to identify process improvement opportunities.
In most software organizations, the budget for software maintenance is much larger than for software development. However, there is much less management attention focus on software maintenance than on software development. This book illustrates how process improvement models popular with software development can be applied to software maintainers.
For over a decade, software process improvement (SPI) has been promoted as an approach to improve systematically the way software is developed and managed. Mostly this research and the relevant experience reports have been focussed on large software companies.
Software testing is traditionally seen as a difficult and time consuming activity that is hard to embed in the software development process. This book provides a different view. It explains to stakeholders how testing can add value to software development and doing business, and provides the tester with practical information.
Anyone who develops software for a living needs a proven way to produce it better, faster, and cheaper. The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use.
A successful Six Sigma business strategy provides a suite of cross-functional and vertically aligned metrics that lead to significant improvements in customer satisfaction and the bottom line. At first glance, Six Sigma may seem in direct competition with SEI's Capability Maturity Model Integration (CMMI®). However, with its domain-specific approach to improving the engineering process, CMMI offers the process infrastructure that is fundamental to effective Six Sigma strategy.
Increasingly, both commercial and government organizations are acquiring key software, systems, and IT functions instead of building them. Yet all too often, the technology solutions they purchase cannot be sustained successfully. Now there is a comprehensive solution: the CMMI for Acquisition (CMMI-ACQ) model, which connects the widely adopted CMMI 1.2 framework with established industry best practices for acquisition and outsourcing.
CMMI® (Capability Maturity Model® Integration) describes best practices for the development and maintenance of products and services across their entire lifecycle. By integrating essential bodies of knowledge, CMMI provides a single, comprehensive framework for organizations to assess their development and maintenance processes, implement improvements, and measure progress.
The battle cry “Do more with less” has become “Work Hard, Work Smart!” This book will help you work smart by providing an easy to understand framework where you can quickly develop Software Quality advocates throughout your organization. These easy methods will accelerate process improvements for your organization.
For any software developer who has spent days in "integration hell," cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.
This practical reference discusses why essential processes so often fail to deliver quality industrial software to meet user needs. It describes how to integrate processes and metrics to ensure easier and more effective enterprise software development.
Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know.
With the introduction of Visual Studio 2005 Team System (VSTS), Microsoft for the first time offers software developers and test engineers a complete and integrated suite of tools for software testing. This authoritative book shares with you best practices for software testing using VSTS test and development tools and covers all phases of the development lifecycle so that you may learn how to implement these practices.
Agile development practices, while still controversial in some circles, offer undeniable benefits: faster time to market, better responsiveness to changing customer requirements, and higher quality. However, agile practices have been defined and recommended primarily to small teams. In Scaling Software Agility, Dean Leffingwell describes how agile methods can be applied to enterprise-class development.
Revised and updated, this second edition clearly explains Six Sigma concepts and their application, maps Six Sigma concepts and tools to all aspects of system development, and proposes the use of Six Sigma tools to evaluate and improve the overall performance of the IT department. In addition to classic Six Sigma, the book introduces Design for Six Sigma (DFSS) and illustrates when and how its tools and techniques can be used to increase the robustness and reliability of a new system.
Learn proven, real-world techniques for specifying software requirements with this practical reference. It details 30 requirement "patterns" offering realistic examples for situation-specific guidance for building effective software requirements. Each pattern explains what a requirement needs to convey, offers potential questions to ask, points out potential pitfalls, suggests extra requirements, and other advice.
The Art of Agile Development contains practical, down-to-earth guidance for anyone involved in or considering the agile method—and Extreme Programming in particular—to build reliable software. Agile development methods have become increasingly popular because too many software projects have failed to meet expected release dates, deliver the required features, or to match projected costs.
From a leader in the agile process movement, learn best practices for moving agile development with Scrum from the skunk works (small team) to the shop floor (the enterprise). Managers get case studies and practical guidance for managing the change processes for applying Scrum in the enterprise.
Accelerating Process Improvement Using Agile Techniques enhances the likelihood of success for IT projects. This volume describes a proven method for accelerating process improvement that helps set the goals and directions of organizations. The book offers several real-world scenarios describing situations prevalent throughout IT organizations regardless of the primary business in which a company may be engaged.
In Agility and Discipline Made Easy, Rational Unified Process (RUP) and Open Unified Process (OpenUP) experts Per Kroll and Bruce MacIsaac share twenty well-defined best practices that you and your team can start adopting today to improve the agility, predictability, speed, and cost of software development.
"Traveling down the CMMI road can be difficult and time-consuming. Garcia and Turner have given us a practical roadmap that addresses the key points to learn as well as the many potholes to avoid. Their Survival Guide is a most valuable resource for the journey. It will help immeasurably in achieving the process improvement that you seek."
Defining and Deploying Software Processes provides expert guidance that allows you to create efficient and effective processes that let you better manage project schedules and software quality. The author's organized approach details how to deploy into your company culture processes that are embraced by employees, and a Web-based process architecture that is completely flexible and extensible.
The promise of Software Factories is to streamline and automate software development-and thus to produce higher-quality software more efficiently. The key idea is to promote systematic reuse at all levels and exploit economies of scope, which translates into concrete savings in planning, development, and maintenance efforts. However, the theory behind Software Factories can be overwhelming, because it spans many disciplines of software development.
Today, technology has become too much a part of overall corporate success for its effectiveness to be left to chance. The stakes are too high. Fortunately, the idea of 'quality management' is being reinvigorated. In the last decade process programs have become more and more prevalent. And, out of all the available options, three have moved to the top of the chain. These three are:
Aimed particularly at embedded designers and developers, this new book provides a sound foundation on the TPM, helping them to take advantage of hardware security based on sound TCG standards. It covers all the TPM basics, discussing in detail the TPM Key Hierarchy and the Trusted Platform Module specification. The book presents a methodology to enable designers and developers to successfully integrate the TPM into an embedded design and verify the TPM's operation on a specific platform.
Open Source is NOT JUST FOR LINUX/UNIX! Open source is changing the software market because of its advantages over commercial tools including cost savings, greater reliability, security, improved performance, and scalability. Although open source is primarily associated with Linux, many people, including IT professionals, don''t realize that open source programs can work on a standard Windows platform.
"I've just finished reading the best computer book [Why Software Sucks...] since I last re-read one of mine and I wanted to pass along the good word . . . Put this one on your must-have list if you have software, love software, hate programmers, or even ARE a programmer, because Mr. Platt (who teaches programming) has set out to puncture the bloated egos of all those who think that just because they can write a program, they can make it easy to use . . .
*Describes Agile Modeling Driven Design (AMDD) and Test-Driven Design (TDD) approaches, database refactoring, database encapsulation strategies, and tools that support evolutionary techniques
*Agile software developers often use object and relational database (RDB) technology together and as a result must overcome the impedance mismatch
This book describes using the ICONIX Process (an object modeling process) in an Agile software project. To do this, the book defines a core Agile subset, so those of you who want to "get Agile" need not spend years learning to do it. Instead, you can simply read this book and apply the core subset of techniques. The book follows a real-life .NET/C# project from inception and UML modeling, to working code--through several iterations.
A breakthrough approach to managing Agile software development . . . Agile methods might just be the alternative to outsourcing. However, Agile development must scale in scope and discipline to be acceptable in the boardrooms of the Fortune 1000. In "Agile Management for Software Engineering," David J.
The "Agile Method" was coined in February 2001 to refer to software development methods designed to respond to change during software projects and stressing "individuals and interactions over processes and tools" and customer collaboration. Koch (president of the training and consulting company, ASK Process, Inc.) provides an introduction to Agile software development that he hopes will allow managers to weigh its costs and benefits.
The Standard CMMI Appraisal Method for Process Improvement (SCAMPI) is an invaluable tool for organizations seeking to drive quantifiable improvements in systems and software engineering. SCAMPI appraisals can help those organizations identify the strengths and weaknesses of their current processes, reveal crucial development and acquisition risks, set priorities for improvement plans, derive capability and maturity level ratings, and even perform realistic benchmarking.
Whatever your background, Maximizing ASP.NET will deepen your skills across all aspects of enterprise development: application design, test-driven development, modularization, optimization, and beyond. Packed with C# and VB.NET examples for both ASP.NET 2.0 and 1.1, this is no mere "cookbook." It is a superbly well-written guide to both the "hows" and "whys" of serious ASP.NET development.
King, a veteran consultant in the information technology industry, promotes the concept of performance assurance throughout the entire system lifecycle, examining not only the technical aspects of performance, but also the relevant processes and topics related to companies and people. His goal is for readers to understand the fundamental issues that surround performance and technology such that they can apply them to formulate a coherent customized approach to performance assurance.
Many programmers code by instinct, relying on convenient habits or a "style" they picked up early on. They aren't conscious of all the choices they make, like how they format their source, the names they use for variables, or the kinds of loops they use. They're focused entirely on problems they're solving, solutions they're creating, and algorithms they're implementing. So they write code in the way that seems natural, that happens intuitively, and that feels good.
This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project.
If you are responsible for designing, implementing, or managing a quality software program, this updated edition of the Practical Guide to Software Quality Management now identifies 10 major components that make up a solid program in line with ISO 9001 quality management precepts.
Practical Insight into CMMI is an essential reference for engineering, IT and management professionals striving to grasp the "look and feel of a successful business oriented process improvement implementation". Taking you beyond the Capability Maturity Model to the integrated world of systems and software, this comprehensive resource presents CMMI in a manner that is easy to comprehend by higher-level managers and practitioners alike.
Based on CMM/CMMI, this unique new resource offers you practical "how to" guidance on software process improvement. The book provides you with clear implementation steps that are designed to have a highly positive impact on even your most challenging projects. You get valuable, time-saving templates that can be quickly tailored for your purposes and used immediately.
Forget wizards, you need a slave--someone to do your repetitive, tedious and boring tasks, without complaint and without pay, so you'll have more time to design and write exciting code. That's what computers are for: you can enlist your computer to automate all of your project's repetitive tasks, ranging from individual builds and running unit tests through to full product release and customer deployment.
Learn how to improve your Java coding skills using unit testing. Despite it's name, unit testing is really a coding technique, not a testing technique. This book shows how to write tests, but more importantly, goes where other books fear to tread and gives you concrete advice and examples of what to test. Discover the tricky hiding places where bugs breed, and how to catch them using the freely available NUnit framework.
This book is a recipe-based approach to using the CVS Version Control system that will get you up and running quickly--and correctly. All projects need version control: it's one of the foundational pieces of any project's infrastructure. Yet half of all project teams in the U.S. don't use any version control at all. Many others don't use it well, and end up experiencing time-consuming problems.
Most software-development groups have embarrassing records: By some accounts, more than half of all software projects are significantly late and over budget, and nearly a quarter of them are cancelled without ever being completed. Although developers recognize that unrealistic schedules, inadequate resources, and unstable requirements are often to blame for such failures, few know how to solve these problems.
The increasing complexity of embedded and real-time systems requires a more premeditated and sophisticated design approach for successful implementation. The object-based Unified Modeling Language (UML) can describe the structural and behavioral aspects critical to real-time systems and has come to the fore as an outstanding medium for effective design.
Reducing Risk with Software Process Improvements recommends the critical practices that aid in the successful delivery of software products and services. The author describes the observations that he made over a period of ten years in IT projects and organizations. He focuses on the areas of software development and maintenance, highlighting the most frequently encountered problems that occur due to poor processes.
"Ship It!" avoids current fashion trends and marketing hype; instead, readers find page after page of solid advice, all tried and tested in the real world. This book is a collection of tips that show what tools a successful team has to use, and how to use them well. Developers will get quick, easy-to-follow advice on modern techniques and when they should be applied.
Aimed at beginning to intermediate programmers, this book will show you:
For novice programmers, finding an interesting, practical Java programming reference that doesn't overwhelm them with details and complexity is difficult. "Simply Java: An Introduction to Java Programming" is an easy-to-follow textbook that guides the beginning programmer step-by-step through the process of learning Java. The main obstacle to learning object-oriented programming is the volume of interdependent detail that needs to be learned before even the simplest program can be created.
This completely revised edition of an Artech House bestseller goes far beyond other software configuration management (SCM) books as the only complete guide that integrates SCM principles, advanced topics, and implementation procedures in one accessible resource. The second edition has been greatly expanded with new chapters on documentation control, product data management, SCM standards and software process improvement models like CMM, CMMI, BOOTSTRAP, ISO SPICE, and Trillium.
In software development, projects are won or lost during the endgame--that final stage between release for testing and release to customers.
Software Endgames presents realistic strategies for delivering working software to your customers. Focusing solely on the endgame, the book provides hard-won, hands-on practices you can implement right away.
The architects of the Software Factories method provide a detailed look at this faster, less expensive, and more reliable approach to application development. Software Factories significantly increase the level of automation in application development at medium to large companies, applying the time tested pattern of using visual languages to enable rapid assembly and configuration of framework based components.
This text offers a comprehensive and integrated approach to software quality engineering. By following the author's clear guidance, readers learn how to master the techniques to produce high-quality, reliable software, regardless of the software system's level of complexity.
"Software Reliability Engineering" is the classic guide to this time-saving practice for the software professional. ACM Software Engineering Notes praised it as: ". . .
The Second Edition of this volume provides a detailed, step-by-step plan for implementing quality assurance programs that emphasize software testing. This focus on software QA techniques enables organizations to minimize the high cost of IT maintenance. The summary of software testing and maintenance tools has been completely updated.
A solid guide and reference to the key elements of SQL and how to use it effectively.
The pervasiveness of software in business makes it crucial that software engineers and developers understand how software development impacts an entire organization. Strategic Software Engineering: An Interdisciplinary Approach presents software engineering as a strategic, business-oriented, interdisciplinary endeavor, rather than simply a technical process, as it has been described in previous publications.
"Sustainable Software Development" brings together principles and practices for building software that is technically superior, delivers exceptional business value, and can evolve rapidly to reflect any change to your business or technical environment.
Quality cannot be tested into software, it must be designed in and built in. Understanding and accepting this simple principle can be the first step to preventing serious system defects from reaching users.
You're a technical professional, perhaps a programmer, engineer, or scientist. You are not a professional writer, but writing is part of your job (specs, manuals, proposals, lab reports, technical presentations, Web content, data sheets, and so on.) Welcome. This book is for you. It's all you need to clearly communicate technical ideas to any audience--technical or nontechnical--and motivate them to act.
The Rational Unified Process is a powerful tool for improving software development--but it doesn't go nearly far enough. Today's development organizations need to extend RUP to cover the entire IT lifecycle, including the cross-project and enterprise issues it largely ignores. The Enterprise Unified Process (EUP) does precisely that, enabling you to deliver systems that meet all the needs of today's businesses.
Defects play a large role in most software projects, ultimately leading to deficiencies and lost revenue. The ROI from Software Quality provides the tools needed for software engineers and project managers to calculate how much they should invest in quality, what benefits the investment will reap, and just how quickly those benefits will be realized.
Over the course of a distinguished career, Joe Marasco earned a reputation as the go-to software project manager: the one to call when you were facing a brutally tough, make-or-break project. Marasco reflected on his experiences in a remarkable series of "Franklin's Kite" essays for The Rational Edge, Rational and IBM's online software development magazine.
Ellen Gottesdiener's "Software Requirements Memory Jogger" contains an incredible wealth of clearly-presented requirements information in a small-format book. This inch-thick "pocket book" is easy to carry around and browse through when a busy requirements analyst has a few minutes to spare.
Need to get results with UML... without unnecessary complexity or mind-numbing jargon? You need UML for Mere Mortals™. This easy-to-read introduction is perfect for technical professionals and business stakeholders alike: anyone who needs to create, understand, or review UML models, without becoming a hard-core modeler.
The definitive guide to using Service-Oriented Architecture (SOA) and Web services technologies to simplify IT infrastructure and improve business agility. Renowned experts Eric Newcomer and Greg Lomow offer practical strategies and proven best practices for every facet of SOA planning and implementation.
This book teaches you how to implement the Rational Unified Process (RUP) so that you reap immediate returns on your significant investment. With the help of this book's practical advice and real-world case study, software practitioners will learn how to initiate and maintain the changes needed for an organization to successfully adopt the RUP as a new process.
This is the definitive guide for managers and students to agile and iterative development methods: what they are, how they work, how to implement them—and why you should. Using statistically significant research and large-scale case studies, noted methods expert Craig Larman presents the most convincing case ever made for iterative development.
Agile or "lightweight" processes have revolutionized the software development industry. They're faster and more efficient than traditional software development processes. They enable developers to:
*embrace requirement changes during project
*deliver working software in frequent iterations
*focus on the human factor in software development
A software developer and systems engineer join forces, using examples and case studies to illustrate the differences and similarities between agile and plan-driven methods, showing that the best development strategies combine both attributes. -Book News, Inc.
For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code—and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software.
Many people are confused about corrective action. They know it's a requirement for compliance to standards like ISO 9001. In some cases, the mandate is imposed by their customers or by regulatory agencies. What people often don't understand is what the requirement actually entails.
Carefully researched over ten years and eagerly anticipated by the agile community, Crystal Clear: A Human-Powered Methodology for Small Teams is a lucid and practical introduction to running a successful agile project in your organization. Each chapter illuminates a different important aspect of orchestrating agile projects.
Did you know that the U.S. loses $59.5 billion per year due to inadequate software testing? With this revolutionary book, that's about to end! Applied Software Test Automation teaches you how to build a fully automated testing tool that you can immediately use for your software development projects. Simply feed the software under test, get the test result, and fix the bugs. You can even use your preferred languages for developing the testing tool.
When testing becomes a developer's habit good things tend to happen--good productivity, good code, and good job satisfaction. If you want some of that, there's no better way to start your testing habit, nor to continue feeding it, than with JUnit Recipes.
Model driven architecture (MDA) is a framework based on UML and other industry standards for visualizing and exchanging software designs and models to build large, complex enterprise systems. The Dutch authors of this book outline the MDA development life cycle, explain the role of transformation of models in MDA, and demonstrate how a simple platform independent model is transformed into complex platform specific models and code
Based on the needs of software professionals, "Practical Software Testing" takes a unique approach to teaching readers how to effectively plan for testing, design test cases, test at multiple levels, organize a testing team, and optimize use of testing tools. It introduces testing concepts that are managerial-, technical-, and process-oriented, using the Testing Maturity Model (TMM) as a framework.
* Shows how to adapt your company's practices to implement a CMMI process improvement program
* Bridges the gap between process improvement professionals and software developers
* Provides case studies that demonstrate how concepts have proven successful in real organizations
* Includes do's and don'ts checklists that offer quick synopses of chapter content
Refactoring to Patterns reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you're focused on legacy or "greenfield" development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively.
Return on Software is about making choices: software technical choices in a business context. It helps software professionals appreciate the business consequences of the decisions they make. This primer will prove a valuable reference for making the important decisions the typical software organization faces both today and down the road.
You will learn how to:
An indispensable addition to your project management, software engineering or computer science bookshelf, this book masterfully illuminates and simplifies otherwise complex topics in ROI. It presents extremely simple, but overwhelmingly powerful metrics, models, and methods for designing professional business cases and provides hard-hitting economic justification. It explores the most popular international methods, models, and standards for software process improvement.
Ultimately, software development is about creating value yet, all too often, software fails to deliver the business value customers need. This book will help you change that, by linking software development directly to value creation. You'll learn exactly how to identify which features add value and which don't, and refocus your entire development process on delivering more value, more rapidly.
Software by Numbers shows you how to:
This book emphasizes the application aspects of software quality assurance (SQA) systems by discussing how to overcome the difficulties in the implementation and operation of them. State-of-the-art topics for software testing and managing SQA activities, such as computerized tools, are incorporated into the text and emphasized through the author's use of real world examples. Software developers who want to enhance their knowledge of SQA systems.
Do you know what is the real cost of your software? Before you reach for a calculator, be forewarned that it's a trick question. Even technology industry analysts and seasoned IT executives have difficulty putting a hard figure on the Total Cost of Ownership (TCO) of today's enterprise application solutions.
"The Object-Oriented Thought Process, Second Edition" will lay the foundation in object-oriented concepts and then explain how various object technologies are used. Author Matt Weisfeld introduces object-oriented concepts, then covers abstraction, public and private classes, reusing code, and devloping frameworks. Later chapters cover building objects that work with XML, databases, and distributed systems (including EJBs, .NET, Web Services and more).
Total-quality philosophy is an approach to doing business that focuses all of the resources of the organization on the continual improvement of both quality and competitiveness. To this end, a total-quality organization will continually, improve its processes, people, and products. This approach is an effective way and, arguably, the only way to survive and prosper in a globally competitive environment.
One of the greatest frustrations in most software projects is version control: the art of managing changes to information. Today's increasingly fast pace of software development—as programmers make small changes to software one day only to undo them the next—has only heightened the problem; consecutive work on code or single-programmer software is a rare sight these days. Without careful attention to version control, concurrent and collaborative work can create more headaches than it solves.
Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.
(From the back cover)
How to Bid, Control, and Complete Your Software Projects Using Metrics
To succeed in the software industry, managers need to cultivate a reliable development process. By measuring what teams have achieved on previous projects, managers can more accurately set goals, make bids, and ensure the successful completion of new projects.
(From the back cover)
Software Project Management provides insight to the importance of careful project management. Topics are presented in the same order that they appear in the progression of actual projects. The author utilizes his creative writing background to teach these topics with the tone of a friend sitting beside each student, rather than as a general lecture on the material.
A software tester’s survival guide from a leading expert in the field.
In today’s fast-changing, competitive environment, having an up-to-date information system (IS) is critical for all companies and institutions. Rather than creating a new system from scratch, reengineering is an economical way to develop an IS to match changing business needs. Using detailed examples, this practical book gives you methods and techniques for reengineering systems for flexibility and reliability.
This book explains how organizations can use ISO 9001 and CMMI together to improve process quality. It provides advice for streamlining process improvement programs, conserving resources, and moving toward compliance certification. For organizations using older versions of the programs, the book details migration paths for upgrading.Book News, Inc.®, Portland, OR
Presenting the state-of-the-art in component-based software testing, this new, cutting-edge resource offers you an in-depth understanding of the current issues, challenges, needs, and solutions in this critical component-based testing and quality assurance in an accessible tutorial format, making the material easy to comprehend and benefit from no matter what your professional level.
"The Bug" is a mesmerizing first novel about a demonic, elusive computer bug and the havoc it wreaks on the lives of the people around it. This rare combination: a novel of ideas and a suspense, it is a story about obsession and love that takes readers deep into both the personal and virtual life. In 1984, at the dawn of the personal-computer era, Roberta Walton, a novice software tester at a SiliconValley start-up, stumbles across a bug.
(From the back cover) Since the earliest days of the computer industry, managing a software project has been a complex and demanding activity. While the technical content of software products and the technical methods used to build them have changed over time, the fundamental issues that determine the success or failure of software projects have remained fairly constant.
Extreme Programming (XP) and the Unified Process (UP) have both caused quite a sensation in the software development community. Although XP offers a methodology for faster software development, many developers find that it does not explicitly include modeling time, which is crucial to ensure that a project meets its proposed requirements. UP developers, on the other hand, have found that the UP approach to modeling is too documentation-intensive and top heavy, thus impeding progress.
In a highly volatile software development environment, developers must be nimble, responsive, and able to hit a moving target--in short, they must be agile. Agile software development is designed to address this need for speed and flexibility. Agility describes a holistic, collaborative environment in which you can both create and respond to change by focusing on adaptability over predictability, people over process.
Best selling author and world-renowned software development expert Robert C. Martin shows how to solve the most challenging problems facing software developers, project managers, and software project leaders today.
This comprehensive, pragmatic tutorial on Agile Development and eXtreme programming, written by one of the founding fathers of Agile Development:
The easy, complete guide to statistical methods for software project management and process improvement.
Together: supercharging software development, from start to finish! Together delivers a superbly integrated set of lifecycle tools for building software with breakthrough quality, efficiency, and performance. Now there's a definitive guide to making the most of Together: Better Software Faster.
(From the Back Cover) Two of the most significant technological development trends of the past few years have been the Java 2 Platform, Enterprise Edition (J2EE), a platform specifically geared to the needs of enterprise systems, and the Rational Unified Process (RUP), a comprehensive development methodology.
The book's collected articles offer important perspectives on the role of metrics in the development process, and show how metrics directly enhance software quality and output efficiency. The book explores several vital areas, including Function Point Analysis, project estimation and management, outsourcing, statistical process control, and more. These articles range from basic theory to the sophisticated application of metrics.
Software process improvement too often reflects a significant disconnect between theory and practice. This book bridges the gap—offering a straightforward, systematic approach to planning, implementing, and monitoring a process improvement program.
Metrics and Models in Software Quality Engineering has established itself as the definitive book on this essential topic of software development. Comprehensive in scope and peppered with industry examples, it shows how to measure software quality and use measurements to improve software development, and it teaches the skills you need to measure and improve the quality of the software development process.
(From Book News, Inc.)
The practical handbook of software project management-by practitioners, for practitioners! Quality Software Project Management is the practical, start-to-finish project management resource for every software professional-experienced managers and developers moving into leadership roles.
(From the Back Cover)
Project management for today's complex, chaotic business environments.
* Innovative new XPM tools: how to make them work in your organization
* XPM: the first radically new approach to project management in decades!
* Designed from the ground up for today's high-speed, fast-changing projects
* Refocusing project management focused on people, relationships, and adding value!
From the Back Cover: The process of designing and building today's dynamic Web applications comes with a host of challenges not typically solved by traditional project management methodologies. A wealth of practical resources, Real Web Project Management: Case Studies and Best Practices from the Trenches is a book of solutions for designing, managing, and delivering virtually any type of Web-based project under even the most challenging of conditions.
Software Configuration Management Patterns alleviates software engineers' most common concerns about software configuration management (SCM)--perceived rigidity and an overemphasis on process. This book demonstrates how effective SCM strategies promote a healthy, team-oriented culture that produces better software. Through the use of patterns, the authors show that properly managed workflow can avert delays, morale problems, and cost overruns.
(Back Cover Copy)
The TMap Test Management approach is based on years of practical software testing experiences and developed by the R&D department of IQUIP Informatica B.V. It enjoyed an overwhelming interest from its first publication in Dutch in 1995. Many companies and government departments arranged their organization and performed their test processes as much as possible according to TMap. Within a few years, it became the standard for software testing within the Dutch-speaking countries.
Systematic Software Testing delivers a flexible, risk-based process that improves your software testing capabilities and helps you do just that. Whether your organization already has a well-defined testing process, or it’s faltering with almost no process, Systematic Software Testing provides unique insights into better ways to test your software.
The rapid rise in popularity of Extreme Programming (XP) has put the practice of software testing squarely in the spotlight of application development. At one time, testing was a neglected practice, a highly specialized activity that came as an afterthought as complex, code-intensive projects were rushed to completion. But in today's world of escalating quality expectations, testing is a key component of the development process.
Everything you need to know about VMware Workstation, from guest systems to network configuration. VMware software lets users run multiple operating systems (and their applications) simultaneously on one computer. Technically reviewed and developed in cooperation with VMware, Inc., The Book of VMware is a comprehensive guide to installing and running VMware. It includes sections on device emulation, configuring guest operating systems, networking, and troubleshooting.
XML and ASP.NET is the one book you need to master XML in the .NET Framework. It includes all of the technologies needed to program .NET web applications including XPath, XSLT, XML Schemas, and the Microsoft XML Parsers. This book also incorporates an incredible breadth of XML technologies from basic queries using XPath to advanced serialization techniques, thoroughly exploring Microsoft's .NET implementation of XML.
For more than twenty-five years, An Introduction to General Systems Thinking has been hailed as an innovative introduction to systems theory, with applications in computer science and beyond. Used in university courses and professional seminars all over the world, the text has proven its ability to open minds and sharpen thinking.
Learn how to transform XP theory into concrete Java® development techniques! Software developers live by the mantra, "evolve or die". Adhering to that philosophy, Richard Hightower and Nicholas Lesiecki present you with an innovative book about Extreme Programming (XP) a development methodology that enables developers to build flexible, high-quality software in a quick, efficient, and cost-effective manner.
Performance Solutions offers straightforward techniques and strategies that can be used by software developers, project managers, and performance specialists to handle the performance of software throughout the development process. In particular the book focuses on how to design performance into software systems early and then maintain performance throughout the software development life cycle.
This book provides Web developers and software test professionals with practical, experience-based guidance on Web application testing. Concise and straightforward, this book provides a framework for testing Web-based applications. It offers a guide to performing test execution using several leading automated test tools, as well as insight into which test tools to use and why.
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.
This introduction to software engineering and practice addresses both procedural and object-oriented development. The book applies concepts consistently to two common examples—a typical information system and a real-time system. It combines theory with real, practical applications by providing an abundance of case studies and examples from the current literature. Expanded coverage of object-oriented development — a programming perspective being implemented by many companies.
The creation of quality software on time and within budget has been a major problem facing the software industry for several decades. Consideration of software development and maintenance as an engineering discipline to control the developmental process can help alleviate these obstacles. This new book focuses on the best practices for software process improvement (SPI) and related international standards providing a valuable guide and reference.
Long a standard practice in traditional manufacturing, the concept of product lines is relatively new to the software industry. A software product line is a family of systems that share a common set of core technical assets, with preplanned extensions and variations to address the needs of specific customers or market segments.
The practical guide to evaluating and improving the quality of mission-critical software.
Why do so many software projects fail? The reality is that many of these projects are led by programmers or developers thrown into the role of project manager without the necessary skills or training to see a project through successfully. Patricia Ensworth has written a hands-on survival guide designed to rescue the "accidental project manager" and help them to quickly ramp up on all key areas involved in software project management.
In this blistering attack on one of the sacred cows of business today, John Seddon shows how the ISO standards are not only failing to deliver the improved quality they promise, but in most cases are actually damaging the companies that have implemented them.
A one-stop source of information covering everything you'll need to know in order to pass the CISSP examination
The CISSP Prep Guide
This book is about the other side of computer software, the side facing outward. This face of computing touches and is touched by people-technology people, like you and me, and ordinary people, like you and me. The essays here compiled explore the many diverse aspects of peopleware-that interface between software and its developers and between software and its users.
This is the last in a four-book series comprising a critical review of the Unified Process that includes a survey of the alternate software processes and the synthesis of a more robust process. The Transition and Production phases are the final phases of the Unified Process that provide for the deployment, operation and support of the system among the user groups.
How do you hire—and keep—the best software engineers in the business? What real-world practices can really motivate a team to produce excellent results? From startups to major corporations, virtually every commercial software company struggles with building teams and shipping great software on time. Now industry expert Ed Sullivan shares the hard-won lessons and best practices from his 17-year career in software development, including six years at award-winning NuMega Technologies.
Anyone who has managed the process of developing or redesigning a Web site of significant size has likely learned the hard way the complexities, pitfalls, and cost risk of such an undertaking. While many Web development firms have fantastic technical expertise, what sets the topnotch organizations apart is the ability to accurately manage the planning and development process. Web Redesign: Workflow That Works directly addresses this crucial area with a specific, proven process.
Humphrey relates the substantial benefits real organizations have obtained from such awareness and control, and he concludes with an analysis of the impressive financial returns the recommended transformations typically yield. Softcover.
Function Point Analysis: Measurement Practices for Successful Software Projects is a comprehensive presentation of the principles of function point analysis (FPA) and a guide to its effective use in managing the development and deployment of software. Written for both information technology (IT) practitioners and managers, it describes how to use this proven-but-underutilized software-sizing metric to achieve successful software projects.
The hallmarks of Extreme Programming--constant integration and automated testing, frequent small releases that incorporate continual customer feedback, and a teamwork approach--make it an exceptionally flexible and effective approach to software development.
(From the Publisher) It is tempting when approaching a software development problem to rush headlong into the trap of thinking too soon about the solution. Software development problems are about the world outside the computer - the real environment in which the system must have its effect - and demand consideration of the surrounding characteristics, relationships and context. Problem frames are a tool for classifying, analyzing and structuring such software development problems.
Use Ruby and you'll write better code, be more productive, and enjoy programming more. "I love it. Conceptually it is really clean, and sweet."
--Kent Beck, author of Extreme Programming Explained, on the Ruby language
Billions of dollars are wasted each year on IT software projects that are developed and either released late or never used. In light of recent large-scale errors, and methods, tools, and practices used for software development have become the subject of significant study and analysis. One quantitative method for analysis is software assessment, which explores the methodologies used by businesses for software development.
Software engineering is playing a more important role in computing and informatics, necessitated by the complexities inherent in large-scale software development. To deal with these difficulties, the conventional lifecycle approaches to software engineering are now giving way to the "process system" approach, encompassing development methods, infrastructure, organization, and management.
The new edition of this book provides a comprehensive discussion of software engineering techniques and shows how they can be applied in practical software projects. This book features new coverage of the software process and software process technology, system integration, requirements management, and risk analysis, as well as new chapters on pattern-based reuse, distributed system engineering, and legacy systems.
This book helps accelerate the development of high quality software using continuous process improvement. The book starts with an overview of basic quality principles and how you can apply the continuous improvement cycle to software testing. It then reviews waterfall lifecycle testing, followed by an extensive RAD testing methodology for client/server and the Internet. The final section provides a comprehensive analysis of modern testing tools.
Introduces a model for a mature software development process that accommodates flexibility, focusing on policies and procedures that define how software development is performed, and technologies available. Tells how to sell the business case for software process improvement, how to establish dialogue between developers and customers, and how to manage multiple constituencies, personalities, and issues.
This book presents an integrated framework for testing object-oriented software throughout the software engineering lifecycle. It discusses recipes for testing of requirements, designs, base classes, derived classes, and integrated systems. For each phase the authors describe objectives of testing, approaches used, testing techniques, ordered sets of activities, planned efforts, and acceptance criteria for transition to the next phase.
In this book, the authors provide an introduction to the essential activities involved in a software engineering project. Readers will come to understand technical skills in requirements/specification, analysis, design/implementation, and testing. These methods are treated fully, with a multitude of examples for readers to emulate.
For all new managers who are stressed out over how they're going to handle their new responsibilities, this book is the next best thing to a Swedish massage--the perfect stress reducer.
This indispensable guide prepares inexperienced managers for the realities of today's fast-paced business environment, providing real-world information that helps readers move comfortably into their new managerial positions.
Verification and Validation of Modern Software-Intensive Systems brings the classic approaches up to date to apply them to contemporary computing methods. Based on the latest standards and research, the authors cover V&V for areas that have not been previously treated collectively, including:
To survive in today's turbulent eBusiness world, software project teams must exhibit adaptability, speed, and collaboration. This book targets software teams where competition creates extreme pressure on the delivery process.
Steve McConnell, a leader in defining software engineering's best practices, asserts that software development is entering a new era. Now's the time, McConnell says, for the industry to take notice and take action--and establish a true profession of software engineering.
Contrary to popular opinion, you can build extraordinarily high-quality software—and this book shows you exactly how the world's best development organizations do it.
(From the Back Cover)
Here is a guidebook that demonstrates how an organization can employ measurements to manage and improve software processes.
Now you can dramatically improve the design, performance, and manageability of object-oriented code without altering its interfaces or behavior. Refactoring shows
you exactly how to spot the best opportunities for refactoring and exactly how to do it-step by step. Through more than forty detailed case studies, you'll learn powerful - and surprisingly simple - ways to redesign code that is already in production.
The message of this book is simple. Software development should be done quickly and effectively. Systems that take years to develop can often end up out of synch. with their users evolving requirements and business objectives by the time they are delivered. Requirements Engineering and Rapid Development shows how to solve the problem by using a systematic approach to requirements gathering and business modelling.
In this book, a leading Sun Microsystems consultant presents start-to-finish techniques for software development, covering all three key elements of success: people, processes, and technology. Learn how to build a winning software development team, organize that team for success, and retain your best talent in today's extraordinarily competitive hiring environment. Learn how to use OO techniques from planning through testing.
The authors have taken two development techniques of modeling and use-cases and combined them into new methodology for delivering software that will allow the users of the software to do their jobs more effectively and easily. This book spends a considerable amount of time laying a foundation for the practical application of their techniques. The entire development process is laid out from inception to completion in a realistic and practical manner.
Don't risk your software product's success through haphazard integration and release management. This book shows you "best practices" for every stage of a successful product release: source code control, product build, testing and defect tracking, code integration, software change management, and release engineering.
Readers who have been working in IT for a long time will remember the days when testing was the task of the junior person on the team. Since then, testing has come a long way--to the point where it is recognized as a vital profession. This book addresses test-process improvement with a practice-based model.
This volume is based on the experiences of eight industrial and one academic partner, from fields as diverse as oil and gas production, transportation, aerospace, nuclear power, and defence. Together they have carried out an in-depth examination of the issues involved in demonstrating through testing that acceptable safety integrity levels can be achieved.
(From the Back Cover)
With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive.
(From the Back Cover)
-- Ward Cunningham
A world-renowned technology expert reveals the true cost to business and society created by little-known problems rife within the software industry. Software kills? Yes. Industry insider Mark Minasi argues that it routinely destroys millions of work hours, files, deals, and ideas. Most of us are familiar with conputer problems, but how many realize that software victims also include people: a 7 year-old killed by bad fuel-injection software in a Chevrolet in Alabama, 28 U.S.
In this indispensable book, a widely experienced business consultant provides a complete set of analytical tools essential to successful trouble-shooting, effective planning, and making better decisions faster, more confidently, and more often.
This landmark book provides a thorough overview of the Unified Process for software development, with a practical focus on modeling using the Unified Modeling Language (UML). The Unified Process goes beyond mere object-oriented analysis and design to spell out a proven family of techniques that supports the complete software development life cycle. The result is a component-based process that is use-case driven, architecture-centric, iterative, and incremental.
Now widely adopted as the de facto industry standard and sanctioned by the Object Management Group, the Unified Modeling Language (UML) is a notation all software developers need to know and understand. However, the UML is a big language, and not all of it is equally important. The award-winning first edition of UML Distilled was widely praised for being a concise guide to the core parts of the UML and has proved extremely successful in helping developers get up and running quickly.
Zuse's book on software measurement provides basic principles as well as theoretical and practical guidelines for the use of numerous kinds of software measures. It is written to enable scientists, teachers, practitioners, and students to define the basic terminology of software measurement and to contribute to theory building.
Cleanroom software engineering is a process for developing high-reliability software. The cleanroom process answers today's call for more reliable software and provides methods for more cost-effective software development. It accomplishes this by combining theory-based engineering technologies in project management, incremental development, software specification and design, correctness verification, and statistical quality certification.
This book is a comprehensive guide for the programmer or manager writing requirements for the first time, as well as the experienced system analyst.
The author takes a unique approach to the subject: that a useful requirements document derives from the design patterns employed by programmers and interface designers. His in-depth treatment includes non-hierarchical ways to break down complex problems, elements of the problem domain, and different problem types.
This cutting-edge, how-to manual details proven methods for turning chronically late, over-budget and under-performing projects completely around. The author provides clear guidance on making practical and powerful changes to the way you manage projects. The book includes a complete discussion of the approach pioneered by Dr. Eli Goldratt called "Critical Chain Scheduling," the most significant new development in project scheduling in the last forty years.
This pragmatic book discusses software process improvement and organizational benchmarking with the Capability Maturity Model (CMM), ISO 9001, and the ISO/IEC 15504 standard (SPICE & Bootstrap).
"Musa...is considered the guru of software reliability engineering." - Michael R. Lyn, Ph.D., Technical Staff, AT&T Laboratories. Spotlighting the practical steps that you need to apply Software Reliability Engineering to software development and testing, this first-of-its-kind guide puts the efficiency-enhancing benefits of SRE within easy reach.
This is a case-study book dealing with software failed projects, e.g., The Denver Airport problem. It categorizes these failed projects into the following areas: project objectives were not fully specified; projects were poorly planned; enabling project technology was not fully understood; absence of management methodology; insufficient expertise; and lack of understanding of the risks involved.
Today, many organizations claim competitive market advantages resulting from the application of object-oriented technology and approaches in their software development efforts. As the use of object technology has become increasingly widespread and mainstream, a growing number of project managers are faced with a daunting task: keeping the object technology project on track and within budget.
Harness the power, flexibility, and new functionality of Visual Test 6 to enhance the effectiveness of your testing projects. Using concrete scenarios and detailed examples, leading Visual Test expert and veteran trainer Tom Arnold guides you through the entire test automation process - covering both the programming and project management skills needed to deliver high-quality Windows or Web-based software applications on schedule and within budget.
Textbooks tell us how to define metrics, but there is little guidance about exactly how to start and what has proven most effective in actual use. This book helps bridge that gap by bringing together important and practical papers on applying software metrics. Each chapter addresses a significant question whose answer is essential to building an effective measurement program.
Cleanroom Software Engineering is a set of techniques and practices for the development of software-intensive systems. This book brings together concepts, lessons learned and best practices resulting from Cleanroom projects surveyed in the past several years. Pub: 12/96.
This book offers a balanced and thorough treatment of software reuse principles and metrics. Drawing on both academic and industry research, Poulin begins with a survey of reuse and how it is measured.
With this book, individual developers and small development teams can gain the benefits of configuration management that were previously restricted to large organizations with large budgets. This pragmatic, easy-to-read guide to configuration management comes with all the freeware PC developers need to get started.
Requirements engineering is one facet of large project development that is often overlooked. If more effort is put into the definition and documentation of what the system is to do, the end result will be more reliable and easier to improve. Requirements need formal analysis and review before the work begins. This book provides a guide to do this in a rigid, structured manner that will produce documentation and test plans needed to design a successful system.
This book covers all phases of the life of a safety-critical system from its conception and specification, through to its certification, installation, service, and decommissioning. It provides information on how to assess the safety implications of projects and determine the measures necessary to develop systems to meet safety needs.
This book provides a comprehensive description of software engineering including conventional development methods and advanced approaches, like object-oriented development and cleanroom software engineering. The book also addresses management issues such as project planning, risk management, quality assurance, and configuration management.
Millions of dollars are wasted and many managers' jobs are put on the line when computer systems do not live up to their expected performance, or fail outright. Concentrating on management skills and the tools needed for analysis and control, this book helps managers learn from others' mistakes to help prevent failure in their own companies.
This book is the first to describe the unique benefits and challenges associated with fault injection methods. Instead of focusing on theory and algorithms, the authors explain fault injection methodology by extensive use of applications data and real-world case studies.
The book has been substantially rewritten and redesigned to account for the fast-changing developments in software metrics--most notably their widespread penetration into industry practice.
All sections are updated. There are new sections on process maturity and measurement, goal-question-metric, metrics plans, experimentation, empirical studies, object-oriented metrics, and metrics tools. This book provides an accessible and comprehensive introduction to software metrics.
This is the field guide for everyone involved in software development--especially those without formal management training. Acclaimed expert Steve McConnell maps out a proven approach to project management that you can learn and use successfully right away.
The quality of delivered software products, and the processes that develop them, are often viewed from a technical, or developer's, viewpoint. This book discusses techniques to ensure that quality and effectiveness of development include customers' views and needs.
This book is in reference format. It is an excellent guide for developers, testers, and managers to look up terms in an easy-to-use format. It contains definitions of software quality terms as well as statistical data from research studies.
This book provides an overview of Software Quality Management. In the author's words, "This book presents a methodology that controls risk using quality management integrated with advanced software project management." The book outlines a Software Quality Assurance Plan (SQAP) and leads the reader through a discussion of the various certification models (ISO, CMM and Baldrige). The primary audience comprises those working in software management, particularly software project management.
This book is the first professional-level guide in the important new field of software reuse. With the latest data on reuse, it explains the fundamental methods and metrics for successful reuse. Reuse has been called the central technical concept of the 1990s programming breakthrough: object technology. The book discusses object-oriented technologies, but goes well beyond them.
Quality software helps companies gain access to important markets and maintain credibility as quality software developers. That is why information about the best companies in the software development industry, their experience and practices, is important and valuable. This book provides that information.
Focused on practical solutions rather than theory, this book provides models of written processes for software development and inspection along with outlines of several software-related documents. The book is a practical reference for software quality professionals, project managers, and engineers who are responsible for quality assurance. The book can be used as a basic text for introductory undergraduate courses.
Few books have successfully combined the areas that make up software process improvement and the relevant experiences and data. This book provides information at the individual, managerial, division, and corporate levels to plan, execute, check results, and act on those results. This ensures improvement in the present and in the future.
This paperback book describes the authors' top challenges of software testing and illustrates the tactics testers can use to avoid "lose-lose" situations. Each challenge is outlined with an overview, state of the practice, impact on testing, solutions to the challenge, guidelines for success and a plan of action. The summary chapter is a plan of action to improve testing, followed by four pages of resources.
This book attempts to show the differences between (1) traditional mainframe development and its related testing, and (2) Client/Server rapid-development models and their testing concerns. The book provides many interesting insights into Client/Server and what aspects require testing. It is apparent that the author has a strong development background and is not as well founded in testing and QA concepts.
With his first software novel, Tom DeMarco delivers a highly entertaining and subtly educational book all about project management. The plot centers around Mr. Tompkins, a downsized project manager who is kidnapped and whisked away to the fantasy Republic of Morovia. There, he is asked to manage a huge staff of developers to deliver six software products with impossible deadlines. Using different size teams and different methods, Mr.
This book will help organizations evolve from ad hoc software development processes to a clearly defined custom framework. The framework builds on existing knowledge, can be monitored, and delivers significantly improved object-oriented software quality throughout the entire project lifecycle.
This book provides a practical guide to the implementation of the Ami software metrics program for improved efficiency and effectiveness within a real company environment.
The ISO 9000 standard is becoming increasingly important in the software industry--many European firms now require it. This book is a "what-to-do" and "how-to-do-it" guide to applying the ISO 9000 standard to building quality software. The book outlines what the ISO 9000 standard is, how it is to be applied to software development, where it stands in the overall world of software quality approaches, and what has happened in specific applications of the standard.
This hands-on, user-friendly reference introduces a unique, Deming-related approach to attaining ISO 9000 registration through a proven method: TAP PDSA (Train, Audit, Plan and Plan, Do, Study, Act). The book takes the reader sequentially from the beginning of a registration effort to life after registration.
Larry Putnam and Ware Myers combine substantial doses of common sense; a pragmatic insistence that you must measure in order to manage effectively; the realization that software engineering, like most other things in real life, has rhythms and patterns that can be understood if properly analyzed; and an optimism that things can get better. Their optimism is backed by copious industry data.
Quality does matter to the software developer. The construction of a Quality Management System is one practical way to bring quality disciplines to software development activities. Those two points are central in this book. The book makes ISO 9001 and ISO 9000-3 software specifications accessible and relevant to software specialists while recognizing the very real deficiencies of these documents.
This book is an essential reference for all managers facing the multitude of issues involved in any measurement program. Developed from an award-winning doctoral thesis at Carnegie Mellon University, this is a lucid, captivating analysis of organizational performance measurement.
Object-oriented metrics are an integral part of object technology at the research level and in commercial software development projects. This book offers theoretical and empirical tips and facts for creating an OO complexity metrics program, based on a review of existing research from the last several years.
This book will explain why some software systems fail and what you can do to salvage them before they mean critical disaster. It ultimately provides an indepth look at all the factors which affect development, and suggests ways in which to minimize risks and maximize successes.
This is a short book intended to present elements of software quality systems. Correctly called a primer, it depicts and discusses multiple areas that need to be understood by Information Technology specialists and managers. The appendices, most of them IEEE Standards, point out the usefulness of IEEE work and documents in the standards and quality-assurance areas.
In this total update of the author's classic, quality guru Philip Crosby revisits and ultimately reaffirms the thinking he introduced in his earlier, tradition-shattering Quality is Free. In that volume, he took quality precepts learned at ITT and adapted in his great entrepreneurial experiment, Philip Crosby Associates (PCA), and rolled them out for the business world's lasting benefit.
This is volume four in a four-volume set. This book focuses on how to create the environment necessary to implement the processes and concepts described in the previous three volumes. The key focus is getting the required support and environment in place to support process improvement.
If you wrestle with development mileposts and deadlines, this book can show you the tested strategies and tactics you need to keep your projects on time and on budget. In the tradition of McConnell`s bestselling Code Complete, this book brings together the best research and hard-won experience to help you get control of your development projects.
The introduction says the book is intended for anyone wanting to 1) learn the elements of a lifecycle, 2) implement an object-oriented software lifecycle, 3) improve software quality and maturity, 4) obtain a recipe and checklist for software project management, and 5) get started selecting and implementing tools for OO software development.
This book treats many facets of our industry: social issues, programmers and careers, current and new technology, trends, future predictions, the Internet, Java, Microsoft, good-enough software, and even intelligent milk cartons and toothbrushes.
This book shows how applying risk management to each stage of the software engineering model can help the entire development process run on time and on budget. Starting with a concise overview of quality software, it identifies the potential threats associated with software development, explains how to establish an effective risk-management program, and details the six critical steps involved in applying the process.
This book provides up-to-date information on determining which software parts affect each other. It provides a lot of ideas for doing impact analysis better, presents a framework for the field, and focuses attention on important results.
The software testing process is the way in which people, tools, methods, measurements, and equipment are integrated to test a software product. This book offers a toolbox for the practical implementation of the testing process and how to improve it. Based on real-world issues and examples, it brings together the key methods of software testing with practical implementation techniques, and presents a simple, highly practical approach to those getting started.
The authors describe the statistical techniques currently available for managing and controlling the quality of software during specification, design, production, and maintenance. The book includes real-world case studies. The statistical theory presented is designed to be comprehensible to those with a minimum of mathematical knowledge. It will be invaluable to practitioners and to students of software engineering.
Technical Risk Management is at the forefront of skills dedicated to achieving affordable quality. Based on proven techniques developed over decades of experience, and bearing the endorsement of Norman R. Augustine, Chairman and CEO of Martin Marietta Corp., this book provides the tools needed to bring quality products to the marketplace on time and within budget.
This book is a classic high-level management theoretical text. Its contents strongly concentrate on management styles such as TQM (Total Quality Management) and QFD (Quality Function Deployment). Its subject matter lacks the practical descriptions of test procedures such as White Box testing, Black Box testing, Integration, etc.
This book provides a comprehensive review of Object-Oriented software engineering. Various analysis techniques are explained in detail and then expanded upon by the author. A weather-data-acquisition system and distribution system demonstrate the Object-Oriented methods in some detail.
Considered by many to be the cornerstone of software development and management, the Function Point Counting methodology is one of the fastest growing software management techniques in use today. In this volume, the authors offer the opportunity to more fully understand the value of software measurement, while at the same time, enlightening practitioners about the details of Function Points as a software metric.
(From the Back Cover)
This book not only explains QFD fundamentals clearly and concisely, it takes you well beyond the basics to provide the advanced techniques, specific information, and concrete examples you need to implement QFD successfully and derive its full benefits.
There are a growing number of users today who are turning to C for safety-critical development and many safety-critical systems are being written in C. However, there is no guidance available for the use of C in safety related work. This book provides developers and programmers with an essential critique of existing standards initiatives for safety critical development and an in-depth critique of the C language from a safety viewpoint.
We are building systems today--and using computers to control them—which have the potential for large-scale destruction of life and environment. More than ever, software engineers and system developers, as well as their managers, must understand the issues and develop the skills needed to anticipate and prevent accidents before they occur. Professionals should not require a catastrophe to happen before taking action.
This book describes 40 innovations that helped one of IBM's software development labs (Saint Teresa) achieve major improvements in the quality of its software and development processes. While the lab is a large organization most of the innovations were developed originally by small teams of programmers and are well suited to small organizations. The authors have tried to make it easy for others to understand and apply.
This book offers a balanced presentation of theory and practice. Featuring exhaustive coverage of the foundations of reliability, safety, and testability, it uses real-world examples, illustrations, and clear descriptions to explore all of the latest techniques for assessing those qualities.
(no abstract available)
This book presents a comprehensive overview of current software quality assurance and metrics in practice in industry, with contributions from around the world. The book discusses themes that are influencing current practice and international standards. The book moves from a presentation of measurement framework, to methods and tools, to research case studies of QA and metrics.
Software Quality Control, Error, Analysis
This is a practical book that shows software developers how to comply with the International Standards Organization's (ISO) quality standard and how to use it as a catalyst for improved quality throughout the development process. It addresses issues of quality, management, and control in the software development industry. It shows software developers how to come to terms with ISO 9001 and how to use it specifically in the development process.
This book is a collection of approximately seventy-five short pieces dealing with topics in the field of software requirements analysis, specification, and design.
Software Testing offers an up-to-date synthesis of information in the field of software testing. It is the only text to bring together the two fundamental approaches--functional and structural--with numerous practical examples and exercises. The material provides the basis for making well-informed choices regarding appropriate techniques. Part I focuses on the mathematics needed to understand and correctly apply the two fundamental approaches.
This book on systems management discusses important concerns for the development of systems from the perspective of information technology, information systems, and software systems engineering. It focuses on the systems management of processes for information technology and software development organizations.
This book provides a description and technical overview of the CMM, along with guidelines for improving software process management in general. It is a sequel to Watts Humphrey's work Managing the Software Process in that it structures the maturity framework presented in that book more formally.
This reference presents, in detail, an effective, step-by-step, cost-effective approach to software testing, which is based on common practice, with improvements inspired by academic testing research and practical experience. The approach is designed to be gradually adoptable, so that it does not disrupt current work. It scales down gracefully under schedule pressure.
Large software systems need to be carefully tracked. This book gives the methods and theories needed to set up checks and balances for a software system. Due to the tremendous amount of code, complex software systems need to be carefully monitored to ensure they run efficiently when they are completed.
(no abstract available)
This is a delightful collection of essays (most previously published) dealing with various software issues. Even though this book doesn't try to instruct the reader in any particular subject, such as configuration management or software measurement, most readers will gain a better understanding of several facets of software development. Unlike most books with the word "software" in the title, this book is fun to read, and you can actually read it from cover to cover in one sitting.
Although described as a case history on implementing concurrent engineering, this book is essentially a textbook of the classic principles and techniques of Total Quality Management. By extension through TQM's emphasis on improving processes, the book also addresses related topics. They include process reengineering, the seven basic and seven advanced quality problem-solving tools, and team building.
This book is a basic introduction to measurement and the validation and use of metrics.
This book discusses the application of ISO 9001 for software development. Beginning with an introduction to the idea of quality and the ISO 9000 series, the book devotes a separate chapter to an examination of each facet of the standard.
This book provides a number of specific metrics that apply to object-oriented software projects. The metrics are based on measurements and advice drawn from a number of actual projects that have successfully used object technology to deliver products.
This book is volume three in a four-volume set. The book outlines how to produce high-quality software through high-quality managers.
This is the inside story of the development of Windows NT. NT took five years and $150 million to complete. For much of that time, the massive program demanded the attention of more than 200 testers, writers and technicians. This book tells the tale and lays bare the messy, wrenching reality of large scale software innovation.
This is a practical and very readable book that will be useful for both novices in the software-process-design environment and for seasoned professionals. The book is divided into three logical subject groupings.
From the preface - The aim of this book lies in the integrated exposition of four aspects of quality assurance (planning administration, construction, analysis and psychological orientation) which form the framework for all kinds of quality assurance projects.
This book places quality in the context of best software engineering practice and provides a map for companies to develop their own quality system. The needs of small, medium-sized, and large organizations are covered. Detailed information is given regarding the international standards ISO-9001, ISO 9000-3, and ISO 9004-2, as well as the capability Maturity Model.
A basic book beginning with a general survey of the role of software testing and a number of testing methods including statement, dataflow, and domain testing along with the tools to support them.
There are two factors that make the usability of software one of the most important issues today. Both of them are closely related to the current growth of Internet technologies: (1) The quantity of software users and software products being produced and released to the market is growing exponentially; and (2) The "average software user" is more and more inexperienced.
The author (from Telecom Australia) describes particular tools, usability testing, and evaluation procedures. Most of these have been derived from behavioral and social science, but have been updated specifically to the human-computer interaction environment. Numerous examples show how and when the tools can be used most effectively.
This is a practice-based, empirical book on how to make measurement work in your organization. The author explains what to measure, how to measure it, and why you should.
Goodman's book claims to be written specifically to help organizations successfully introduce software metrics programs. The book is easy to read and is certainly recommended as an introduction to starting a measurement process.
This book discusses the development of computer systems for use in safety critical applications, the technologies used, and the experience of those using them. It includes contributions from many experts in the field.
This book claims to be a complete guide to software engineering and development. It includes a diskette.
For anyone responsible for designing, creating, programming, or managing a software system, this book offers a basic guide to achieve significant improvement in the quality and productivity of the systems. It explains how to control individual processes that span the software lifecycle with process-quality metrics and quantitative modeling.
This book focuses on the early phases of the software development lifecycle. The author discusses the latest research results from the requirements arena and examines techniques that will lend themselves to your particular problem. Each technique is followed by a case study illustrating how that technique can be applied to three real problems. The book is recommended for the practicing systems engineer, software analyst, or requirements writer.
This authoritative handbook draws together into a single, comprehensive volume the proven software testing principles, standards, and approaches that can be applied in MIS applications development. Practical and technical in perspective--yet accessible in approach (even to those without a technical background)--it demonstrates how to plan software testing activities in specific situations relating to MIS projects.
This excellent book lives up to its title in delivering practical and application-oriented advice for project and process managers. The book highlights Hewlett Packard’s experiences using software metrics, incorporates more than seventy charts and graphs from real projects, and shows how the metrics can be rolled up into useful and workable organization indicators. The book includes a good bibliography.
This book is volume one in a four-volume set. It focuses on the theme that high-quality software demands high-quality management. Weinberg tackles the first requirement for developing quality software: learning to think correctly about problems, solutions, and quality itself.
This book is a collection of 13 articles, mostly from the UK, which highlight some of the more important and difficult aspects of risk management in a variety of contexts. Organizations struggle to survive by using new technologies and marketing new products which may put at risk employees, customers, shareholders, society, the environment, and our ecosystem. All aspects of risk analysis, assessment and management are addressed, extending from methodology to ethics.
Software Configuration Management provides step-by-step guidance for identifying the items of a software system that are subject to change during the system life cycle. It defines procedures for the systematic evaluation, coordination, approval or disapproval, and implementation of all changes to the software configuration.
Of the many books on software quality, this one offers a unique question-and-answer format. It emphasizes the most crucial quality considerations and places a strong focus on the quality-productivity link. A wealth of examples and attention to practical techniques make it easy to use. The book includes a number of examples in C.
This book examines some of the difficulties associated wth testing large systems (defined as 3 million LOC and up), but is also useful for developers and testers of smaller systems. Topics include testing methodology, documentation, metrics, and management.
This is the first book on the "cleanroom" approach to building software. The book outlines what the cleanroom process is and reports on experiences using it in industrial strength projects. Managers and practitioners will find the book worthwhile and stimulating. It is a must for anyone who plans to seriously introduce or experiment with the cleanroom ideas.
From the foreword by Tom Peters: "This is a remarkable tale. IBM had an amazing success with its AS/400 mid-range family of computers. So? The 'so' is revolution and transformation—fast, no less. Disarray is too kind a word for IBM's position in the growing important mid-range computer business in 1986. Competitors were attacking from every point on the compass. IBM Rochester didn't even know how to measure market share.
Any organization using or thinking about using automated size-estimation and project-tracking tools needs this book. Putnam shares his experience with size-estimation modelling and provides insight about what he and the industry have learned.
This book is an expanded version and new edition of what used to be called Effective Methods of EDP Quality Assurance. New chapters include coverage verification, validation, testing techniques, maintenance, QA for the personal computer, and measuring reliability. With its appendices the book now extends over 800 pages and is hard to digest. The book contains a sample QA manual as an appendix. The book is worthwhile for the dedicated QA specialist or organization.
The title of this book does not do it justice. It
does, indeed, discuss requirements, prototyping,
and software creation; but it also addresses risk
management, the process of change, the psychology
of software development, and more. The book is
very readable and thoroughly enjoyable.
This book outlines the general design of experimental tools created by quality guru Dorian Shainin. It explains seven popular Shainin techniques, offering case studies and practice exercises. It includes a comprehensive case study illustrating the technique on a company-wide scenario. It draws on actual experiences at Motorola.
A unique treatment, this book is designed to provide real answers to software acquisition managment--the processes of acquiring, via formal agreement with the developer (contract), software that has to be developed or has a rather large content requiring development.
This comprehensive book incorporates the perspective of the IEEE standards (Hollocker chaired the effort that produced the ANSI/lEEE Standard for Software Reviews and Audits). The book has fresh material with good coverage of software audits and an emphasis on the use of audits for what Hollocker refers to as a "controlled process evolution." The human side of reviews is not emphasized. The book’s 130-page appendix contains sample checklists, forms, and report documents.
Expert consultants Tom DeMarco and Tim Lister have combed through ten years' worth of software magazines and journals and selected thirty-one of the best articles on software issues. The articles were chosen for their fresh, new insights on the software profession as well as for their readability. More than a dozen sources are represented, including IEEE Computer, Software Practice & Experience, IEEE Transactions on Software Engineering, and Communications of the ACM.
This book presents a collection of test techniques, many of which are based on the author's firsthand experience as Director of Testing and Quality Assurance for a telecommunications software producer. It describes various techniques (decision tables and formal grammars) that provide precise specification-driven testing.
The book focuses on two processes that the author refers to as "technical planning" and "quality planning." They are designed to lead the manager through a technical assessment of the problem to be solved and to proceed from that to the formulation of a traditional resource plan.
The stated aim of this book is to contribute to the wider use of formal methods in the specification and design of computer systems. VDM was developed in an industrial environment and has seen significant use in England. Attention is focused on formal specification and verified design.
This is a very provocative book that should be read by anyone working in the field and concerned with software processes and methods. The book provides a thorough challenge to the Waterfall methodology and offers a lot of fresh material and insight about other ways of organizing and conducting software development. Wicked problems (the problems are fully understood after they're solved) are defined and explored effectively.
In this short but informative book on measuring software quality, the authors have shown not only what to measure (as a starting point), but have given some useful insight on how to use the measurements once collected.
Phadke was trained in robust design techniques by Genichi Taguchi, the mastermind behind Japanese quality manufacturing technologies and the father of Japanese quality control. Taguchi's approach is currently under consideration to be adopted as a student protocol with the US government. The foreword is written by Taguchi.
This is a comprehensive book about software quality and how to achieve it. Part 5 on quality planning is especially useful with examples of what a quality plan might look like for a small project, a large industrial project, and a military project.
This book is designed to help software engineers and project managers to understand and solve the problems involved in developing complex software systems. It provides practical guidelines and tools for managing the technical and organizational aspects of software engineering projects.
Organized as a collection of essays about programming, this is another Weinberg classic. If you are a programmer, or manage programmers, or indeed just associate with programmers, this is a book for you.
This book focuses on the efforts at Hewlett Packard in the late '80s to establish a meaningful program to collect and analyze information. This was needed to assist in the management and development of quality systems. Many papers and a few books have previously addressed this subject, usually based upon isolated case studies conducted at several different companies.
(From the Back Cover) Based on the authors' extensive experience in the software industry, this volume describes and extensively illustrates practical techniques for transforming any software development endeavor into a visible, traceable, and hence manageable process.
The third in a series in software engineering, here is a timely and integrated approach designed to enhance productivity and assure quality software. Explores the development process in its entirety, from methodologies of development to the flow of work and responsibility within a project, to management controls needed to monitor and direct the process.
This book grew out of an internal class taught at AT&T Bell Laboratories. The authors also gained experience and insight by testing and refining the book’s ideas on a large number of software projects at AT&T. If offers the best coverage of reliability models and measurement we have seen. Examples and case-study problems are sprinkled liberally throughout, which help the reader understand some of the more theoretical material.
The authors of this book explore the requirements of modeling of real-time systems. Traditional flowcharts assume processes occur sequentially, which although frequently elegant in design, are not rich enough to describe real-time systems. The descriptions of some of the models in the book will appear familiar to testers.
The author analyzes the full spectrum of detecting and removing bugs from computer programs during development and subsequent modification.
A comprehensive guide that shows you how to create and maintain reliable, robust, high-quality software. Using nontechnical, easy-to-understand language, the book runs the gamut from unit testing to system testing. Quality assurance checklists guide you.
Designed for first-time and experienced users, this book describes the UNIX® programming environment and philosophy in detail.Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.
In a nontechnical style, this book shows managers how to organize software projects effectively so they are objectively measurable. The book prescribes techniques for making and updating accurate projections of time and cost to deliver. DeMarco provides a number of helpful methods to forecast the costs of future software projects and to track a project's progress with respect to its estimates.
Stressing the basic but often ignored management concept of maximum efficiency and zero defects, the author details easy-to-implement programs and actual case histories designed to benefit the small businessman, the middle manager, and the supervisor, as well as the giant corporation.
This book is an excellent reference work on software measurement. Heavy emphasis is on estimating--including an in-depth explanation of the COCOMO model. Even though this book was published almost ten years ago, it is still one of the most quoted books on the subject of software measurement.
(no abstract available)