Having started the first Agile meetup in Goa, I thought it would be a great idea to write about it.The theme of this meetup was Introduction to Agile & Scrum. The meetup took place at the offices in north Goa and with three hours at hand, there were plenty of discussions and take aways from this session.
We were joined by Anuj Khurana, Co-founder of Ajency.in. He talked about his experience with agile, why agile comes naturally to all small teams, and the current flavour of agile that is followed in his organization. He shared his missteps during the process of adopting agile and the learnings from all of this. He also emphasized that the agile methodology should not be confused with lack of planning.
— Technologies (@) March 4, 2016
Anuj also shed light on:
- Team Sprint Vs. Individual Sprint.
- The fact that the value of agile might not be visible to stakeholders in the initial phase of a sprint and in some cases, even for a few sprints.
Another interesting talk was "What does it really mean when you say you are an agile company?" by Avinaash Shiralige, where he talked about 12 principles behind the Agile Manifesto.Here are a few key points that I remember:
- Agile processes harness change for the customer's competitive advantage.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- The best architectures, requirements, and designs emerge from self-organizing teams.
— Technologies (@) March 4, 2016
Avienaash shared a lot of real life instances and examples to explain the 12 principles; here is one example that stood out for me:
NASA User Story:
As an <astronaut> I want to <write easily with a ballpoint pen while in zero gravity> so that <I can record key information that I might otherwise forget.>
NASA specified and developed, at great expense, a ball point pen that Apollo astronauts could use in space where gravity would not aid the flow of ink. On the other hand, Russian cosmonauts used crayons.
Moral: Specify what you want to achieve, not how to achieve it.
He also shared a few critical points that are important to the agile philosophy:
- Produce Value Early: He explained the importance of first delivering those parts of the software which provide the highest value to the client, to help keep their business running. He also talked about building vertical slices of features rather than building features horizontally.
- Welcome Change: Avie discussed about accepting the changing requirements that come in during the software development life cycle. In order to succeed in today’s fast evilving in business environment, it is crucial to accommodate any change requests that might emerge due to market & competitive needs. He gave a real life example from his life where he was developing software for some Foreign Law Department and it took a lot of time (more than a year) to deliver that software following some traditional development life cycle, like waterfall model. After the delivery of software was made, client realized that it was not useful for them as most of the laws have changed during this development period. So it proved to be a total waste of all the resources.
- Deliver Frequently: Here, he talked about the importance of delivering the parts of software more often and frequently so as to collect the timely feedback and act on the same.
- Cross Functional Teams: He emphasized on the fact that teams should be cross functional, with multiple skill sets, in order to move together towards the end goal with greater efficiency.
- Trust Motivated People: Here he talked about the motivated team members and their trustworthiness so that they can be empowered to make decisions on their own. The traditional Master-Slave relationship is too slow to keep up with the rapid delivery schedules.
- Face to Face Communication: This is crucial to minimize the communication time and increasing the understandability of points under discussion. This also helps in reducing the turnaround time of the teams. He discouraged the cubicle culture in corporate and favored the face to face seating.
- Working Validated Software: the discussion on this principle revolved around providing the fully functional and thoroughly tested software to client at the end of the sprint. Anything that is not working cannot be tremed as ‘Done’. An agile team must agree upon single definition of ‘Done’.
- Keep It Short and Simple (KISS): The idea is to cut short the tasks or story or feature to its simplest form where it is measureable, and most importantly to rule out the waste. We should be albe to say “No” to irrelevant tasks, or those which do not provide much value and can complicate the user experience.The idea is to ask the client why this is needed and what value it will provide to their business.
- Self-Organization: Team should be motivated enough to self-organize around the tasks and move towards the common Goal. A very good example was given of football or rugby, where every team member strives to reach the goal irrespective of whether he is a defender or a shooter or someone else.
- Inspect and Adapt: Here he talked about how to minimize and utilize the feedback loops and adapt as per the feedback received during each phase of sprint in Agile Development i.e. Planning, Estimations, Development, UAT, Retrospection etc.
- At the end of the day, the meetup was very well received and the interactive session helped attendees strengthen their understanding of the agile methodology. A lot of attendees were excited to invite their colleagues for any future sessions that we plan.The post session excitement motivated us to come up with a tentative date for the next meet-up and we are definitely expecting a much larger participation.
teams constantly update themselves with the agile best practices, so as to serve our clients better. This is what qualifies to help you scale up your enterprise Drupal teams, and deliver according to the distributed agile methodologies.