As you may or may not know, Agile software development is quite the unique approach to regular software development, in the sense that is takes an old idea and transforms it into a brand new approach to the software development market. Because it requires constant solution-solving approaches and solutions to problems that customers may present software development teams with.
Agile is a term first mentioned in Manifesto for Agile Software Development, that presents and advocates a sort of adaptive planning, evolutionary development and easy delivery, but also continuous improvement of end results. Traced back to as early as 1957, these iterative and incremental development methods have evolved through the years and adaptive software development can be seen in the 1970s.
Based within the Agile software development values are some of the core principles of consulting that need to be mentioned and discussed:
– there will be individuals and interactions over processes and tools used within the software development
– comprehensive documentation that will lead to working software
-collaborating with customers over contract negatiation
-response to change over following a clear plan.
Agile and Lean software development consulting are most important when dealing with processes that require tools, but it is also vital that we understand the need of having competent people working together effectively. Very good documentation will also be useful in helping people understand the way the software itself is built and how to use it, but the main focus will always be to create a good software, not necessarily good documentation that cannot be used in a practical way.
A project plan is also an important component of the overall discussion, as it will be needed to have one to offer guidelines for consulting and to have a plan not to rigid, able to accommodate changes in technology or in the environment, but also priorities from customers and the basic understanding of problems and solutions.
As consulting is basically based on understanding the needs of the customer, it becomes obvious that we must understand all of these principles, act according to them and adapt them to our own needs, our team and our working plan.