Steem Bangladesh Contest: (Technology) - Know More About Agile Development in the IT World
Assalamualaikum. Hello Steemians...
Good night friends of the Steem Bangladesh community. How are you all today? I hope that all of my friends are fine and always enthusiastic in carrying out their activities.
Meet me again @hidayat96 and on this occasion allow me to return to this community to take part in the contest held by @hive-138339 and the topic is about Science - Technology & Computing. Of the three topics that I mentioned, in this post I want to discuss about Technology. In this contest I also want to invite 2 of my friends, namely @ratul24730 and @lingkar-photo so they can join this contest immediately.
Know More About Agile Development in the IT World
Maybe you have heard of the term Agile Development Software. The Agile Software Development method provides many benefits for companies in handling an IT project, ranging from costs to increasing the company's reputation. For those of you who still don't know what Agile Development is, here I will try to explain, especially for those of you who want to develop company IT to be better and optimal.
What is Agile Development in the IT world?
To know more about what Agile Development is, we should first define what Agile means. The word refers to the drive to satisfy the customer for a project. In the IT world, Agile Development can be interpreted as software development in a fast way, easily adaptable to developments and provide more satisfaction to customers in an IT project. The concept of Agile Development was first coined by and developed by Kent Beck in 2001 ago. Kent Beck together with about 17 software developers formulate the steps to develop an IT project that is efficient, fast and gives the best results. That way it will provide more value for companies to compete in the market. The formulation of these steps ultimately resulted in 12 principles called "Agile's Manifesto".
Key principles of Agile Development (Agile Manifesto)
In implementing Agile Development there are several things that we need to pay attention to in order to support its smoothness. Launching from the HuffPost page, there are 12 principles that we need to know, including the following:
More emphasis on client satisfaction as a top priority by producing products early in a sustainable manner.
Always open to accept changes even though there are delays in developing software tools. The company will provide a competitive advantage for the clients.
Can produce software that can work well, starting from a matter of weeks or months and has a preference in a shorter period of time.
Business partners and developers should work together on ongoing IT projects.
Develop projects on motivated people. The existence of a supportive environment will make them to immediately complete their work well.
Direct communication is an effective and efficient method for conveying information and developing software.
Software that works well is the main measure of the progress of an IT project.
Agile Development is able to develop projects and development in a sustainable manner. With stable support from sponsors, developers and users.
Technical excellence is something that deserves attention to improve agility.
Simplicity is the most important thing in Agile Development, namely maximizing existing resources.
All the needs and the best software design comes from a team that is able to organize itself.
The development team will periodically reflect on how to work more effectively and align it with their work patterns.
Types of Agile Development.
Agile Development is divided into several types that are often used in various IT projects. There are several types of Agile Development Software, including Extreme Programming, Dynamic System Development Method, Scrum, and Adaptive Software Development. Here I explain these types.
- Extreme Programming (XP)
Extreme Programming is a type of Agile Development that is suitable for small to medium teams. In this type there are several stages that need to be done, for example planning, design, coding to testing. When developers use this method, they are encouraged to dare to take decisions in the coding process. Extreme Programming has advantages such as increasing customer satisfaction and completing IT projects faster. In addition, feedback can be done quickly and if there are errors, they are immediately corrected. Users can also be directly involved by monitoring the creation of information systems. But there are also weaknesses that make developers have to be ready with all the changes. Likewise, code generation cannot be made in more detail at the beginning.
- Dynamic System Development Method (DSDM)
Dynamic System Development Method is a framework in Agile Development by prioritizing continuous user involvement. This Dynamic System Development Method is an iterative and incremental approach. There are 5 phases developed in this Dynamic System Development Method, including feasibility study, business study, functional model iteration, design and build iteration, and implementation phase. The advantage of this method is that it can build software quickly for up to 80% of the designed project and for 20% of the total time of the entire IT project. Meanwhile, the advantages of this method are sometimes in IT projects, issues regarding backup and recovery systems so that security is not given much attention.
- Scrum
Next is SCRUM, which emphasizes the strength of team collaboration, incremental products and iterative processes. In this SCRUM system, there are three methods, namely the SCRUM master, the product owner, and the SCRUM team. The Scrum Master has a duty to follow established procedures, protecting the team from distractions. Meanwhile, the product owner has a big responsibility because he has a vision of how the IT project will run to the SCRUM team. SCRUM will later manage their work, such as analyzing, doing software design, testing and others.
This method has advantages such as helping the company's efficiency and minimal overhead costs. However, SCRUM also has weaknesses such as requiring experienced experts. If an IT project with less experienced experts uses this method, the process will take longer.
- Adaptive Software Development
Adaptive Software Development is a method of Agile development developed by Jim Highsmith. This method applies the technique of building software with complex systems. There are three main activities in Adaptive Software Development, namely Speculation, collaboration and Learning. Speculation is an activity related to the initial mission such as what is desired by the client, project boundaries, and required needs. Meanwhile, collaboration is an activity in completing a software development project.
This Adaptive Software Development method has several advantages including increasing team work productivity and software quality. On the other hand, this method is also able to save production costs and can reduce the risk of software implementation failure, especially from a non-technical perspective. While the drawback is that this method is not suitable for large teams (more than 20 people). Also from the estimated time of release and the price of the software used is difficult to determine. From the various methods or models of Agile development above, the similarity is its function in getting test data with actual cases. Therefore, copy data management is able to provide the same test data with real cases in a short time.
Test data in Agile Development.
When a project has a software development plan through Agile development, it is necessary to have test data or in this case known as test driven development. Basically this is a process of integration or testing before implementation. Here the developer is required to make a design that contains the functionality to be implemented. In agile development, test data and test drive development are needed to ensure whether the product meets the specifications at the design stage or not. With this stage, it can make the resulting product more quality and provide the best performance.
By applying the Agile development method, it will be easier for the team to solve a problem in the IT world quickly, precisely and measurably. So for that, in order to support the smooth running of the project, there is no harm in cooperating with an IT Outsource company that has the best and most trusted reputation.
Upvoted! Thank you for supporting witness @jswit.