Agile is a metaphor to a “learning Organizations.”
If you look up agile in the dictionary, you will find something like “quick and well-coordinated in movement” and “marked by an ability to think quickly; mentally acute or aware”. If you look up learning organizations which we well perceived in Digital Master, you will find something like ”Organization that acquires knowledge and innovates fast enough to survive and thrive in a rapidly changing environment” and “ create a culture that encourages and supports continuous employee learning, critical thinking, and risks taking with new ideas.” The goal for the learning organization is to be in the state of continuous learning to be able to assess and adapt to changes in the market and stay competitive. Likewise, the goal of agile software development is about continuous learning and awareness to be able to deal with the changes to keep customers competitive. Also, the collaboration between internal stakeholders (people interaction over…) and external stakeholders (customer collaboration over…) that agile manifesto describes, directly related to knowledge management and the dissemination of tacit knowledge in learning organizations. Here is the Agile pitch to deliver the successful project, build a learning team and organization.
-Adapt to changes: Welcome to changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. Being able to respond to change (in requirements or requirements priority), and deal with unpredictability by short time-boxed planning, do a retrospective, and then adapt in preparation for the next sprint. Continuously delivering working software to the customer to solicit feedback, willingness to change the original plan based on the customer feedback. Regularly adapting the team's process to improve.
-Goal setting and how to achieve: The main point of Agile is to never let a project get paralyzed, constipated, off-track, or screwed-up -- and to encourage professionals to do what they do best. Paralysis, constipation, and veering from the track are hallmarks of processes that came before Agile. Have a goal (a set of new coherent functionality) to achieve at the end of the time Box. The team needs to work in cadence and consistent environment.
What to do:
-Find out where you are
-Take a small step towards your goal
-Adjust your understanding based on what you learned
How to do it:
-When faced with two or more alternatives that deliver roughly the same value, take the path that makes future change easier.
Manage the “organized chaos” to harness innovation: Cross-functional (Architects, programmers, testers, and documenters) team that has autonomy and covers all the framework activities of the SDLC. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Agile is based on the empirical control process (develop – inspect – adapt), which is also common sense. In this way, you always assess and respond to change, to provide the customer with added value software. Over-prescriptive software development methods like Waterfall method, drives software engineers to act like robots, almost no creativity factor. Chaos, or do whatever, may give teams very high score on creativity but very low score on repeating success. That is why you need to keep chaos for creativity, but you need to organize it so you can leverage the experiences for the future. That is Organized Chaos.
People first: Choose the correct people to be on the team and do not rely on the processes and the tools. Build projects around motivated individuals. Give them the environment and support their need, and trust them to get the job done. Treat developers as professionals & demand professionalism from them. Rely on people for your agility, not a process, methodology, or framework (Scrum). Run an enjoyable workplace where people are challenged and rewarded. Notice and reward awesomeness.
More Agile principles:
- Allow people closest to the problem to make big decisions
- Do the most important stuff first - decide what's important along the way
-Destroy functional silos.
- Have a clear definition of success that everyone understands
- Chop up the work so as to always see the end from where you are
- Work at a pace that is fast, steady, and regular - avoid crunching
-Work on backlog items which generate maximum ROI.
-Do not bite more than what you can chew well.
- Form interdisciplinary (integrated product) teams, not teams of specialists
- Notice and reward awesomeness
- Use automated tools wherever possible and avoid repetitive manual tasks
- Avoid deceptive metrics that lie about real progress or earned value
-Measure parameters which encourage Agile mindset ( Business Value shipped every month, How smoothly Ops can productionize the developed Stories, ..)
-Do not measure parameters which actually damage Agile mindset ( such as Estimates, Scope creep, Schedule variance,..)
- Eliminate surprises by continuously integrating, testing, & stressing everything
The highest priority to do Agile is to satisfy the customer through early and continuous delivery of valuable software, it is about 3 “I”s: Interactive communication, Iterative collaboration, and Incremental improvement. And it's a management philosophy to build a learning organization.
Digitalization is like a flywheel, and Digital Masters are the one riding above it. Surf more Information about Digital Master: