In this paper the author is aiming to identify the agile methodological instruments regarding the lifecycle of software development. In a gradual approach, from the traditional waterfall model towards approaches like Scrumban and agile modeling. Additionally, readers will understand the values and principles of using agile methodologies in software development projects and the main trend and predictions in adopting and developing agile methodologies in system analysis.
Systems Analysis, Agile methodology, Agile Scrumban methodology, Software development life cycle (SDLC), human-centered design, Agile Modeling,
Among thousands and thousands of Software Development Methodologies in ever-changing technology and software world, after the fall of Waterfall, Agile stands out for system analysis projects and Software development life cycle (SDLC) analysis. "The literal meaning of Agile is “Able to move quickly and easily", in terms of software development Agile would imply “flexible” process to respond to changes quickly and the same is true, allowing a developer to go back to a previous stage and carry out necessary changes there by refining the software without much delay as compared to the convention plan driven Software development methods ". (Misra, Subhas C, 2015) However in terms of system analysis, I can’t agree more with the statement of “Agile is a mindset defined by values, guided by principles, and manifested through many different practices” by Ahmed Sidky.
Let’s take a look at the 4 values and 12 principles of Agile Methodology which really eased some consequences of industry frustration in the 1990s. At that time the software development models which were led by the Waterfall model were not meeting the requirements and customers’ needs for on time delivery or meeting the budget or making quick adjustments to the changes of the technology and software.
Unlike linear Waterfall methodology, Agile methodology in system analysis focuses on flexibility, continuous improvement,managing uncertainty and speed. The four values of Agile methodology guaranteed to the clients on change is always welcomed, evolving requirements can easily be adapted. Faster and high-quality delivery is highlight along with strong agile team interaction, continuous feedback from users. Furthur more,, customers will have all the opportunities to see the smaller chunk of work being delivered in the process, to share their input, and to have a real impact on the end product without worrying about jargons from developers or piles of documentation given to them as a whole in the very end of project before system design and implementation. Besides the four values, we can’t ignore the 12 Agile principles involved in Agile methodology as follows:
Based on the manifesto, any project that observes these 12 development principles can fall under the category of agile projects. Grounded by 12 principles, Agile methodology has been adopted and implemented in many many different practices such as Velocity-‐based planning and commitment; Time boxed iterations; Adaptive (multi-‐level) planning; Risk backlog; Pull-‐based systems; Incremental/evolutionary design; Slack etc.” Analysts claim that the 12 principles of the Agile Manifesto constitute a “dramatic contrast” from the traditional guide and de facto standard of project management PMBOK – Project Manager’s Body of Knowledge. “ (Marian ,2016 ) Instead of creating huge volumes of documents and misunderstanding jargons in traditional approach, , the agile software development concentrates on the clients and users who work in businesses with agile architecture so that flexible solutions will be delivered smoothly with speed. The Agile approach helps with the decrease in response time to clients’ requests and with the reduction of costs in adaptation to different business scenarios and, finally,will lead to the increase in organization income reaching the economic goal for the organizations. For example, George Tome, a software engineer working at John Deere, a farm equipment company, applied Agile principles on a very low-key basis to run a new machine project, but has expanded them successfully from the IT units to all other departments and organizations. Intronis, a leader in cloud data backup services, uses Agile methodology in their marketing strategies. C.H. Robinson, an international third-party logistics provider, applies Agile philosophy in human resources. Mission Bell Winery uses them for everything from wine production to warehousing to running its senior leadership group….The whole world with different lines of business is embracing Agile methodology with its well-known values and principles.
Figure 4 Scrum method
Scrum is an agile method for project management or framework used primarily for software development projects.Its goal is to dramatically improve productivity in teams and to deliver new software every 2-4 weeks. Agile Scrum methodology involves forming teams with diversity, strong communicative teamwork, frequent feedbacks from clients, a lot of participates of users etc.
Figure 5 Kanban method
Kanban is one of the most popular software development methodologies adopted by agile teams today. Like Scrum, Kanban is a process designed to help teams work together more effectively.However there are some differences that you can not ignore as an Agile lover.
Table 1 Differences between Scrum and Kanban( Marian,2016)
Scrumban method is becoming very popular these days because it is the combination of the best features of both and has developed as “one of the newest hybrid approaches in software development that calls on technical and methodological “compromises” between the parent methodologies” (Marian,2016)
We have learned great deal from this class about “human-centered design” which provides system analysts with design -thinking approaches for more effective system analysis. In order to be a human-centered designer, we need to adopt an iterative approach to solving problems because it makes feedback from the people we’re designing for a critical part of how a solution evolves. "By continually iterating, refining, and improving our work, we put ourselves in a place where we’ll have more ideas, try a variety of approaches, unlock our creativity, and arrive more quickly at successful solutions". Scrumban methodology is one of the approaches that influenced the Agile Manifesto, which articulates a set of values and principles to guide decisions on how to develop higher-quality software .
Figure 6 Scrumban ( Marian,2016)
In Scrumban , development teams may easily adapt to production requirements and interests of the stakeholders without being burdened by the project methodology or inconsistency. Scrumban inherits from Kanban the concept of elimination of elements that might lead to unwanted results, thus avoiding unnecessary processes. Also, Scrumban may optimize the developers, Scrum Masters, and product owners ’ effort in order to achieve the quality standards planned. Its great benefits to system analysis are: High Quality with visualization;Short lead time with user story implemented;decisions and facts just when they are needed;continuous improvement; Least waste ; Process improvement by adding some values of Scrum as and when needed. In short, Scrumban is a methodology with soft evolution and beneficial revolution
When talking about system development life cycle (SDLC), we certainly mean a series of stages or phases which provide a systematic model for the creation and management of a software application.(Fig. 4). Additionally, as system analysts, we make a detailed plan after problem analysis , solution requirement analysis and design analysis before the software development processes such as implement, test, maintenance and replacement will take place. There are several important development models in general use.In terms of what’s required of the application, and how costs and resources are allocated, correctly applied model will enable SDLC to keep all clients and users in a software project on the same page and to deliver work without delay. A well-documented and performed SDLC can also ensure high levels of product quality, application security, and management control. The most common models are listed as follows:
Figure 8 Agile Model ( from Analyzing agile development - from waterfall style to scrumban. Informatica Economica, 20(4), 5. )
In terms of Systems Thinking and Analysis, Agile is regarded a subset of Systems Thinking practices and principles. Agile model has been constructed through application project and needs to be implemented in the future products as well. The Agile model allows a seamless process flow while undergoing the iterative development stages.
After the Databse and Data warehouse introduced to the world in late 1990’s, the Extended Entity Relationship model (EER) is often referred to in conceptual modeling and Agile model also merged into data-based system analysis: “At a high level Agile Modeling is a collection of best practices...At a more detailed level Agile Modeling is a collection of values, principles, and practices for modeling software that can be applied on a software development project in an effective and light-weight manner.”
Based on the Agile Modeling Values and AM core principles , Agile Analysis has been changed from being frightening to trendy during the 18 years since it was introduced to the analysis world in the year of 2000. Let’s take a look at the Agile Analysis a little further for our better understanding and give a shot to its definition and its benefits and practises in reality:
Figure 10 above shows us that comparing to the traditional system analysts, Agile analysts spend almost no effot in making detailed documents in the beginning phase, but making high-level plan,requirements and architecture instead. This shows that the agile analysts start modeling early in the right direction because they won’t waste time in documentation documentation and documentation before they realize that the documents might not be useful for their project in the middle of the SDLC. The lower cost curve of the agile analysts also tells us less risk of waste of budget for clients while by documenting early in the lifecycle traditionalists incur increased documentation maintenance costs throughout the lifecycle.
“Software development life cycle (SDLC) has always been the core methodology for any software engineer that depicts the entire development process which an organization is bound to utilize to achieve successful software.”(Misra, Subhas C, 2015) and SDLC is definitely agile methodology system analysts should always follow in order to reach success in system analytical world. Let’s meet at the the newer version of Agile Lifecycle – (Scrum based): This lifecycle is based largely upon Scrum and XP with a set of time boxed iterations (sprints) being the core of the Construction phase. Whenever you’re extending Scrum to be sufficient for your needs or you’re transitioning from RUP to a disciplined agile approach, this Agile Lifecycle – (Scrum based) will be the best start.
The nature of system analysis has been always changing. Several decades ago system analysis was seen as a transformational process within a serial project lifecycle. Waterfall was so useful and dominant, however, with the rising popularity of SQL database and ERP system in the 1980s and 1990s system analysis was later on seen as part of an iterative and incremental process, and in the new era the nature of system analysis is transforming once again. Today system analysis is better envisioned as a highly collaborative, iterative, and incremental endeavor including both developers and stakeholders.Furthur more,in modern system development business, we, as system analysts, should not only put emphasis on computer skills or computers, we need but put more considerations to businesses we are dealing with. In this point, we are facing the critical challenge of IT people and business people don't understand each other well enough. Acting as the system analysts for any lines of buiness with the goal of optimum solutions,we always need to remember to put the clients and usres' needs first and that is why we adopt agile modeling methodolgy with more enphasis on businesses in order to break the barriers so that everyone will be able to move on the right directions to win-win project results.