One aspect of adopting a disciplined agile approach is to mature your focus from just producing software to instead providing a consumable solution which meets the needs of its stakeholders within the appropriate economic, cultural, and technical constraints. Let’s examine the term “consumable solution”:
It isn’t sufficient to simply produce something that is “potentially shippable”, instead it must also be something that is:
- Usable. People should be able to easily understand and work with your solution.
- Desirable. Think of it like this – if you ship something that nobody wants to work with, do you consider that a success? Of course not.
- Functional. The solution must meet the needs of its stakeholders.
The fundamental observation is that as IT professionals we do far more than just develop software. Yes, software is clearly important, but in addressing the needs of our stakeholders we will often:
- Develop high-quality software
- Provide new or upgraded hardware/platform
- Change the business/operational processes which stakeholders follow
- Change the organizational structure in which our stakeholders work
- Update supporting documentation
Although delivery of high-quality, working software is important it is even more important that we deliver high-quality consumable solutions to our stakeholders. Minimally IT professionals should have the skills and desire to produce great software, but what they really need are the skills and desire to provide great solutions. We need strong technical skills, but we also need strong “soft skills” such as user interface design and process design so that we can produce consumable solutions.