I am writing a series of posts that summarizes some of the insights I have gained while working in the Professional Services/IT Consulting world.
My goal with this series to increase awareness of important aspects of projects, promote improved thinking about projects, and ultimately help you deliver projects successfully.
You can read or view all the posts in this series through this link.
Insight: Leadership and Process as our answers to overcoming the Sisyphean challenge
I believe the following ingredients helps us overcome the challenges with software projects:
- Process that incorporates early and rapid feedback
Leadership is an important ingredient for successfully overcoming the challenges posed by Software Projects. I have borrowed Jerry Weinberg’s’ definition of Technical Leadership. Leadership is about creating an environment that empowers people to solve problems. Software Projects requires diverse skills to succeed – Creativity, Curiosity, Discipline, Organization, Ideas, and Problem Solving. Leaders set the stage by promoting an environment where it is acceptable to fail or look bad and problems can be discussed openly without fear.
Process is very crucial to successful project delivery. More than the process itself, I believe what really adds value is if the process allows you to gain valuable insights that help you steer the “project” towards success. Process must incorporate early and rapid feedback (peer reviews, code reviews, demos, stand up meetings, status meetings). The important takeaway about feedback is that you need to make course corrections based on what you hear, see, and/or observe (using good judgment)!
An interesting insight from the Software Engineering Institute (SEI) was that effective management/leadership had to be in place before you try to incorporate new and better processes and development practices. Process changes that come before establishing leadership have a high probability of failure.