Minggu, 27 Juli 2014

[O276.Ebook] Ebook Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence

Ebook Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence

By downloading and install the on-line Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence publication here, you will get some advantages not to choose guide shop. Just connect to the net as well as begin to download the web page web link we discuss. Currently, your Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence prepares to appreciate reading. This is your time as well as your peacefulness to obtain all that you desire from this book Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence

Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence

Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence



Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence

Ebook Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence

Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence When composing can alter your life, when creating can enhance you by offering much money, why don't you try it? Are you still quite confused of where getting the ideas? Do you still have no idea with exactly what you are visiting create? Currently, you will certainly require reading Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence A good writer is a great reader simultaneously. You can define just how you compose relying on exactly what books to review. This Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence can aid you to fix the problem. It can be one of the right sources to create your writing skill.

Reading, once again, will give you something new. Something that you have no idea then exposed to be populared with guide Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence notification. Some expertise or driving lesson that re obtained from reading publications is vast. Much more e-books Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence you check out, more expertise you get, as well as much more opportunities to always enjoy reading e-books. As a result of this reason, reading publication must be begun with earlier. It is as what you could obtain from the publication Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence

Obtain the benefits of reading practice for your lifestyle. Reserve Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence message will certainly constantly associate with the life. The real life, expertise, science, health and wellness, religion, home entertainment, and also more could be found in composed books. Several authors provide their experience, scientific research, research study, and also all things to show you. One of them is through this Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence This book Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence will supply the needed of message as well as statement of the life. Life will be finished if you know much more things through reading books.

From the explanation over, it is clear that you should review this publication Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence We supply the on the internet publication qualified Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence right here by clicking the link download. From shared e-book by on the internet, you can offer a lot more advantages for numerous people. Besides, the readers will be also conveniently to obtain the favourite e-book Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence to read. Locate the most favourite and also needed e-book Managing Iterative Software Development Projects, By Kurt Bittner, Ian Spence to read now as well as here.

Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence

The practical, start-to-finish guide to planning and leading iterative software projects iterative processes have gained widespread acceptance because they help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. But conventional project management techniques don't work well in iterative projects, and newer iterative management techniques have been poorly documented. Managing Iterative Software Development Projects is the solution: a relentlessly practical guide to planning, organizing, estimating, staffing, and managing any iterative project, from start to finish. Leading iterative development experts, Kurt Bittner and Ian Spence introduce a proven, scalable approach that improves both agility and control at the same time, satisfying the needs of developers, managers, and the business alike. Their techniques are easy to understand, and easy to use with any iterative methodology, from Rational Unified Process to Extreme Programming to the Microsoft Solutions Framework. sponsor, or user representative - this book will help you: understand the key drivers of success in iterative projects; leverage time boxing to define project lifecycles and measure results; use Unified Process phases to facilitate controlled iterative development; master core concepts of iterative project management, including layering and evolution; create project roadmaps, including release plans; discover key patterns of risk management, estimation, organization, and iteration planning; understand what must be controlled centrally, and what you can safely delegate; transition smoothly to iterative processes; scale iterative project management from the smallest to the largest projects; and align software investments with the needs of the business. Whether you are interested in software development using RUP, OpenUP, or other agile processes, this book will help you reduce the anxiety and cost associated with software improvement by providing an easy, non-intrusive path toward improved results - without overwhelming you and your team.

  • Sales Rank: #2059890 in Books
  • Published on: 2006-07-07
  • Released on: 2006-06-27
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.10" h x 1.60" w x 6.80" l, 2.09 pounds
  • Binding: Paperback
  • 672 pages

From the Back Cover

The Practical, Start-to-Finish Guide to Planning and Leading Iterative Software Projects

Iterative processes have gained widespread acceptance because they help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. But conventional project management techniques don’t work well in iterative projects, and newer iterative management techniques have been poorly documented. Managing Iterative Software Development Projects is the solution: a relentlessly practical guide to planning, organizing, estimating, staffing, and managing any iterative project, from start to finish.�

Leading iterative development experts Kurt Bittner and Ian Spence introduce a proven, scalable approach that improves both agility and control at the same time, satisfying the needs of developers, managers, and the business alike. Their techniques are easy to understand, and easy to use with any iterative methodology, from Rational Unified Process to Extreme Programming to the Microsoft Solutions Framework.

