A Critique of Ashok Kumar and Vinay Goyal article “Software requirement analysis enhancements by prioritizing requirement attributes using rank based Agents”

A Critique of

Ashok Kumar and Vinay Goyal article

“Software requirement analysis enhancements by

prioritizing requirement attributes using rank based Agents”


Table of Contents:

Abstract

Introduction

AOP in the Project Environment

Related Work

Agent Oriented Software Application with Scope and Requirements Gathering

Conclusion


Abstract:

Software using agent methodologies is an evolving method growing very rapidly in software development projects.  Agent oriented programming (AOP) is a paradigm where the construction of the software is centered on the concept of software agents.  The difference between object oriented programming (OOP) and AOP is that AOP has externally specified agents at its core whereas OOP is object oriented providing methods with variable parameters embedded within.

Systems composed of interacting autonomous agents suggest an encouraging software approach for developing and managing applications projects in complex environment. However, this multi-agent system standard introduces a number of new concerns when compared with more customary methods to software development. As such, new analysis and design methodologies, perhaps even new tools, may be needed to effectively create such systems.

Professors Kumar and Goyal conducted experiments to determine how effective AOP was in the project environment in determining user requirements. Their contention was that AOP is very helpful in the Software Development Lifecycle (SDLC) showing improvements in cost and effort. Professors Kumar and Goyal feel that the autonomous and reactive nature of AOP makes it possible for designers to visualize a solution. Their experiment aimed to prove this contention true. The following paper discusses their work and how it applies to the integration of scope, requirements gathering and time in managing projects.

Introduction

Agent oriented software; software that is capable of thinking and making decisions based on past events has been coming of age in the gaming world for many years. Now, it is being developed for use in the everyday business world, especially for use in developing business applications. But can it work in determining scope and requirements for business application projects?

Professors Kumar and Goyal experimented with agent oriented, which is growing very rapidly, to determine its effectiveness in determining requirements in application development. Software development industries have invested huge efforts in this domain and results published by many of them seem positive. This paper examines their work and compares how effective it may be in everyday project scope development and requirements gathering.

AOP in the Project Environment

The concept of AOP and the idea of centering your software on the concept of agents were first used by Yoav Shoham and his studies around artificial intelligence (AI) (Shoham, 1993). He used only single parameter agents at first that were specific to his studies. Shoham would later develop theories around game-theory and has won awards around his studies concerning the intersection of computer science, game theory, and economics, particularly in multi-agent systems. Kumar and Goyal are attempting to expand on this theory by putting it into practice to determine if there would be any improvement in the Software Development Lifecycle (SDLC). They point out that past studies show an improvement in the process and that agents have helped minimize project costs (Kumar, 2011).

By fine tuning agents and what is called the SDLC process-state-plug-in for two-way communications the result is that the agents can improve on organizing resources in such a way that helps to better utilize time requirements. Kumar and Goyal conducted such an experiment specifically to improve the requirements analysis process. The agents would sense the requirement environment and deliver a checklist of what it considered to be important requirements. This functionality goes along with the idea of artificial intelligence (AI) in that we can set programs to not only identify parameters when they’re presented; we can also make it so the program learns by storing information it can draw from so that it can make suggestions based on prior events.

The objective of an agent-based model (ABM) is to search for explanatory perception into the combined behavior of agents (they’re not necessarily “intelligent”) following simple rules, usually in natural systems, rather than in answering specific practical or business problems. Typical topics for ABM’s in MAS are online trading approach, disaster response or modeling social structures.

Related Work

The analysis process for using agent-oriented analysis and design involves using the GAIA Methodology. GAIA is made up of the following stages (Wooldridge, 2000):

  1. Any protocols should be identified and associated with each role. Protocols show the interaction that could occur between each role
  2. Identify individuals, departments, or organizations as key roles model that occur in the system with a description of each
  3. Elaborate on the role model using the protocol model. This should produce a fully elaborated roles model documenting the key roles in the system, their responsibilities and permissions together with the protocols and activities of each role

From these and other experiments engineers have been able to develop what are known as an autonomic computing mechanism that is capable of self-configuration, self-organizing; a kind of self-adapting software with the ability to use available information about its ever changing environment to change its decision making process. It stores event outcomes in a database using it to judge future events in order to make a decision.

Agent Oriented Software Application with Scope and Requirements Gathering

Part of the problem with using rank based agents is whether these agents can be flexible enough to meet the needs of business. Flexible agent based architectures have been experimented with by software developers and is considered the foundation for many next generation systems. But the success of these agents will very much depend on how they’re fitted into a business environment and they’re ability to change with that environment (Kerzner, 2009). While lining up specific requirements in an online form to roles, responsibilities, and permissions to ABM’s would make gathering requirements much easier, it cannot take the place of intuition. Part of the requirement for being a project manager is having a god business sense and intuition about what will work and what won’t work (PMBOK, 2013). While Kumar’s work certainly shows promise, as their test results seem to bear out, it’s difficult to see how these tools can be used in determining overall project requirements.

One part of managing projects is determining which resources will be used and when. While the ABM’s can help in determining skill level needed and matching to specific tasks, it cannot determine if that resource will be a good fit into the project team. Often this determination is a purely gut feeling on the part of the project manager.

Conclusion:

Can agent based methods be applied to all aspects of scope development and requirements gathering thus saving time and money? Yes, it can be. Currently it would seem to work well with identifying and matching applications requirements to roles and responsibilities. It would prove to be especially effective when used to determine security requirements with role permissions, especially in today’s security crazed world. But even in everyday business transactions carried out online in the business world, the ability to develop applications using ABM would help to save a tremendous amount of costly planning time. The real question here is will companies spend the time and money to develop such methods. Only if it was proven to them that it would cut development cost drastically would implementing ABM’s be considered. As with any new technology, it will take many years for full realization.

References:

Kerzner, H. (2009). Project management: A systems approach to planning, scheduling, and controlling. Hoboken, NJ: John Wiley & Sons.

Kumar, A., & Goyal, V. (2011). Software requirement analysis enhancements by prioritizing requirement attributes using rank based Agents. International Journal of computer science and information security, 9(8).

Project Management Institute. (2013). A guide to the project management body of knowledge (PMBOK guide), fifth edition. Newtown Square, PA: Author.

Shoham, Y. (1993). Agent-Oriented Programming. Artificial Intelligence. doi:10.1016/0004-3702(93)90034-9

Wooldridge, M., Jennings, N. R., & Kinny, D. (2000). The Gaia Methodology for Agent-          Oriented Analysis and Design. Autonomous Agents and Multi-agent Systems.

Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive

Author: Rich Garling

Successful results-driven experience in IT program/project management, focusing on collaborating with multiple businesses and IT workstreams to define detailed business process requirements into workable enterprise software solutions for retail, finance, pharmaceutical, and inventory processes. A successful proven track record in leading cross-functional international teams of project managers while managing expectations and delivering projects of greater than $10M within stakeholder expectations. Provided an in-depth knowledge of SDLC using Agile and Waterfall project management methodologies (Scrum Master (SMC)), MS IT Management/Project Management (AMU)), and a talent for developing business requirements delivering workable technology solutions. Rich holds a Bachelor of Science in Political Science from Northern Illinois University and a Master of Science in Information Technology/Project Management from American Military University. He is currently a Project Manager III for Bradford Hammacher Group in Niles, IL/