Agile Methodology and System Analysis

By Lu Bauer

UMSL Spring Course Information System Analysis

Professor: Vicki L. Sauter

Contents


Abstract

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.

Keywords

Systems Analysis, Agile methodology, Agile Scrumban methodology, Software development life cycle (SDLC), human-centered design, Agile Modeling,


Introduction: Agile Methodology

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.

Figure 1.


Chapter 1 Agile values, principles and practices

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.

Figure 2

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:

Figure 3

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.


Chapter 2 Agile Scrum methodology VS Kanban method VS Scrumban

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)


Chapter 3 Why is Ageil Scrumban methodology important to system analysis

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


Chapter 4 Agile model for improving The Software (System) Development Life Cycle

Figure 7

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:

  1. Waterfall model : sequential, linear development model.It is the oldest SDLC model following a straight line path from one phase of the process to another, as each completed phase “waterfalls” into the next. A lot of delays at any stage can seriously hamper the entire process.
  2. V-shaped model: an extension of the waterfall model, featuring a testing round at each development stage; (mainly focus on verification and validation);
  3. The Big Bang Model: a higher-risk SDLC model which focuses mostly on the coding stage, and places little emphasis on a system analysis.
  4. Spiral model:the most flexible of the SDLC models, achieving software optimization through a repetitive process where planning, design, building and test phases are run over and over again, with little improvement or progress at each repetition.
  5. Agile model (Figure 8): produces a succession of releases; allows a working phase to be delivered very quickly. The testing of each release provides feedback for improving the next release.Agel model has three main attributes: “ Software is developed in fact, incremental cycles; Each version is tested to ensure product quality; It is used for applications that must be completed in a critical time frame. “ (Marian STOICA,2016)

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.


Chapter 5 Agile Modeling in data-driven system analysis

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.”