Whatever your role–team leader, program manager, project manager, developer, sponsor, or user representative–this book will help you

  • Understand the key drivers of success in iterative projects
  • Leverage “time boxing” to define project lifecycles and measure results
  • Use Unified Process phases to facilitate controlled iterative development
  • Master core concepts of iterative project management, including layering and evolution
  • Create project roadmaps, including release plans
  • Discover key patterns of risk management, estimation, organization, and iteration planning
  • Understand what must be controlled centrally, and what you can safely delegate
  • Transition smoothly to iterative processes
  • Scale iterative project management from the smallest to the largest projects
  • Align software investments with the needs of the business

Whether you are interested in software development using RUP, OpenUP, or other agile processes, this book will help you reduce the anxiety and cost associated with software improvement by providing an easy, non-intrusive path toward improved results–without overwhelming you and your team.

About the Author

Kurt Bittner works for IBM on software development solutions strategy. In a career spanning 24 years, he has successfully applied an iterative approach to software development in a number of industries and problem domains. He was a member of the original team that developed the IBM Rational Unified Process and is a co-author with Ian Spence of Use Case Modeling, published by Addison-Wesley in 2002.

Ian Spence is a chief scientist and principle consultant at Ivar Jacobson Consulting, specializing in the adoption of the Unified Process and the iter�ative, use-case driven approach that it recommends. He has more than 20 years of experience in the software industry, including more than 10 years of experience in managing and participating in iterative projects. He is cur�rently involved in the development of the next generation of lightweight software development processes and is a co-author with Kurt Bittner of Use Case Modeling, published by Addison-Wesley in 2002.

Excerpt. � Reprinted by permission. All rights reserved.
Preface Preface

"No plan survives contact with the enemy."
—Field Marshall Helmuth von Moltke, 1800-1891 1

If we could plan perfectly, if nothing out of the ordinary ever occurred, if things always went as planned, there would be no need for iterative development. Iterative development is founded on the recognition that we need an approach that enables us to make progress in the face of change, or perhaps in spite of change. Iterative development is basically a dynamic planning and management approach that incorporates, even seeks out, new information to manage risks and deliver incremental value continuously throughout the project.

Iterative development is not particularly new. It has been around for a long time, and it has probably evolved independently a number of times. Because it tends to focus on situational responses, it has not tended to be well documented, and for this reason it has appeared to be ad hoc. Our goal with this book is to change that—to provide a systematic introduction to managing iterative development that you can apply to your own projects.

At the core of the iterative approach is the explicit management of risk as the guiding principle behind the project management approach. The project is divided up into a series of iterations, each of which is directed at mitigating a set of risks by implementing scenarios that will force the confrontation and mastery of the risks. Our goal is to take these concepts and breathe life into them by bringing them down to ground level. We aim to present a simple, straightforward, and practical approach to organizing, estimating, staffing, and managing the project, but one that can be applied to very small projects and yet be scaled up to very large programs. In doing this we aim to promote a pragmatic approach that attacks the problem of obtaining results in a predictable, repeatable, non-chaotic way.

Our experience is based on helping many companies adopt iterative development using the IBM Rational Unified Process (RUP), 2 but the techniques presented here are not only applicable to Unified Process 3 projects; they represent a general approach to any iterative software development effort. They are equally useful when managing an iterative project using Extreme Programming, 4 Microsoft Solution Framework for Agile Software Development, 5 or any other agile or iterative software development process.

This book is focused on making the techniques of managing iterative development understandable and accessible to anyone with a basic background in managing software projects. It strives to provide you with the practical guidance you need to start managing your iterative and incremental projects in a controlled, agile, and disciplined fashion.

The Challenge of Managing Software Development Projects

Managing software development projects is challenging: Responding to a rapidly changing business and technological environment means that teams are always pushing the limits of the possible. This pressure to deliver results is compounded by the fact that their are never enough of the right people with the right skills; the technology is evolving too fast. Yet teams must respond and succeed, for the stakes are very high. Almost everything done in the business world today requires software, so the success of the business often rests on the success of some team developing a solution that consists of a lot of software.

