Friday, October 10, 2009

Free chm ebook download: Agile Project Management: How to Succeed in the Face of Changing Project Requirements

Agile Project Management: How to Succeed in the Face of Changing Project Requirements
by Gary Chin   ISBN:0814471765
AMACOM © 2004 (229 pages)

Today's innovative minds are constantly pushing the envelope: New and often disruptive technologies are filling the product development pipelines of both large and small companies. The business landscape is fast-paced and competitive, and product lifecycles are shorter. Naturally, product development and launch times are also shortening as companies aggressively develop new products and services to compete. This emphasis on speed forces teams to make quick decisions with incomplete information or in an environment of uncertainty. This, in turn, leads to frequent changes in project requirements and direction. Teams need to be light on their feet … they need to be agile!

The need for agility is magnified in highly innovative businesses that are pushing the limits of current technology and thinking, and where key parts of projects often involve discovery or problem solving never encountered before. These types of projects have an inherent uncertainty and involve multiple paths, decision points, and iterations before they can be successfully completed. Technical teams know that it is impossible to precisely plan new discoveries far in advance. Consequently, they only use project management for administrative support, if they use it at all. Their resistance to using project management is, in fact, often valid. The classical project management technique that they have experienced is cumbersome and not as effective in a fast-paced and uncertain environment. Additionally, project management is more often than not perceived as bureaucratic overhead that will probably slow the team down rather than make it more agile. While I don't fully agree with this viewpoint, I see that many of the commonly known PM practices and tools are geared toward large and relatively slow-moving projects.

On a broader scale, companies realize that they must continue to change and remake themselves to remain competitive—to hit their financial targets and drive the business forward. These business-level changes include not only developing new products and services, but also creating the innovative HR practices, marketing messages, partnerships, acquisitions, and reorganizations that will keep them ahead of the competition. In all of these cases, projects are the engines that power the business transformation and, in turn, enable the organizational flexibility necessary to survive in today's world. To this end, most companies recognize that effective and agile project management is essential for their survival. The problem is getting there!

Modern project management, as developed in the post–World War II era, was initially employed to manage large government projects for the military and construction and space industries. It has subsequently evolved and been widely adopted in some form by most large commercial companies. Nowadays, these same project management techniques are well on their way into many medium and small companies. However, as you may guess, what works well for a huge government project may not be the optimal solution for an innovative startup or even a smaller entrepreneurial group within a large company. Those early projects had many unique challenges, such as efficiently managing hundreds of subcontractors, that project management was able to address. The ability to meet these challenges created the momentum that carried project management into the mainstream.

While many of these original characteristics are still present in today's projects, most have evolved along with business in general, and some have changed radically. For the most part, the science of project management has kept pace with the evolution of business over the past few decades. However, in certain areas, project management has not evolved in step with business and therefore cannot effectively address its challenges. It is some of these areas that are the focus of this book.

If we fast-forward from 1950 to 2004, we will notice a dramatic economic shift in business—an increase in the number of small companies versus large companies. This shift was driven largely by the advent of the knowledge-based economy. At one time, only large companies with significant financial capital controlled the resources required to compete in business. Their resources were physical assets, such as buildings, material, and equipment. As knowledge and intellectual property became increasingly more valuable assets, entrepreneurs with little financial capital but significant intellectual capital were able to start small businesses and carve out niches in this new market space.

In their quest to grow and compete, these smaller businesses are looking to PM as a possible competitive advantage. They realize that good PM can add tremendous value to their projects; however, they also recognize that the familiar, classic PM approach is not quite right for them. Yet, they press on, with the understanding that their PM processes will have to undergo optimization over time.

The organizations that need new ideas in (agile) project management the most are likely to be investing the least in developing them.

There are a few subtle points related to this evolution that are worth noting. First, the sponsors and managers of projects generally know that one-size project management does not fit all, so they look to tailor classic PM processes to their particular situation. This approach will address some, but not all, of their challenges. Second, specialized and dedicated process development resources are required to develop, implement, and maintain robust project management processes, especially ones tuned to a unique and dynamic environment. Third, these process development resources quickly dwindle as company size shrinks, yet this is where customized project management processes have perhaps the biggest impact.

In some ways, project management has become a more or less rote mechanical process because it has been proven to work effectively on more or less rote mechanical projects. However, when applied to the more creative, uncertain, and urgent projects, classic PM practices often falter and need assistance. It is in these situations where we will explore various new thinking that will supplement the current body of knowledge on project management and, hopefully, extend its effectiveness into agile environments.

Download the free chm ebook: Agile Project Management: How to Succeed in the Face of Changing Project Requirements

Tags: agile, management


Wednesday, October 10, 2009

Free pdf ebook download: Agile Web Development with Rails

Agile Web Development with Rails
Second Edition
ISBN 0-9776166-3-0
Ruby on Rails is a framework that makes it easier to develop, deploy, and
maintain web applications. During the 12 months that followed its initial
release, Rails went from being an unknown toy to being a worldwide phe-
nomenon. It has won awards, and, more importantly, it has become the
framework of choice for the implementation of a wide range of so-called
Web 2.0 applications. It isn’t just trendy among hard-core hackers: many
multinational companies are using Rails to create their web applications.
Why is that? There seem to be many reasons.
First, there seem to be a large number of developers who were frustrated
with the technologies they were using to create web applications. It didn’t
seem to matter whether they were using Java, PHP,  .NET—there was a
growing sense that things were just too damn hard. And then, suddenly,
along comes Rails, and Rails is easier.
But easy on its own doesn’t cut it. We’re talking about professional devel-
opers writing real-world web sites. They wanted to feel that the applica-
tions they were developing would stand the test of time—that they were
designed and implemented using modern, professional techniques. So these
developers dug into Rails, and discovered it wasn’t just a tool for hacking
out sites.
For example, all Rails applications are implemented using the Model-View-
Controller  (MVC)  architecture. Java  developers  are  used  to  frameworks
such as Tapestry and Struts, which are based on MVC. But Rails takes
MVC further: when you develop in Rails, there’s a place for each piece of
code, and all the pieces of your application interact in a standard way. It’s
as if you start out with the skeleton of an application already prepared.
Professional programmers write tests. And again, Rails delivers. All Rails
applications have testing support baked right in. As you add functionality
to the code, Rails automatically creates test stubs for that functionality.
The framework makes it easy to test applications, and as a result Rails
applications tend to get tested.
Rails applications are written in Ruby, a modern, object-oriented script-
ing language. Ruby is concise without being unintelligibly terse—you can
express ideas naturally and cleanly in Ruby code. This leads to programs
that are easy to write and (just as importantly) are easy to read months
later.

Download the free pdf ebook: Agile Web Development with Rails

Tags: agile, rails