IOSR Journal of Business and Management (IOSR-JBM)
e-ISSN: 2278-487X, p-ISSN: 2319-7668. Volume 17, Issue 8.Ver. I (Aug. 2015), PP 50-55
www.iosrjournals.org
Agile Project Automation
Sachin D. Pandkar1, Dr. B.E. Narkhede2, Dr. M.M. Chandane3
1
M.Tech Project Management, Veermata Jijabai Technological Institute, Mumbai- 400019, India.
Head of Project Management, Veermata Jijabai Technological Institute, Mumbai- 400019, India.
3
Associate Professor, Computer Engg. & IT Department, Veermata Jijabai Technological Institute, Mumbai400019, India.
2
Abstract: Manifesto for Agile Software Development values individuals and interactions over processes and
tools. Nevertheless use of software tools can help managers monitor progress of software projects more
efficiently. This paper presents a study of an agile project management tools. Project managers could get
benefited by learning this study of automation in agile projects. In todays IT world proper and effective
software project management is usually the most important factor in the outcome of many companies and their
Engineers and Managers. Software managers have to monitor, control and manage many projects concurrently.
The study provides insights of agile project management. The aim is to explore and specify the best Agile project
management tools used by software project management teams and their managers, to understand the supported
features that might influence their selection. This paper discusses a case study of a software project that used
different software agile project management tools for the automation of software agile projects. Automation of
project in planning, scheduling and estimation which will increase project success rate, also it will decrease the
project cost, time and resources required for completion of the project. Agile project automation increases the
reliability of project where project will complete on schedule. Finally all these factor together increases success
rate of software project.
Keywords: Agile , Automation, Project Management, Scrum, Software Project Management
I.
Introduction
In todays IT world Agile software development methodology is very popular in software industries, as
software products are intangible, changes evolves many times during the project lifecycle. Dynamic
requirements of customers is a big challenge for the project managers and developers, and solution for this
challenge is agile development methodology. Changes in the requirements affects on cost, time and risk factors
of the project. To make such agile project successful proper and effective software project management is
usually the most important. Software managers have to monitor, control and manage many projects
concurrently. Unfortunately, today we can see some projects were completed successfully but some were not
completed on time, over budgeted or being cancelled. There are many reasons behind the failure of software
projects, like lack of planning, incomplete requirements, change in customer requirements, lack of resources,
incorrect cost estimation, just to name a few.
This paper represents how automation of different processes of project helps project team to make agile
project successful. The aim is to explore different areas for the automation in agile projects which will decrease
the project cost, project time and resources required for completion of project and will increase the reliability of
project where project will complete on schedule.
II.
The Agile Manifesto
The Agile Manifesto provides a good overview of the intent of Agile Methods [3] "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." Principles behind the
Agile Manifesto [4][5] Agile methodologies follows these principles:
1.
2.
3.
4.
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the
customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to
the shorter timescale.
Business people and developers must work together daily throughout the project.
DOI: 10.9790/487X-17815055
www.iosrjournals.org
50 | Page
Agile Project Automation
5.
Build projects around motivated individuals. Give them the environment and support they need, and trust
them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is
face-to- face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to
maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior
accordingly.
III.
Agile Methodology
Software companies following agile development methodology which helps their team to reduce risks
and to mitigate uncertainty, also it decreases the project time, cost and delivers high quality product to the
customer. Agile methodology used for the project whose requirements varies during project lifecycle[6].
Agile methods generally promote a disciplined project management process that encourages frequent
inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and
accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a
business approach that aligns development with customer needs and company goals.
Agile methodology is most popular methodology for software development in software industries
because of the following features:
i. Ready to adapt expected changes required by Customers at any time during product lifecycle.
ii. It helps teams embrace rapid changes & increase adaptability with customers easily.
iii. It helps teams to mitigate risks at early stages of product life-cycle.
iv. Customers can see the visible progress of software as they are able feel of working software.
v. Customers are part of the product development, they can give feedback at every stage of the product life
cycle.
vi. It focuses on shortening timeframe and cost and on improved quality of product.
vii. Complexity of the features are properly prioritized and easily managed by the team.
viii. Team has chance to learn from mistakes during and after each iteration of development.
For all the above reasons IT teams are embracing Agile Methodologies and develop new rapidly changing
products.
Fig. 1. Agile Project Life Cycle
The Different methodologies of Agile Development are as follows:
A. XP
Extreme Programming (XP) is one of the most widely used agile methodology. The XP focuses &
improves a software project in four essential ways which are communication, simplicity, feedback and courage.
DOI: 10.9790/487X-17815055
www.iosrjournals.org
51 | Page
Agile Project Automation
It is introduced many best practices with which XP programmers are able to courageously respond to changing
requirements and technology[6].
In XP, there is an emphasis on priority of customer/client stories which represent the business
requirements for each system release. The XP approach divides project into small releases as per customer
requirements and system functionality/features with developers writing the tests for system
functionality/features before actually writing the specific code. The involvement of the customer from the
inception of the project through the Customer/Client acceptance testing before production release of code
ensures strong buy in the Customer/client. In XP, there is a strong emphasis on the team and collaborative
development. In this approach, there is knowledge transfer between the customer and developers very much in
line with the RAD approach.
B. Scrum
Scrum is an agile, iterative, incremental developing method which assumes that changes exists through
entire life-circle of the project and attempt to solve these problems. Scrum is designed in such way that it helps
teams embrace rapid changes & increase adaptability with customers easily[6].
In Scrum, work is structured in releases and releases into cycles of work called sprints , iterations of
work that are typically two to four weeks in duration. During each sprint, teams creates set of tasks for a
prioritized list of customer requirements, called user stories , so that the features that are developed first are of
the highest value to the customer. At the end of each sprint developed product is delivered to the customer for
reviewing. naturally focuses an entire organization on building successful products. Scrum can be implemented
at the beginning of a project or in the middle of a project or product development[6].
C. DSDM
DSDM (Dynamic Systems Development Method) is a robust Agile project management and delivery
framework that delivers the right solution at the right time. DSDM is an organized, common-sense process
focused on delivering business solutions quickly and efficiently. It is similar in many ways to SCRUM and XP,
but it has its best uses where the time requirement is fixed[6].
Requirements are base lined at a high level early in the project. Rework is built into the process, and all
development changes must be reversible. Requirements are planned and delivered in short, fixed-length timeboxes, also referred to as iterations. Requirements are prioritized on the basis of MoSCoW rules.
All critical work must be completed in a DSDM project. It is also important that not every requirement
in a project or time-box is considered critical. Within each time-box, less critical items are included so that if
necessary, they can be removed to keep from impacting higher priority requirements on the schedule. DSDM is
designed to be easily tailored and used in conjunction with traditional methods or to complement other Agile
approaches.
IV.
Automation
Automation means handling certain repetitive, mundane or routine project tasks, activities using
software or tools instead of doing it manually. These are tasks that might take quite some time for a person to
accomplish, or might be tedious. Rather than have a person work on such tasks that can be handled by software
or tools, put that person to work on more specialized tasks that better utilize her or his skills.
Why to Automate Agile Project ?
Have you ever felt that your project management processes and methodology can add to project
overhead, delays and cost overrun if not implemented properly? What if it could all be reduced without
compromising the effectiveness of the process or methodology?
Today we can see that there are different project management methodologies are implemented
manually using myriads of documents. Doing any processes manually often carry big administrative overhead.
In companies we see that managers has to work on multiple projects or portfolios and it is difficult to them to
monitor status, budget and resources of each project because all that information is hidden inside myriads of
documents. It is difficult and time consuming for managers to open each documents to get details of each
project and also it is not possible to have daily meeting with each project team. Poor management affects on
work efficiency, communication between team members. This results to Budget over run, Time delay,
Inefficient utilization of resources, Poor quality of work /product and finally it leads to project failure[9].
V.
Different Challenges in Agile Projects
Agile projects has different challenging processes which affects on success of the project .
A. Project Management
Project Management involves planning, monitoring, tracking, staffing and directing. During Agile
project development managers and project team need to know about product backlogs, sprint backlogs, tasks,
DOI: 10.9790/487X-17815055
www.iosrjournals.org
52 | Page
Agile Project Automation
schedule, risks, issues, resources, lessons, deliverables etc. Managers have to track all these elements and direct
to the project team. But most of the time it is seen that all these elements are done in unstructured text format in
some doc files, where everybody need to manually update this information and present it to all. It is difficult to
track, difficult to present it to all and time consuming, so it is required to present in easy to read tables, graphs
and diagrams format and should be easy to deliver everybody[1].
But during such important information flow one more concept comes into picture i.e. Customization as
per roles & responsibilities. In Agile we have different roles like product owner, Scrum master, Team member
so visibility of information should be as per role of the person. And everybody can generate or get automated
report.
B. Knowledge Management
Knowledge management (KM) is the process of capturing, developing, sharing, and effectively using
organizational knowledge. In organization managers or team members works in different projects so it might
possible that different terminologies, processes, methodologies and templates used in different projects or
even sometimes within same project[7]. Hence it is critical to get clear idea, information of project e.g. User
Stories of the project . Managers and team members have to invest hours into reinventing wheel on what
information to include, which processes should be implemented, and what template to use to present
information, but standardization reduces this overhead. Standardization can be possible through automation, by
using different software, tools and templates we can capture and present relevant information to all stakeholders
of project.
C. Testing
Testing is the process by which we check whether developed product is fulfilling customer
requirements, product is working properly or not. Testing is the biggest challenge of agile projects. As in agile
projects customer requirements varies during product development cycle, it is very difficult to test product
completely. Whenever requirement changes and developed by developer, tester have to test it from beginning or
have to test all modules of product. It is very time consuming, many times agile projects are get failed due to
poor testing or delay due to testing. So it is require to automate testing process of the project[2].
For all these challenges solution is Automation. All these project processes should be centrally
maintained and automated.
VI.
Agile Project Automation
Agile project automation involves an automation of different processes of agile projects. As we
discussed above about different challenging processes of agile project, automation is solution for all these
problems. To resolve these problems there are different automation software, tools are available in market.
Many tools are free open source and some tools are payable. By using such tools we can reduce the time, cost,
resources and efforts required for successful execution of the project.
Now will see how automation will helps to reduce all overheads of these challenging processes
A. Project Management Automation
Agile Project management involves planning, monitoring, tracking, staffing and directing of different
agile project elements like product backlogs, sprint backlogs, tasks, schedule, risks, issues, resources, lessons,
deliverables etc. For agile project management there are different tools are available in market. We can use any
one tool for automation of agile project management process as per the project agile methodology. These tools
has different features which helps project managers and project team during project development lifecycle to
get status of different elements of the project. These tools represent the data in the form of different charts and
table which are easy to understand to everyone[10].
Some major features of Agile Project Management tools
1) Portfolio Management: Helps managers to get status of different projects
2) Project, Release & Sprint management: Helps to define Projects their releases, sprints in hierarchical way
3) Kanban Structure: Helps to get status of different tasks of the project sprints.
4) Task Management: It helps to allocate resource and estimate the time required for the task execution.
5) Burndown Chart: Helps to get idea about velocity of project work & to predict product delivery date.
6) Risk Management: Helps to get information about the different risks, issues and problems present in the
project also describe different action taken or to be done on the risk.
7) User & Role Management: Helps to add different users and assign roles responsibilities to them. Some
tools are very flexible in role creation.
DOI: 10.9790/487X-17815055
www.iosrjournals.org
53 | Page
Agile Project Automation
Such different features of project management tools helps project managers and team to monitor status of
project and it's different elements.
B. Knowledge Management Automation
In agile projects customers requirements are accepted during project /product development lifecycle
and we conduct different meetings for prioritization these requirements . We create user stories for all these
customers requirement, so it is important that every stakeholder of project should know clear idea about each
requirement. To make such crucial information available to each stakeholder need to use some software, tool
which will helps to develop and share information to everyone as per their role in the project. Sharing of
knowledge information helps to improves the decision making of the project team and which reduces the
conflict, risks, problem occurs during project development[7]. There are different Knowledge management and
Wiki tools available in market we can use it.
1) Create: Helps to create text, tables, links, wiki pages
2) Sharing: Helps to Share documents, tables, links, images, wiki pages etc.
3) User Management: Helps to add users and assign different role
4) Access Management: Helps to assign different access levels as per role
Access levels are like None, Read Only,
Read & Edit, Read-Edit-Create,
Read-Edit-Create-Delete
5) Email Notification: Helps to notify stakeholders about any updation .i.e. modification done in any
document using Email.
These different features helps to make relevant information visible to project stakeholders as per their role.
C. Testing Automation
In software testing automation we use a special software (separate from the software being tested) to
control the execution of tests and the comparison of actual outcomes with predicted outcomes[2]. In agile
projects we deliver products to the customer in very short period of time, so we get less time for testing and as it
has dynamics requirements if we make changes in one module of code then we need to retest the complete
product to check whether changes in one file affected on another file or not and it is a big challenge for testing
team[8].
The solution for this challenge is test automation, by using testing automation tool we can automate test
cases i.e. we can create test scripts for test cases or test set. Automation testing tools helps to create, record,
store and execute these scripts. But test automation is more than test execution, some tools also generates test
reports and sends email reports of test execution to the tester. Testing Automation tools contain following major
features/ functionalities
1) Create:. Helps to create test scripts for test cases.
2) Record & Store: To record and save test scripts for retesting .
3) Play (Execute): To execute test cases using stored test scripts, mostly useful for regression testing.
4) Report: Generates reports of the executed test cases and send it to the tester.
VII.
Benefits of Agile Project Automation
Following are the benefits of automation of agile project processes
A. Benefits of Agile Project Management Automation:
It helped management team for monitoring and tracking project activities.
Helped in Risk Management of project.
Useful for manager in work allocation.
Useful in time estimation to decide delivery date of product.
Useful to decide priority of task and track prioritized tasks.
Process and practices gaps analyzes.
Backlog in boards and index cards from different perspectives.
Plan multiple releases and sprints.
Capacity and velocity metrics for accurate planning.
Progress tracked on Kanban boards, in burndown and burn up charts.
B.
Benefits of Knowledge Management Automation:
It becomes easy to share information
Information stored in unique format which helped to easy to understand.
Every time it helped in decision making for whole team.
Easy to get updates of client requirements and their changes.
DOI: 10.9790/487X-17815055
www.iosrjournals.org
54 | Page
Agile Project Automation
Reduced the conflicts which occurs in project work due to communication gap.
C.
Benefits of testing automation :
Reduced testing time
Reduced testing cost
Frequent regression testing
Rapid feedback to developers
Virtually unlimited iterations of test case execution
Support for Agile and extreme development methodologies
Disciplined documentation of test cases
Customized defect reporting
Finding defects missed by manual testing
VIII.
Conclusion
Agile Project automation helps to reduce time, cost and efforts required to achieve goal of the project.
The project management automation can save an immense amount of revenue along with the better quality
control and optimized development schedules. Automation increases speed of the project work, saves resources
it improves quality of the project management work. Project Management and knowledge management
automation helps to management team as well as technical team in decision making , it improves speed and
quality of decision, helps to track all activities happening in the project work easily at anywhere anytime.
Automation in testing activity reduces efforts and time of the project testing related work which helps to deliver
product on time.
In this way automation of different processes of agile projects increases the chances of executing
project successfully on time, in less cost, with good quality.
References
[1].
[2].
[3].
[4].
[5].
[6].
[7].
[8].
[9].
[10].
Project Management Institute (2013, January 1 ), "A Guide to the Project Management Body of Knowledge (PMBOK Guide)"
Rahul Shende (2012) , "Software Automation Testing Tools for Beginners"
Agile Menifesto Beck, Kent; et al. (2001)."Manifesto for Agile Software Development". Agile
Alliance
Jan Juricek, "Agile Project Management Principles", Lecture Notes on Software Engineering, Vol. 2, No. 2, May 2014
Scott Ocamb (2013, November7). Agile Project Management Principles. Retrieved from https://www.scrumalliance.org
Agile Model and Methodologies: Guide for Developers and Testers . Retrieved from http://www.guru99.com
Michael E. D. Koenig (2012, May 4). What is KM? Knowledge Management Explained. Retrieved from http://www.kmworld.com
P. Suresh Kumar, Dr. N. Samba Siva Rao." Automation of Software Testing in Agile Development", July-2014.
Tim Kitchens (2006, January 12). Automating Software Development Processes. The Independent Magazine for Software
Developers. Retrieved from http://www.developerdotstar.com
Simon Wallace, Automated Project Management Tools. Retrieved from http://www.epmbook.com.
DOI: 10.9790/487X-17815055
www.iosrjournals.org
55 | Page