Software development projects must be able to respond with speed and agility to rapid and incessant change in both the business requirements and the implementation technology. Agility in software development is essential for businesses to succeed today and, more importantly, in the future.

The critical importance of software in supporting the day-to-day operations of businesses and providing competitive advantage is leading to another emerging trend: governance. In short, because business success rests on software success, business executives need to understand how their investments in information technology and software development are paying off. They demand visibility and accountability; the stakes are simply too high for them not to understand project status and trajectory. In addition, in many environments, the criticality of software to safety or business processes means that there is a need for auditability—a need to prove that what was done was authorized and approved. Governance of software development is also here to stay.

Finally, software development is a highly creative and collaborative endeavor in which success requires a fine degree of coordination between many people from many different disciplines, often working across different geographies and time zones and sometimes across cultural borders. The levels of invention and innovation that are fundamental to good software development mean development is not a mechanical process that can be fully planned at the start and then monitored during the execution. They also cause software development projects to exhibit frustrating diseconomies of scale—that is, a large project costs much more per line of code than a small project 6 —illustrating that the industry has still not learned how to manage creativity, novelty, and complexity very well.

Iterative development provides a solution to these three challenges—it provides an approach that is agile and responsive to the needs of the business while still providing the necessary controls and oversight needed to govern the development process and while fostering the creativity and collaboration needed to solve complex business problems.

Learning the Art of Managing Software Development

In every endeavor, good management matters. More than thirty years ago Frederick Brooks wrote something that still rings true today:

In many ways, managing a large computer programming project is like managing any other large undertaking—in more ways than most programmers believe. But in many other ways it is different—in more ways than most professional managers expect. 7

This quote succinctly highlights the two major traps that people fall into when considering the management of software development projects:

  • Developers may fail to recognize the value added by professional management practices on a software project, seeming to feel that the role of the manager on a project is similar to the role of government in Henry David Thoreau's work On the Duty of Civil Disobedience: "that government is best which governs least."
  • Managers may fail to understand that technical details matter and that they cannot be completely delegated; no project can be managed without really understanding the work being done.

To be successful, the software project manager needs to have a firm foundation in traditional management practices but also needs to know what makes developing software different from other types of projects. To manage the project, the manager needs to understand the work well enough to be able to tell whether the work is on track. At the same time, managers who understand only the technical work and not how to motivate and lead teams are also lost—they never get their teams working as a cohesive unit.

Managing software development is like managing anything else, only more so. The time pressures and resource constraints tend to be so amplified and the number of alternatives so dizzying that the manager's abilities are sorely tested. We have found that an iterative development approach is key to solving many of these problems. We have also observed that the difference between success and failure of a software development effort rests largely on the skills of the manager of the project. 8 This is not to discount the value of the rest of the team or the approach they follow; it merely underscores that few project teams can be successful without good management.

Who Should Read This Book

This book is principally for the people responsible for the successful delivery of projects that have a significant amount of software as part of their solution. These people have a variety of job titles and responsibilities, ranging from a team leader with informal day-to-day leadership responsibility for a small software development team, to a project manager managing the production of a major release of a software product, to a program manager overseeing many collaborating projects, each with its own project manager. In short, we target the people who must make decisions about what to do, when to do it, and why.

This book will provide benefits to all members of the project's leadership team and anyone else who is concerned with the overall business success of the project. It is especially relevant for those project managers faced with the challenge of managing an iterative development project, whether they are novice or experienced project managers:

  • If you are a novice project manager, the pragmatic approach presented will provide you with the guidance that you need to successfully manage your project in a controlled iterative fashion and will give you a framework with which you can acquire the skills you do not already have.
  • If you are an experienced project manager faced with your first iterative software development project, this book will help you to continue to exploit your existing management experience and best practices while transitioning to a more agile, iterative, and incremental software development approach. If you have tried iterative approaches but remain unconvinced of their benefit, we hope this book will fill in the missing information in a credible way, making you a believer in the approach.
  • If you are the leader of a team that is working iteratively, this book will provide you with an approach to leading your team that will enable it to support and interact more effectively with the broader project management team and project board.
  • If you are a project sponsor, program manager, or user representative, this book will help you to understand how to interact with, support, and exploit the benefits of the iterative development of the software projects that you commission.
  • If you are the leader of a discipline team (such as requirements, architecture, and so on), this book will provide an understanding of the role the project management team plays in establishing and sustaining an iterative development environment within which your team can excel.

