Do Your Best with the Right Equipment: Software Development
In today’s society, software items are essential for our day-to-day life. Software product development is a difficult task, and in order to stay competitive in today’s environment, rapid software product development is required. It is no longer sufficient to rely on standard software development tools such as the waterfall model, spiral model, and others.
Agile Methodology
A methodology is a set of processes, norms, and methods for a specific discipline. Agile values and principles, on the other hand, specifically avoid prescribing any specific methodologies or procedures. Agile values and principles do not attempt to dictate how a team should operate. Instead, they concentrate on assisting team members in thinking and interacting in ways that promote agility. Agility is defined as the ability to adapt and improve your work methods on a continuous basis.
Agile methodology adheres to the many steps of the SDLC, which follow varied practices for managing software products. Agile procedures are known for encouraging teamwork and discipline management. It is followed by regular examination and modification in supporting sectors in order to keep products up to date with rapidly changing business needs. Some examples of agile practices are SCRUM, XP, Crystal, Pragmatic Programming, Feature Driven Development, DSDM, XBreed.
Agile Manifesto
When developers plan to practice agile development, they tend to refer to the manifesto:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more”
Many developers embraced the rise of agile approaches with enthusiasm, but it also drew criticism. At least two approaches to agile development can be shown, both with potentially distinct outcomes: There are developers who employ agile methods because they believe in the manifesto’s values and principles, and there are developers who use it because it is considered best practice. The agile manifesto seems to promise a more successful manner of producing software by “simply” adhering to the original values and principles. As a result, the manifesto is unique. Some developers saw the manifesto as the “Holy Grail” for successful software development, while others saw it as a marketing ploy to sell intuitive development behaviour within the software industry.
SCRUM
Scrum is an agile strategy that employs an incremental and iterative approach to manage complex work and produce complex software solutions with often changing business requirements. Scrum is applied through meetings. The main scrum events are the sprint planning, the daily scrum, the sprint review, the sprint retrospective, and the sprint itself.
Roles in SCRUM
1. Product Owner
The product owner has complete control over how the product should look and what features it should have. They are the customers’ and stakeholders’ voices. They manage and prioritize the product backlog while avoiding competing objectives, clarifying instructions, and cultivating stakeholder confidence.
The product owner has the authority to decide what should and should not be included in the product. Their goal is to make the product as valuable as possible. To be effective, the product owner must have a broad understanding of the business, the customer, and the market in order to be equipped to make crucial decisions for the team.
2. Scrum Master
The scrum master is a servant-leader who holds the scrum team responsible for the working agreements, scrum values, and scrum frameworks in order to help them perform at their best. They assist the development team by coaching them on self-organization, enhancing team relations and motivation, facilitating scrum events as requested or required, removing roadblocks to the team’s progress, and safeguarding the team from both internal and external interruptions.
The scrum master is in charge of determining the most effective method for managing product backlogs. They also assist the product owner in understanding and communicating values, as well as planning work with the team to produce the highest level of customer value. The scrum master serves as a change agent, assisting the entire organization in understanding scrum and building a scrum-friendly workplace.
3. Development Team
The term “developer” refers to anybody involved in the creation of a product, not just engineers. The development team is a self-organizing, cross-functional body that is given the authority to govern its own work. No one has the power to tell the development team how to convert a product backlog into the desired value. The development team, which consists of three to nine members, is preferably co-located and long-lived.
Scrum Application in Badaso LMS
Sized to an ideal scrum team, ILMA consists of 7 members, excluding the product owner, with Ilma as the scrum master. At the very start, before any sprints have begun, our product owner identified the requirements of the project and listed them as product backlogs. Each backlog item is categorized into an epic and contains information that includes the user story, description, acceptance criteria, sprint timeline, priority criteria, assignee(s), and story point.
Every sprint, our scrum master posts backlog items that are to be implemented in that sprint on a project management software. For this purpose, we use GitHub projects so that their completion can be directly linked to the merging of a specified branch. For each sprint, every member of the development team is responsible for the implementation of at least one backlog item, the delegated amount depends on the completion target of that sprint and the story point of the backlog item. In the development process of Badaso LMS, each sprint cycle has a span of three weeks, with an end goal of completing the project in four sprints, totalling twelve weeks of development.
I hope you find this blog helpful, if you find any mistakes or misinformation, I would very much appreciate the feedback. Thank you!
“This should be enough.”
— William Benson
References
Hema, V., Thota, S., Kumar, S. N., Padmaja, C., C Bala, R. K., & Mahender, K. (2020). Scrum: An Effective Software Development Agile Tool. IOP Conference Series.Materials Science and Engineering, 981(2) Doi: 10.1088/1757–899X/981/2/022060
Hohl, P., Klünder, J., Arie, v. B., Lockard, R., Gifford, J., Münch, J., Stupperich, M., & Schneider, K. (2018). Back to the future: origins and directions of the “Agile Manifesto” — views of the originators. Journal of Software Engineering Research and Development, 6(1), 1–27. Doi: 10.1186/s40411–018–0059-z
Mark Shead. What is Agile Methodology? Youtube. https://www.youtube.com/watch?v=ZZ_vnqvW4DQ&ab_channel=MarkShead
OeLean. Agile Scrum Roles and Responsibilities: Product Owner, Scrum Master, Development Team. Youtube. https://www.youtube.com/watch?v=j7T1m2Amc40&ab_channel=OeLean
Illustrations included are official game assets of the game Eternal Return.