People, Processes and Tools: The Three Pillars of Software Development


Every project is dependent upon people, processes, and tools:  they are how the work gets done. These three essential elements are not equal, though, as each has its own strengths and weaknesses.   Each one provides a different value to our projects.


This three-part series explores the relative value of people, process, and tools. We will look at the strengths and weaknesses of and how they provide value to our projects. Is one of the three more important than the others? We will see, as we investigate people, processes, and tools.

People Are Critical
Can you imagine a project without people involved? Of course not. People are the heart of every project. Without them, the work would not get done. Why are people such an integral part of any project, though? Why do we put so much emphasis on them?

People are important to our projects because of the value they provide. It is people who are creative and who embrace a vision of the future that has not yet been realized. They also apply their intellect to turn that vision into reality. This creative energy is the life-blood of our projects and  is what makes the difference between something that might happen and the realization of a dream.

For decades now, we have been anticipating artificial intelligence (AI): the dream that computers will someday be able to do the work of human beings. Though the capabilities of computers have increased dramatically each few years, the holy grail of AI has remained beyond our reach. The power of computers, while it serves to enhance our ability to perform work, can simply not replace us and won’t be able to in the foreseeable future.

The reason that humans are so indispensable is that we have capabilities that cannot be duplicated by machines. Primary among those capabilities that are unique to us is creativity. Simply put, creativity is the ability to create: to make something out of nothing. While we are unable to create in the physical sense, we have vast ability to create in the intellectual sense.

Any project that we embark on requires this sort of creativity. Starting with a goal or a need, we make intuitive leaps from concept to concept as we build on the things we know and our base of experience to establish a springboard into the unknown. We then launch ourselves from that springboard into new realms where ideas that had not been in our minds before are then captured. We realize new concepts, connections, and new ways to attack problems and challenges.

It is this creativity that allows us to move beyond what we knew and to capitalize on what we discover. Machines cannot do this. Software is unable to do this and human creativity is the key.

Creativity is most often prompted by vision, yet another uniquely human ability. Generally, vision refers to the ability to see. As we are using it here, though, it refers to our ability to see what is not yet there: to imagine. While machines are able to clearly see what actually exists (often better than humans can), the ability to see what might be is uniquely human.

We humans are able to envision what we might create and to then use that vision as the impetus for our actions and the motivation for our creative energy. Every project starts as a vision in someone's mind, and that vision is communicated from the champion to the rest of the people who work on the project. It becomes the guiding principle for all of the work that is done, and all of the creative energy that is expended.

Finally, our combination of creativity and vision provides a special outlet for our intellect. Intellect is more than just what we know. The facts we carry around in our


About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.