In this book, we bridge the gap between the two most common, and often adversarial, positions adopted with respect to the management of iterative development projects—the informal approach traditionally promoted by developer-centric methodologies and the more formal approach traditionally promoted by the project management community—by describing a single, layered, easy to use, agile, adaptive, and scalable approach.

We also broaden the scope of the discussion to include the sponsoring business itself, something that is often overlooked to the detriment of the result the project provides to the business. This is the area where software development projects ultimately compete with other investments for funding, a perspective to which our iterative projects must be aligned.

By adopting this holistic, management-aware approach we hope to bring together groups of people who often are not, unfortunately, aligned to achieve project success.

How This Book Is Organized

This book is intended to provide practical guidance on managing iterative projects and programs. The book is divided into two parts.

In Part I, "The Principles of Iterative Project Management," we present the basic principles of managing iterative software development projects. This part of the book focuses on the principles and best practices that underlie the successful management of iterative and incremental software development projects. If you are new to iterative development, Part I will give you a good foundation in the basics of iterative project management, although there are also some new insights for those already familiar with iterative approaches.

In Chapter 1, "What Is Iterative Development?" we explore what it means to develop software in an iterative and incremental fashion by examining how different project roles experience iterative development (for example, the developer, the customer, and the project manager).

In Chapter 2, "How Do Iterative Projects Function?" we discuss how an iterative and incremental project functions by examining what makes an iterative project successful and the key project characteristics that enable this success.

In Chapter 3, "Controlling Iterative Projects," we discuss how iterative projects are controlled. This chapter introduces the concepts of the time box, a standard project lifecycle for iterative development projects, and the objective measurement of results. It also introduces the phases of the Unified Process and explains how they facilitate controlled iterative development regardless of the iterative development method followed.

In Chapter 4, "Are You Ready for Iterative Project Management?" we discuss what you need to have in place before embarking on an iterative development project. This includes discussing some of the adjustments that often have to be made to team structures and personal attitudes to provide an environment conducive to and supportive of the adoption of iterative and incremental project management practices.

In Part II, "Planning and Managing an Iterative Project," we discuss how to plan, manage, and assess an iterative project, including how to plan projects and iterations, assess results, and adapt plans. We conclude by presenting how to adapt the approach to very small projects and very large projects and programs, and how to introduce iterative development to a new project team.

In Chapter 5, "A Layered Approach to Planning and Managing Iterative Projects," we examine the layering of the project and plans, which is essential to enable effective, controlled, iterative, and incremental development and to provide a scalable management solution. We also introduce the concept of an evolution as the mechanism for the iterative development of a major release of a software product. This chapter provides the framework for the more specific planning and assessment chapters that follow.

In Chapter 6, "Overall Project Planning," we describe how to create an overall roadmap for an iterative project. We examine techniques and mechanisms for planning the entire project lifecycle and the set of releases to be produced. We introduce some simple principles for lifecycle planning and use these to illustrate the process involved in creating an overall project plan.

In Chapter 7, "Evolution and Phase Planning," we present the principles for planning and managing an individual evolution and its phases. We examine the patterns found within an evolution and how to adapt these based on the forces at work on the project. This includes patterns of managing risks, estimating, and organizing the work into iterations.

In Chapter 8, "Iteration Planning," we present the principles of planning and managing an iteration within a phase. We examine patterns for managing an iteration and how to adapt these based on the forces at work on the project.

In Chapter 9, "Iteration, Phase, and Project Assessments," we examine how the assessment process works across the layers of an iterative project, looking in particular at the role of the iteration and phase assessments and how these affect the adaptive planning of the project and enable the entire project to be effectively controlled.

In Chapter 10, "A Scalable Approach to Managing Iterative Projects," we examine how to apply the principles and patterns presented in the previous chapters to various project sizes, concluding our "how to" guide for the planning and management of iterative projects. This includes guidance on how to scale the process down for the management of small and very small projects and up for the management of large projects and programs. Chapter 10 will be of special interest to those engaged in program management or those who find themselves working on projects that contribute to a larger program.

