In digital industry, every company battling their feature set over others to ensure they are the best in the industry. Choosing the Software Development Life Cycle (SDLC) for application development is crucial and Waterfall SDLC is not effective and fast enough, because the product is always changing and evolving whereas Waterfall is a one time development. We need faster and more flexible SDLC to accommodate business changes and user needs.
Due to that, Kent Back and 16 other authors come up with new ways for software development reflected into four values:
Individuals and Interactions over Processes and Tools,
Working Software over Comprehensive Documentation,
Customer Collaboration over Contract Negotiation, and
Responding to change over following a plan,
Those four values are well known as Agile Manifestos. We are going to explore those four values an describe on how to implement one of Agile SDLCs in our software project development team for PPL Course Faculty of Computer Science UI 2021.
Valuing people more
Valuing people more than the processes or tools make team more responsive to changes and more likely to meet user needs. Communication is the core of agile, and it needs to be happen all the time when a new changes occur.
Usually developers spending more time on documentation rather working on the software. This can bothered users cause they need to be ensured that there is progress in their product and demand working delivered software as soon as possible. Although documentation is still mandatory in development, in Agile, working software is more preferable and always documented in User Stories.
In Agile, users are always engaged and asked to collaborate with the developers to make sure their end-product meets their expectation. Therefore, users engagement is crucial in Agile process.
Expect to make changes
Competition in current digital economy era is very aggressive. For example, two Indonesia unicorns in E-Commerce always releasing new features in daily basis. If they unable to develop their product timely, they can be left behind. Therefore, feature changes due to business competition is something development team have to accept.
One of well know Agile methodologies followed by current digital industries is Scrum.
In our project, we use Scrum because it is the most used Agile methods in digital industries and more cost effective than Extreme Programming. Scrum consists of three main roles:
- Product Owner (PO), responsible for Product Backlog, which is a list of requirements or User Stories,
- Scrum Master (SM), responsible for keeping the development team on time,
- Development Team, the developers :)
Scrum also consists of five main events:
- Sprint Planning, where each role plans what Product Backlog or User Stories to develop in this sprint and estimates the weight of the backlog,
- Sprint, where developers make their Product Backlog. Our team applied Sprint with 2 weeks time period,
- Sprint Review, where Product Owner decides which developed Product Backlog goes into production after each Sprint,
- Sprint Retrospective, where Scrum Master gather data and insight from the development team what went well or what went poor, and make changes so in the next sprint can be better. Our team conduct this event after Sprint Review,
- Daily Scrum, where Development shares what they have done or what they are doing in this sprint with Scrum Master. Our team implement this meeting twice a week.
To sum up, Agile methodology is the most used SDLC in digital industries. Agile makes faster product development, also makes team more communicative and flexible than ever.