Agile takes more disciplines, not less.
Agile is emerged as a major software development/management methodology, because twelve principles behind Agile manifesto such as people over process, change over document, customer-centricity and speed, etc. are more adaptable to the changes, it is a philosophy and mindset to either build software or run a business today. However, from quality perspective, can Agile make better software, why or why not?
Agile is simply a framework to say that it makes better quality of software projects or just the opposite are both incorrect. It's very simple that you need to focus on the customer, and then you can optimize the team's process what it takes to make them great at what they do and ensure your product owner knows where you're headed and can relay that to the the business. Agile runs better when you have developers on hand to focus on a continuous product development. Do not think methodology (whether waterfall or agile) alone can be responsible for delivering value, quality and customer satisfaction. There is more than just methodology alone such as (a) right choice of methodology based on organizational context (b) right level of skill and experience of the project team (c) tools and technology available to work on project tasks and more.
Agile is one of those things that's simple in principle but may be very challenging in practice.
Software is never done. It needs to be enhanced to be brought closer to ideal, and ideal is continuing to change. This leads towards viewing software development as an ongoing improvement activity. The perceived complexity arises from the fact that "agile" isn't what many people wish it were. They are pushing back against the expectations that (a) they must think for themselves rather than following a guideline process, and (b) they must be accountable for their results, rather than using a methodology or buzzword as a scapegoat for poor outcomes. Agile is looking complex mostly because you haven't got Agile mindset which essentially drives the components of Agile work coherently
Software Development is complicated, whether it is agile or not. Maybe some development methodologies look easier to a customer, but they rarely are. Of course it may seem simple to make some upfront choices, but you will have to deal with change at any certain moment. And then those 'complicated' agile methodologies seem a whole lot less complex.Agile is a way to get a handle on the fact that many organizations try to build projects that they don't have the resources to complete. Agile solutions may not have every bell and whistle, but they always implement the most important things well. That would have a better outcome than running out of resources a year into a project and having nothing that works at all. However, without the right context and right way of implementation, a methodology alone will not produce value, quality and customer satisfaction. For example, if you try to implement agile where there is no customer involvement on regular basis (that is how the organization works), it will fail, or produce unwanted results.
There's no one size fits all when it comes to methodologies. Every organization and team is unique and has different strengths and needs. Effectiveness-oriented software development can deliver better products than the efficiency-oriented software development. Agile takes more disciplines, not less. It is not just the methodology by which the quality software projects can be ensured; but the mindset, the talent, the discipline, the methodology, the process and the measurement need to be well aligned, in order to improve product quality and customer satisfaction.
0 comments:
Post a Comment