In Chapter 11, "Getting Started with Iterative Project Management," we conclude the book by providing advice on how to transition to an iterative software development process and how to introduce iterative development practices iteratively. This material will be useful to anyone embarking on their first iterative project or trying to introduce iterative management techniques into either projects or organizations.

In addition, we provide several comprehensive appendices.

  • Appendix A, "A Brief Introduction to Use-Case Driven Development," provides a brief summary of the use-case driven development approach that is used to provide a concrete framework for the examples in Appendix C and throughout the book.
  • Appendix B, "Outlines, Templates, and Checklists," provides detailed, reusable versions of the outlines, templates, and checklists referenced and presented throughout the body of the book.
  • Appendix C, "Examples," provides a more detailed presentation of the example plans excerpted throughout the body of the book.
Footnotes

1 Von Moltke wrote a number of works on military theory. His main thesis was that military strategy consists of a system of alternatives because only the start of a military operation could be planned. As a result, he considered the main task of military leaders to consist of understanding all possible outcomes.

2 See http://www-306.ibm.com/software/rational/.

3 Other variants of the Unified Process include the Essential Unified Process (see http://www.ivarjacobson.com) and the Agile Unified Process (see http://www.ambysoft.com/unifiedprocess/).

4 See http://www.extremeprogramming.org or http://www.xprogramming.com.

5 See http://www.microsoft.com.

6 This is discussed in depth by Walker Royce in Software Project Management: A Unified Framework (Addison-Wesley, 1998).

7 Frederick P. Brooks, The Mythical Man Month: Essays on Software Engineering, Twentieth Anniversary Edition (Reading, MA: Addison-Wesley, 1995).

8 An observation backed up by the Standish Group's CHAOS Report; see http://www.standishgroup.com/. We will return to the Standish CHAOS Report and the topic of project success in Chapter 2, "How Do Iterative Projects Function?"


� Copyright Pearson Education. All rights reserved.

Most helpful customer reviews

0 of 0 people found the following review helpful.
Comprehensive and Informative
By KWF
Overall I thought this was a very good book for learning about how Iterative Development projects are supposed to work, what the advantages are and why a company might want to use this sort of methodology. The authors did a nice job of avoiding too much methodology jargon as well. Sometimes it seems these books are written only to be read by other methodology academicians, but that wasn't the case here.

I have since shared this book with several other people in my company, including one not even in IT, and they have also found it helpful. So if you are also facing challenges in educating your broader company about how agile development techniques should work, this might be a good place to start.

On the other hand, it is quite long and wordy. Most people will not have the patience to wade all the way through this book, so before I shared it, I went through it with a hilighter and told my people to just read the yellow parts. :-)

My only other beef with the book was that it seemed entirely targeted at internal projects, or for software where the users were all internal. Nowadays that is almost anachronistic. My teams mostly work on web development either for B2B users or for the general public (B2C), which means that statements like "make sure your requirements are reviewed by the business" are of limited value. Our business is our clients and their consumers. If you are working on public web apps, just keep in mind that whenever these authors say "business," they mean "your web consumers" and you should be fine.

0 of 0 people found the following review helpful.
Wonderful and Exciting.
By Amazon Customer
I am moving from iterative development to iterative project management. This book is really wonderful and explains in detail the processes, the risks, deliverables. It will help anybody who wants to think "iterative" development.

BTW, it will also help you talk to dinosaurs and explain your approach to project management. A big help.

4 of 6 people found the following review helpful.
More specific to the RUP/UP than advertised.
By Joe
The book appears to be a well written text about doing RUP iteratively. Unfortunately, I am not doing RUP or UP. The editorial review on Amazon quoted from the back cover that it would be appropriate for agile methodologies and not just RUP. While that may be the case for some chapters, for a significant portion of the book, I do not believe it is so. We are implementing Scrum and this book is not the best source to help me with that. It is too heavy and UP specific. I will be returning the book. Don't be turned off from the book if you are doing RUP since it may be for you.

See all 9 customer reviews...

Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence PDF
Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence EPub
Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence Doc
Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence iBooks
Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence rtf
Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence Mobipocket
Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence Kindle

Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence PDF

Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence PDF

Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence PDF
Managing Iterative Software Development Projects, by Kurt Bittner, Ian Spence PDF

Tidak ada komentar:

Posting Komentar