Figure 9

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:

  • Scott Ambler, the founder of Agile Modeling and Disciplined Agile Delivery (DAD)defines Agile Analysis as:”highly evolutionary and collaborative process where developers and project stakeholders actively work together on a just-in-time (JIT) basis to understand the domain, to identify what needs to be built, to estimate that functionality, to prioritize the functionality, and in the process optionally producing artifacts that are just barely good enough.”
  • The Best Practice of Angile Analysis is that stakeholders should be active Participants in modeling and planning; The business people and developers should sit side by side on analyzing and modeling because only the business people do understand the business needs but don’t have ideas about database, Analysis Models or technology tools;
  • Think about the future but wait to act: Another Best Practice of Angile Analysis is the strategy of documentation through the SDLC but document late:
  • Figure 10

    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.

    Figure 11

    “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.


    Conclusion

    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.


    Reference

    1. Vicki L. Sauter: Information Systems Analysis
    2. Gause, D. C., & Weinberg, G. M. (1990). Are your lights on? How to figure out what the problem really is. New York: Dorest House Publishing.
    3. The field guide to human-centered design: Design kit. (2015). San Francisco: IDEO.
    4. Hoffer, J.A., J.F. George and J.S. Valacich, (2013) Modern Systems Analysis and Design, Seventh Edition, Reading, MA: Pearson/Prentice Hall Publishing Company
    5. Brooks, F.P.(1995). The Mythical Man-Month, Boston: Addison-Wesley
    6. L. (2013). An agile approach to systems analysis and design teaching and learning. 19th Americas Conference on Information Systems, AMCIS 2013 - Hyperconnected World: Anything, Anywhere, Anytime,1, 1629933945th ser., 323-330. Retrieved April 22, 2018.
    7. Mirachi, S., Costa Guerra, V., Cunha, A. M., Dias, L. A. V., & Villani, E. (2017). Applying agile methods to aircraft embedded software: An experimental analysis. Software: Practice and Experience, 47(11), 1465-1484. doi:10.1002/spe.2477
    8. Bider, I., & Jalali, A. (2016). Agile business process development: Why, how and when-applying nonaka's theory of knowledge transformation to business process development.Information Systems and e-Business Management, 14(4), 693-731. doi:10.1007/s10257-014-0256-1
    9. S. (2010, October 28). Russell Ackoff - Systems-Based Improvement, Pt 1. Retrieved from https://www.youtube.com/watch?v=_pcuzRq-rDU
    10. Vanderjack, B. (2015). The agile edge: Managing projects effectively using agile scrum. New York: Business Expert Press.
    11. Misra, S. C., & Singh, V. (2015). Conceptualizing open agile software development life cycle (OASDLC) model. International Journal of Quality & Reliability Management, 32(3), 214-235. doi:10.1108/IJQRM-08-2013-0127 Stoica, M., Ghilic-Micu, B., Mircea, M., & Uscatu, C. (2016). Analyzing agile development - from waterfall style to scrumban. Informatica Economica, 20(4), 5. doi:10.12948/issn14531305/20.4.2016.02
    12. Rubin, E., & Rubin, H. (2011). Supporting agile software development through active documentation. Requirements Engineering, 16(2), 117-132. doi:10.1007/s00766-010-0113-9
    13. Scrum Methodology (n.d.). Retrieved April 22, 2018, from http://www.itinfo.am/eng/software-development-methodologies/#chapter11
    14. Smith, M., Miller, J., Huang, L., & Tran, A. (2009). A more agile approach to embedded system development. IEEE Software, 26(3), 50-57. doi:10.1109/MS.2009.57
    15. Webster, G. (2017). Impact of agile and workflow management systems on straight-through processing: IT project manager's perspective. Software Quality Professional, 20(1), 22-34.
    16. Berger, H. (2007). Agile development in a bureaucratic arena—A case study experience.International Journal of Information Management, 27(6), 386-396. doi:10.1016/j.ijinfomgt.2007.08.009
    17. Azanha, A., Argoud, Ana Rita Tiradentes Terra, de Camargo Junior, João Batista, & Antoniolli, P. D. (2017). Agile project management with scrum: A case study of a brazilian pharmaceutical company IT project. International Journal of Managing Projects in Business, 10(1), 121-142. doi:10.1108/IJMPB-06-2016-0054
    18. Agile project management with scrum. (2017). International Journal of Managing Projects in Business, 10(1), 121-142. doi:10.1108/IJMPB-06-2016-0054
    19. Vlaanderen, K., Jansen, S., Brinkkemper, S., & Jaspers, E. (2011). The agile requirements refinery: Applying SCRUM principles to software product management. Information and Software Technology, 53(1), 58-70. doi:10.1016/j.infsof.2010.08.004
    20. Smaizys, A., & Vasilecas, O. (2009). Business rules based agile ERP systems development.Informatica, 20(3), 439-460.
    21. Huanhuan, X., Yujuan, X., & Yu, S. (2013). A study on the application of ERP financial management system in logistics enterprises based on agile financial chain model. Journal of Applied Sciences (Faisalabad), 13(12), 2232-2232. doi:10.3923/jas.2013.2232.2238
    22. Misra, S. C., Singh, V., & Bisui, S. (2016). Characterization of agile ERP. Software Quality Professional, 18(3), 39.
    23. Ambler, S. (n.d.). Agile Modeling. New York: John Wiley & Sons.
    24. (n.d.). Retrieved from http://agilemanifesto.org/principles.html
    25. What's the Difference? Agile vs Scrum vs Waterfall vs Kanban. (2018, February 12). Retrieved April 23, 2018, from https://www.smartsheet.com/agile-vs-scrum-vs-waterfall-vs-kanban
    26. Retrieved from https://www.softed.com/assets/Uploads/Resources/Agile/The-Agile-Mindset-Ahmed-Sidky.pdf
    27. Takeuchi, D. K., Rigby, D. K., Sutherland, J., Takeuchi, H., Staats, B., Upton, D. M., . . . Bowen, H. K. (2017, March 21). Embracing Agile. Retrieved from https://hbr.org/2016/05/embracing-agile
    28. Retrieved from https://blog.finjan.com/software-development-life-cycle/
    29. Nate Williams. Can Your Customer’s Requirements Be Too Agile? (n.d.). Retrieved from http://www.umsl.edu/~sauterv/analysis/ba3810start.html