Agile is defined as able to move quickly and easily. When we apply this definition to software development, we can see the benefits of delivering software quickly and easily. Being agile helps you release software sooner rather than later.
How to move quickly in software development?
When I worked at Ristken, we had 1 week sprints and daily scrum meetings. This setup allowed us to release software features quickly to our customers. After our customers started using the new features, we received valuable feedback. This feedback enabled us to modify software quickly and easily.
At Verizon, we had a longer sprint. In average they ranged from 3 to 4 weeks. In my opinion, we delivered great software but our feedback loop was longer.
As a general rule, smaller teams are more agile than bigger teams. This might be related to communication and logistics. It is easier to communicate with 1 person in comparison to 10. Scott Hanselman said that at the beginning of his career at Microsoft, getting things done was like moving the Titanic. Change is happening but it’s slowly happening.
How do we move easily in software development?
I think having scrum meetings everyday is crucial when it comes to “move easily”. Usually the scrum master would say at the end of the meeting “any road blocks or impediments”. The sooner we removed those road blocks, the better.
Open communication is very important here. Are you encourage to communicate problems? Do you have the resources needed to remove problems? Are you willing to solve your own problems? Having a work environment that removes obstacles quickly and encourages employees to solve problems will help you move easily and create quality software.
We can see how agile plays a key role when it comes to mobile apps. The most popular apps release software quickly. The app owners read comments and ratings so that they can fix bugs or add new features. It is in their best interest to keep their customers happy.
Moving quickly and easily in software development allows your team to deliver quality software applications. The end user (customer) plays a key role since their feedback allows us (developers) to improve our software applications.