A very large number of enterprises jump into the agile development process for its associated advantages including minimizing cycle time, embracing changes,evolving architecture, and so on. The issue with majority of agile approaches is that organizations treat it as one complex process with culture and philosophy; such an approach pushes them towards waterfall or even worse.
The good thing is that it is not challenging to identify warning signs and take precautionary steps. Following signs can create serious damage to an enterprise’s agile development efforts.
Agile should be treated as an attitude; many organizations follow the wrong lead from the start by focusing on doing agile while they must focus on being agile. Agile is like a mental shift with respect to an enterprise’s approach to software development.
The primary focus should be on adopting the philosophy mentioned in the Agile Manifesto, and the agile attitude will automatically come with it. The Manifesto emphasizes on focusing on fast feedback cycles and working code, getting rid of unproductive administration, ceremonies, and paperwork; the revolution prioritizes on developing self-examination, self-organization, and self-optimization capabilities. Being agile means getting rid of “standard” agile process and nurturing an environment of continuous improvement.
User stories are one of the fundamental blocks of agile;they are designed to detect a feature requirement of software from the user’s point of view. Such stories have been assigned with point values which in turn determine the kind of required efforts for story implementation.
However, such story points have neither any goal nor promise. Also they have no intrinsic measure or meaning. The usefulness of story points can affect greatly as a means of estimation if an organization uses them as a measure of success.
To avoid such mistake, enterprises should analyze useful goals with the users or product owner. Success should be measured in terms of the delivery of values, and not in terms of compliance-with-plan or performance-to-estimate.
It is not uncommon for programmers to become obsessed with metrics. In many occasions, organizational teams make mistake of considering velocity, at the team level,as the measure of story points per iteration being utilized in sprint planning. In reality, being a neutral metric, velocity is solely intended for estimation.
Comparing team velocity does not lead to any solid conclusion as its fundamental unit, being a story point, has different definition for each team. As every team is unique in itself, velocity comparison has no true value, and the same is true for individuals.
Organizations should stop themselves from such comparison as it is counterproductive. One metric that delivers true value is a subjective metric as it delivers real values through working software.
Scrum is a technique associated with a process-management, and not a software-development; the same is true for Kanban. Without robust agile principles, both Kanban and Scrum, revert back to traditional waterfall technique. Such situation exacerbate in many organizations by “standardized” agile practices and huge initial backlogs. Such huge backlogs, in turn, invite waterfall practices rather than incremental evolution.
Organization are often worried about their feature lead time, which is the time taken for an idea to shift from conception to production; one ideal solution is to have large queues. Many enterprises still plan and execute projects concerning software development in large chunks, which ultimately lead to huge backlogs. Also it ensures that features being at the end of the queue have terrible lead times.
In case of backlogs, many organizations attempt to validate feature value in quick time just to realize that they are already overloaded from the start with huge backlogs. In reality, projects are like mental model; organizations invent projects so that they can have a nebulous work stream to talk about. The key lies in pairing down; an ideal way is to organize projects surrounding a productive set of features having ability to provide measurable outcomes as well as measurable enhancements.
To know more about how we are transforming DevOps journey for our customers write to us today: firstname.lastname@example.org