this book from cover to cover thanks to McConnell's excellent prose, and that's certainly the way Rapid development: taming wild software schedules / Steve. on software construction: Code Complete by Steve McConnell. This is a book that Rapid Development: Taming Wild Software Schedules / Steve. McConnell. [Microsoft Press] Steve Mcconnell - Rapid Development, Taming Wild Software ruthenpress.info - Ebook download as PDF File .pdf), Text File .txt) or read book.
|Language:||English, Spanish, Japanese|
|Genre:||Children & Youth|
|Distribution:||Free* [*Register to download]|
Rapid Development: Taming Wild Software Schedules. Home · Rapid Development: Author: Steve McConnell Rapid application development with Mozilla. In Rapid Development, author Steve McConnell addresses that concern head-on with overall strategies, specific best practices, and valuable tips that help. In RAPID DEVELOPMENT, author Steve McConnell addresses that concern - Selection from Rapid Development: Taming Wild Software Schedules [Book].
Feature Cuts Further Reading Change Board Goal Setting Inspections Lifecycle Model Selection Principled Negotiation Requirements Scrubbing Spiral Lifecycle Model Establish Win-Win Preconditions Step 2: Tools Group Rather than identifying a specific tool or method.
But the improvement won't come instantly. To the hacker. And no one of them can measure up to certain other prac- tices that are not commonly thought of as rapid-development practices but that nonetheless have profound development-speed implications. In today's climate. Each one of these tools and methods is fine as far as it goes. A "rapid-development project. You'll be able to do that without harming quality. But to provide full benefit.
Rapid development is a generic term that means the same thing as "speedy development" or "shorter schedules. But the road more traveled is the road that is currently resulting in massive cost and sched- ule overruns. Chapter 1: Welcome to Rapid Development 1. To the information engineer. If you work in a typical organization and follow the practices in this book.
Switching to the road less traveled might seem risky. You use only a small sub-subset of those practices on any particular project.
When they need maximum scheduling certainty. They choose practices that are proven failures or that fail more often than they succeed. Development speed depends on the choice of development practices. At an executive-overview level.
Set of all software-development practices. Mencken opment of software is even less simple. When they need to reduce costs. I also wish problem. How rapidly you develop any particular program depends on the extent to which you choose effective practices and on the extent to which you choose schedule-oriented practices. The first step toward improv- ing development speed for those organizations is to admit that they're choos- ing ineffective practices and then to begin choosing effective ones.
Rapid devel- H. But simple solutions tend to work only for simple answer that is short. Within that set. As Figure suggests. You might think this is obvious. Schedule-oriented practices come in three kinds: If you think that your development speed is OK and that your customer's perception of your development speed is the problem. Welcome to Rapid Development All of the effective schedule-oriented practices are lumped into one category in Figure The specific kinds of schedule-oriented practices you choose will be deter- mined by your specific concerns about development speed.
If you think you genuinely need to develop faster. When you put effective schedule-oriented practices together with a plan for using them. Individual schedule-oriented practices are only part of what's needed to achieve the shortest possible schedule.
The string section's timing wouldn't match that of the woodwind or brass section. We forgot to include time in the schedule for the printing subsystem! Chapter 3 Development fundamentals: Chapter 4 Risk management: Chapter 5 Core issues in rapid development: One of the most tempting traps that people who want faster development fall into is the trap of focusing too much on a single schedule-oriented de- velopment practice.
A general framework that allows those practices to be used to maximum advantage is also needed. A similar waste of talent is commonplace in software development. Such a musical event would be a waste of talent. Instructing the musicians to "do their best" wouldn't help them know whether they should play louder or softer. Rapid-Development Strategy Contents 2.
You might execute rapid prototyping perfectly. Teams of smart. Chapter 2: Rapid-Development Strategy This chapter puts forth an orchestrated strategy for achieving rapid development. Rapid Development Without a Clear Strategy continued 6.
Case Study Rapid Development Without a Clear Strategy. Avoid classic mistakes. Apply development fundamentals. Avoidance of the pat- tern takes effort but is within reach of anyone who is willing to throw out their bad habits.
You can achieve rapid development by following a four- part strategy: You can use the strongest schedule-oriented that must be built practices. And if you don't manage risks.
Figure Rapid product Pictures with pillars have become kind of hokey.. If you skip the development Donald G. Apply schedule-oriented practices such as the three kinds of practices shown in Figure in Chapter 1. Manage risks to avoid catastrophic setbacks. Without the late—to market faster. You'll be late again. The four pillars of rapid development. The best possible schedule depends on classic-mistake avoidance. Smith and expensive to do so.
Your project will be late. But as Figure illustrates. The best-practice summaries in Part III of this book list the effect that each practice has on development speed. The rest of this book discusses specific schedule-oriented practices. Rapid-Development Strategy The illustration also suggests that the first three pillars provide most of the support needed for the best possible schedule.
I'll take up the topic of development fundamentals in Chapter 4 and the topic of risk management in Chapter 5. Even the finest schedule-oriented practices aren 't strong enough to support the best possible schedule by themselves. Chapter 3 will introduce classic mistakes. In most cases. But running a software project isn't a parlor trick. If you do manage to pull it off once. I can balance a chair on my chin.
You might be able to achieve an optimal schedule without schedule-oriented practices. The first three pillars shown in Figure are critical to the success of rapid development. Result of focusing solely on schedule-oriented practices. If you'd rather read about rapid development itself before reading about the three steps needed to lay the groundwork for rapid development.
People have pulled off stunts like that before. Can you achieve the best possible schedule by focusing only on schedule- oriented practices? You might just be able to pull it off. Not ideal support. People perform quickly. Technology assists the development effort. You can focus on all four dimensions at the same time.
But because they're dimensions. But the concept I want to get across is very much one of dimension rather than direction. In response to this diagram. A focus on product would detract from a focus on process. Tlje four dimensions of development speed—shown here in two dimensions. It's four directions. I can almost hear some engineers saying. I can't draw in four dimensions. If these were directions. Figure illustrates the point. Software development books tend to emphasize one dimension and down- play the others.
That's not four dimensions. The product is defined in such a way that it almost builds itself. You can leverage each of these four dimensions for maximum development speed. You can't even draw in four dimensions! The process leverages people's time. The organizations that are the most effective at achieving rapid development optimize all four rapid-development dimen- sions simultaneously. Or you might be familiar with the positive contribution that an explicit motivational improvement program can have.
Card Rapid-Development Strategy Software organizations tend to view the dimensions they don't focus on as fixed. The first conclusion is that we now know with certainty that peopleware issues have more impact on software productivity and software quality than any other factor. Studies have also found variations in the performance of entire teams on the order of 3. People Results of individual experiments on peopleware issues are well known. Truly rapid de- velopment requires you to incorporate a variety of kinds of practices Boehm et al.
The following subsections introduce the four dimensions and discuss the synergy among them. Boehm Mills Valett and McGarry Curtis et al. After 20 years of experimentation on live projects. It is now possible to step beyond the many individual-study conclusions and synthesize some general conclusions from trends in the research. Once you realize that each of the four dimensions can potentially provide tremendous leverage over a software schedule.
Curtis Jones What is less familiar to most developers. You might be familiar with the claim that there is at least a to-l difference in productivity among different developers. When you focus on a single dimension. Since the late s. DeMarco arid Lister Barry Boehm presents five principles of software staffing and career progression. In his landmark book. Other factors that can make a difference include people's design ability. If you are se- rious about rapid development. A spe- cific software project can also benefit from appropriate specialization.
Team organization. The way that people are organized has a great effect on how efficiently they can work. Software shops can benefit from tailoring their teams to match project size. There are other ways to improve pro- ductivity. This book deals with several ways that you can maximize human potential to reduce software schedules. You have to address them if you want to succeed. This conclusion is a strong one. Taken collectively.
They do not say specifically that team T-shirts. Software Engineer- For more on job matching ing Economics. The research results simply say that the effects of individual ability. Rapid-Development Strategy Motivation. Organizations such as Hughes Aircraft.
The effect that process has on a development schedule is easier to assess than the effect that people have. Some people think that attention to process is stifling.
Basili et al. Process represents an area of high leverage in improving your development speed—almost as much as people. A person who lacks motivation is unlikely to work hard and is more likely to coast. Gibbs Raytheon But that's an abuse of power—and the fact that a process focus can be abused should not be allowed to detract from.
No factor other than motivation will cause a person to forsake evenings and weekends without being asked to do so. Saiedian and Hamilton Putnam A few people have created process standards primarily to make themselves feel powerful.
Myers Few other fac- tors can be applied to so many people on so many teams in so many orga- nizations. Motivation is potentially the strongest ally you have on a rapid-development project.
Ten years ago it might have been reason- able to debate the value of a focus on process. Putnam and Myers Process Process. Managing schedule-related risks is a necessary component of a rapid- development program. A lot of that work has focused on "productivity'' Fundamentals. A focus on process can help. Quality assurance is thus an indispensable part of any serious rapid-development program.
Quality assurance has two main purposes. If you have design problems that you didn't find until system testing. Raytheon won the IEEE Computer Society's Software Process Achievement Award in for reducing their rework costs from 41 percent to less than 10 percent and simultaneously tripling their productivity Raytheon If requirements change in the late stages of project.
The relationship between those two feats is no coincidence. This nearly always means catching errors as close as possible to the time that they are introduced. The first pur- For more on quality pose is to assure that the product you release has an acceptable level of assurance. Although that is an important purpose. Much of the work that has been done in the For more on development software-engineering field during the last 20 years has been related to de- fundamentals.
Developing rapidly isn't good enough if you get ment. One of the most straightforward ways to save time on a software project is to orient your process so that you avoid doing things twice. Although standard software-engineering practices for analysis. The most common form of process abuse is neglect. The second function of quality assurance is to detect errors at the stage when they are least time-consuming and least costly to correct. One of the specific practices that's focused on avoiding For more on risk manage- disaster is risk management.
The longer an error remains in the product. Half of the challenge of rapid development is avoiding disaster. The lessons learned from 20 years of hard knocks can help your project to proceed smoothly.
Rework avoidance. You can. On a rapid-development project. For example. One of the gestalt shifts between traditional. The best practices of staged releases. The other half is helping the customer figure out what the product should be.
Lifecycle models make it easy to identify and organize the many activities required by a software project so that you can do them with the utmost efficiency. One of the keys to targeting resources effectively is to For more on lifecycle apply them within a lifecycle framework that makes sense for your specific planning.
Rapid-Development Strategy Resource targeting. Best practices such as pro- ductivity offices. Without an overall lifecycle model. Resources can be focused effectively and contribute to overall productivity. Putting yourself on the same side as the cus- tomer is one of the best ways to avoid the massive rework caused by the customer deciding that the product you just spent 12 months on is not the right product after all. A lifecycle model is use- ful because it describes a basic management plan.
Developers Development. If rapid development is truly top priority. The change from low-level lan- tools. Be- effect that product size has cause the effort required to build software increases disproportionately faster on a development schedule. Large products take a long time. You can reduce product size outright by striving to develop only the most essential features.
If you can keep the product's look and feel. If you can reduce a product's feature set. Product size is the largest single contributor to a development For more on manipulating schedule. Although not as influential as product size.
You can develop the other 20 percent later. Smaller products take less time. A product goals can have on a development schedule. Chapter Cutting the size of a medium-size program by one- half will typically cut the effort required by almost two-thirds. Both product size and product characteristics offer opportunities to cut de- velopment time. Choose your battles. They require additional coordination with other Control. The exact amount of schedule reduc- tion made possible by focusing on product size and product characteristics is limited only by your customer's product concept and your team's creativity.
You can also reduce it by developing in a higher-level language or tool set so that each feature requires less code. If the feature set is flexible. Table Neil Olsen conducted a study in which he found that going from low spending to medium spending on staffing.
Rapid-Development Strategy similarly dramatic results. Choosing tools effectively and managing the risks involved are key aspects of a rapid-development initiative. In other cases. Good practices tend to support one another. Synergy There is a point at which your focus on people. At the same time. In some cases.
Software-engineering practices can also be synergistic. But when spending on staffing. Table describes some trade-offs among different development approaches. Design and code reviews help to disseminate knowledge about both the coding standard and existing reusable components.
For many projects. The first three steps in achieving the best possible schedule make up "efficient development. Efficient development. That approach produces better than average results in and Chapter 4. Many people achieve their schedule goals af- "Software Development ter they put the first three pillars into place.. Can you achieve shorter schedules without first attaining efficient develop- ment?
Some people discover that they Fundamentals. The second For an example of the approach listed in the table is what I call "efficient development.
You can choose effective. If you choose specific schedule-oriented practices without a general strategy. Until you attain efficient development. Classic-Mistakes Town Figure From where most organizations are now.
You'll have to make small trade-offs r merit.
Assurance Fundamentals. There comes a point when you're working as smart as you costs of schedule compression. For more on the oriented practices. After you reach efficient development. As Figure shows. To get here. If you are practicing efficient development and find that you between speed-oriented and schedule-risk-oriented still need better schedule performance. Tlje road to rapid development.
You're prevented from exercising the technology dimen- sion to the utmost. They have learned how see Section 6. Shrink it as much as you can. If you're working on an in-house business program. Because of increased communications and man- agement overhead. Few projects welcome such trade-offs. If you're developing a fuel-injection system for a car. At the strategy level. Development Do You Need? You're able to exercise technology to the utmost.
They apply development fundamentals. But you might work for a stodgy corpo- ration that prevents you from doing much in the people dimension. If you're working in a feature-driven shrink-wrap market. Here's an example of what I mean by an "inefficient"' practice: Empha- size people as much as the company allows. The net effect of a shorter schedule and larger team size is a project that costs 33 percent more than the nominal project. Different projects have different needs.
At the tactical level. And they One Size Fit All? Rapid-Development Strategy To summarize: There is a different road that based approaches. This approach has produced notable successes. Then stretch each to the utmost. Rapid development with this commitment- based approach is achieved through grit. For a start-up company That road is characterized by hir- Scheduling" in Section ing the best possible people. The approach is hit-or-miss. They make additional commitments with their mouths but not with their hearts.
It usu- ally devolves to a code-like-hell approach. Here's a summary. Kidder Sometimes it works. Because it burns people out. On commitment-based projects. The approach is a quick fix. It's unrepeatable. It causes long-term motivation problems. A com- pany cannot easily repair the human damage inflicted by such a project. By keeping team size small. If practiced with a keen awareness of the risks involved and with some restraint.
Once developers have put their hearts and souls into trying to meet their commitments and have failed. Even when you succeed in developing the software faster than Carroll Because it's based on individual heroics rather than on coordination.
The approach makes specific product charac- teristics difficult to control. Even if the code-like-hell approach succeeds once.
That can mean the difference be- tween finishing a killer product in time to meet a marketing window that allows the company to make a fortune and running out of money before the team even finishes the product. Even- tually. Zachary The factors that make it work or not work are largely impossible to control. Their morale fades as. It's hard on nonsoftware organizations. When you do manage to complete a project.
They start to resent the overtime. It is not uncommon for a project that has reached this state to stay "three weeks from completion" for six months or more. I criticize aspects of the approach throughout the book.
Sometimes you hit your quality targets. Severe personality conflicts are the rule rather than the exception. This level of sacrifice might be justifiable to win a war or put a man on the moon. Approach is as old as software itself. Some of the speed benefit arising from the commitment-based approach is neutralized because other groups that must coordinate with software devel- opers—including testing. Requires little technical expertise Requires significant technical beyond coding knowledge.
What's good for the software part of the project isn't necessarily good for the project overall. You won't look like you're working as hard. Rapid-Development Strategy average. You don't know when you'll be done until you're actually done. High risk: Provides little progress visibility or Permits tailoring the approach control. Key parts of the approach used successfully for 15 years or more.
Foundations of Popfly: Rapid Mashup Development. Software Development: Building Reliable Systems. Successful Software Development 2nd Edition.
Elementary Logic: For Software Development. Agile Software Development Quality Assurance. Mathematical Foundations of Software Development.
Recommend Documents. Taming Wild Software Schedules "Rapid Development is instantly recognizable as another member of that rare breed of highly original and definitive boo Software Development Contributors Victor R. He holds Taming Wild Software Schedules".