Showing posts with label quality. Show all posts
Showing posts with label quality. Show all posts

A Discipline for Software Engineering Review

A Discipline for Software Engineering
Average Reviews:

(More customer reviews)
Are you looking to buy A Discipline for Software Engineering? Here is the right place to find the great deals. we can offer discounts of up to 90% on A Discipline for Software Engineering. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

A Discipline for Software Engineering ReviewThis book's title contains two key words that are woefully missing from most development projects: "discipline" and "engineering". With this book Mr. Humphrey introduced the personal software process (PSP), which subsequently spawned the team software process (TSP). Although the material is over 6 years old and does not seem to have gained wide acceptance in commercial development and project environments, it provides a roadmap to effectively integrating the increasingly popular extreme programming (XP)approach that was developed by Kent Beck.
How does PSP align to XP? Both approaches focus heavily on project planning and estimating, and controlling quality, cost and schedule. Both approaches also use metrics as a baseline and past performance to predict future productivity and quality during the planning and estimation phases of new projects. Moreover, both approaches impose a rigorous discipline at a low level in the development process - PSP at the individual level and XP at the 2-person paired team level. An excellent book on XP that supports this premise is Planning Extreme Programming by Kent Beck and Martin Fowler.
The methods that Mr. Humphrey proposes in this book are the building blocks of an effective XP organization because much of the metrics he proposes for capture, analysis and tracking are the very ones that are key to XP. These methods add the "discipline" into the development process, and "engineering" into the quality approach to any development effort, regardless of whether the methods are aligned to XP or any other methodology. Further, the disciplined engineering approach will provide organizations striving for capability maturity model (CMM) level 4 (managed) or 5 (optimizing) with some valuable tools and techniques with which to achieve these higher levels of maturity. Of course, this is also useful to organizations that are implementing SPICE (Software Process Improvement Capability dEtermination), organizing software process engineering groups, or implementing mature project management methods for development projects.
I agree with a previous reviewer that development is also a social and cognitive discipline, but it is not solely those. The social and cognitive approach will only get you so far. The same is true of the disciplined engineering approach. You need both, and this book is a valuable work for the latter.
In my opinion this book is probably more valuable today then when it was first published because the approach required too much rigor for most organizations to adopt. However, with the growing movement towards XP I believe that this book will add details and techniques that are only superficially addressed in the XP body of knowledge and literature. If you are a proponent of XP this book provides some proven, concrete techniques. If you are striving for higher levels of capability maturity this book (and the companion, Introducing the Team Software Process by Mr. Humphrey) will give you the tools to get to managed, and from there to optimizing. I believe this book is a 5-star classic that was ahead of its time.A Discipline for Software Engineering OverviewThis book from Watts Humphrey broadens his disciplined approach to software engineering. In his earlier book, Managing the Software Process, Humphrey developed concrete methods for managing software development and maintenance. These methods, now commonly practiced, provide programmers and managers specific steps for evaluating and improving their software capabilities. In this book, he scales down those methods to a personal level, helping software practitioners develop the skills and habits they need to plan, track, and analyze large and complex projects more carefully and successfully.

Want to learn more information about A Discipline for Software Engineering?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

How We Test Software at Microsoft Review

How We Test Software at Microsoft
Average Reviews:

(More customer reviews)
Are you looking to buy How We Test Software at Microsoft? Here is the right place to find the great deals. we can offer discounts of up to 90% on How We Test Software at Microsoft. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

How We Test Software at Microsoft ReviewGreat insight into software testing, with a nice balance of stories, process, and test techniques. I now work at Microsoft as an SDET, after many years testing and developing at other software companies, but was still was eagerly awaiting this book.
I'm fascinated by how testers learn their craft, how testing balances the pragmatic and theoretical, and how testers grow in their career. This book covered all that, as well as providing an insight into testing at Microsoft.
For software testers, or anyone interested in software development, this book joins other books I'd recommend, including A Practitioner's Guide to Software Test Design, Testing Computer Software, How to Break Software, and (for security) Hunting Security Bugs.How We Test Software at Microsoft Overview
It may surprise you to learn that Microsoft employs as many software testers as developers. Less surprising is the emphasis the company places on the testing discipline-and its role in managing quality across a diverse, 150+ product portfolio.

This book-written by three of Microsoft's most prominent test professionals-shares the best practices, tools, and systems used by the company's 9,000-strong corps of testers. Learn how your colleagues at Microsoft design and manage testing, their approach to training and career development, and what challenges they see ahead. Most important, you'll get practical insights you can apply for better results in your organization.

