Never underestimate the power of Passion!

Tuesday 25 April 2017

On 05:49 by Vardan Kumar in , ,    No comments

Software Development-Role of Automation in analysis phase

What is Automation and why it should be performed?

Well, automation is any technique introduced to let our machine perform some task without any manual intervention or some manual intervention can be used if it is semi-automation. Machine can perform the task through a script , a code or an application depending on the requirement.

For Example

Writing a code that would perform repetitive database operations as in suppose inserting a large amount of data in database through an excel workbook. This kind of task can be so tedious when trying to do manually.

Why it should be performed?

  • In today's world time is money, you got it right definitely to save some of  those intense man hours, an automation process can be introduced.
  • Learning is the key: Well while in analysis phase of a software development life cycle, a lot of documentation is required, the data capture if done manually could not add much your skill set, but writing some script or code to automate the documentation process would add a lot to your skills.
  • Make your work interesting: Imagine, what if you spend your working hours capturing data in excel workbook, well sounds really boring, right! Letting your code do the same would definitely save those boring hours.
When Automation should not be done?

It is not always advised to automate the work, Whenever your work is not repetitive and building some code or script may take more time than your work, don't go for automation off course.

Analysis Phase in Software development Life cycle:

Analysis is one of the most important phase in any software development life cycle. A lot of documentation is required in this phase. Analysis could be any as in impact analysis on source files for a particular change orders, fetching dependencies or selecting some data from database as in describing tables etc. .

Instead of spending lot of hours digging your eyes into the computer screen it is better to write a code once according to your requirement and let your code do the rest.

Doing this will ensure accuracy, if all scenarios are taken care of off course, add a lot to your logic building skills as well as skill set and also if you are a part of a major project you can share your application with your team mates. This will eventually get you more rating bands off course.

Let us discuss some scenarios where automation can play a crucial role in the analysis phase of the software development life cycle....

Automation software
Automation Analysis


  • Suppose you are a part of a major project in which a certain identifier's name is required to be changed and you or your team are required to prepare an impact analysis document where you have to capture the source files or the part of project's code being impacted with that identifier and main thing you have thousands of source files that are need to be traversed. Now what would you do
    • Either spend those boring hours, opening your source files and count the number of occurrences of that identifier if any and capture it an excel workbook.
    • Or write a code once and let your machine generate impact analysis document for you.
    • Code could be any, a small c# windows form application would do or a small shell script can serve the purpose
  • Let us consider another scenario, suppose you have a list of  hundreds or thousands of database tables for which you have to capture number of records corresponding to a table along with all its column alongside their data types in an excel workbook, what would you do.
    • Either connect to database, describe each and every table, capture columns alongside its datatype for the same and select count(*) from table_name.
    • Or provide list of tables in a flat file and let your code process on each and every table one by one and capture the required data for you in an excel workbook for the same.
    • Use of system tables in a small c# application would solve the purpose.
  • Let us consider one more scenario, suppose you are to capture relative path of a file in which a particular identifier is being referred to in your your local directory or a sub-directory.
    • Now doing it manually capturing data or path could be tedious and kind of a good for nothing task.
    • Building an application that would capture path along side file name for you sounds quite interesting and a productive task.

There are a lot more scenarios that no one can imagine of. Doing such automation could be productive upto a great extent, its just the matter of choice.


Post a Comment