Discover how to:

Design effective tests and run them throughout the product lifecycle
Minimize cost and risk with functional tests, and know when to apply structural techniques
Measure code complexity to identify bugs and potential maintenance issues
Use models to generate test cases, surface unexpected application behavior, and manage risk
Know when to employ automated tests, design them for long-term use, and plug into an automation infrastructure
Review the hallmarks of great testers-and the tools they use to run tests, probe systems, and track progress efficiently
Explore the challenges of testing services vs. shrink-wrapped software


Want to learn more information about How We Test Software at Microsoft?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

PSP(sm): A Self-Improvement Process for Software Engineers Review

PSP(sm): A Self-Improvement Process for Software Engineers
Average Reviews:

(More customer reviews)
Are you looking to buy PSP(sm): A Self-Improvement Process for Software Engineers? Here is the right place to find the great deals. we can offer discounts of up to 90% on PSP(sm): A Self-Improvement Process for Software Engineers. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

PSP(sm): A Self-Improvement Process for Software Engineers ReviewThe intent is to reduce the defect rate in software. With an emphasis on doing this when we have several million lines of source code. All the more so if the application might involve safety issues or be critical to its company's bottom line.
Humphrey points out that the writing of such large code might typically follow practices used for code bodies orders of magnitude smaller. But that this leads to far too many defects. He explains that PSP offers a discipline for the individual programmer to follow. And how this can be scaled to a team of programmers.
PSP stresses investing in design time and review time, relative to the actual coding time. It's big on writing down the times spent on these stages, so that you have actual quantities to see and from which to get metrics. You cannot improve what you cannot measure. The review time is considered a good investment, for finding bugs here is inherently more productive than relying on a downstream testing stage or user feedback.
Perhaps the most contentious aspect is whether to do a review of your code before compiling it?! Many will not. After all, the compiler can swiftly find the syntax errors. Why waste time looking for these beforehand? Isn't this a retrograde step? The book's rejoinder is that syntax errors might be considered to be distributed like more serious logic errors. Hence, if you review before compiling, and find 80% of the syntax errors that the compiler finds, then perhaps you only also found 80% of the logic errors. Opps?
A simple and ingenious self diagnostic tool. But despite the logic of this, water will flow uphill before any significant portion of programmers adopts this method. Pressing 'make' or its equivalent to do a compilation is simply too easy. The book is on far more plausible ground describing the other aspects of PSP.PSP(sm): A Self-Improvement Process for Software Engineers Overview
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. Fortunately, the Personal Software Process (PSP) provides a clear and proven solution. Comprising precise methods developed over many years by Watts S. Humphrey and the Software Engineering Institute (SEI), the PSP has successfully transformed work practices in a wide range of organizations and has already produced some striking results.

This book describes the PSP and is the definitive guide and reference for its latest iteration. PSP training focuses on the skills required by individual software engineers to improve their personal performance. Once learned and effectively applied, PSP-trained engineers are qualified to participate on a team using the Team Software Process (TSP), the methods for which are described in the final chapter of the book. The goal for both PSP and TSP is to give developers exactly what they need to deliver quality products on predictable schedules.

PSPSM: A Self-Improvement Process for Software Engineers presents a disciplined process for software engineers and anyone else involved in software development. This process includes defect management, comprehensive planning, and precise project tracking and reporting.

The book first scales down industrial software practices to fit the needs of the module-sized program development, then walks readers through a progressive sequence of practices that provide a sound foundation for large-scale software development. By doing the exercises in the book, and using the PSP methods described here to plan, evaluate, manage, and control the quality of your own work, you will be well prepared to apply those methods on ever larger and more critical projects.

Drawing on the author's extensive experience helping organizations to achieve their development goals, and with the PSP benefits well illustrated, the book presents the process in carefully crafted steps. The first chapter describes overall principles and strategies. The next two explain how to follow a defined process, as well as how to gather and use the data required to manage a programming job. Several chapters then cover estimating and planning, followed by quality management and design. The last two chapters show how to put the PSP to work, and how to use it on a team project. A variety of support materials for the book, as described in the Preface, are available on the Web.

If you or your organization are looking for a way to improve your project success rate, the PSP could well be your answer.


Want to learn more information about PSP(sm): A Self-Improvement Process for Software Engineers?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...