Category Archives: Agile entry criteria

SDLC & Agile – Interview questions for Freshers -5

In continuation of my previous blog  on this subject following questions and answers are continued:

1. What is retrospective in agile and where it can be useful?

Ans: During agile development model in each iteration different requirements are considered to design, develop and construct the code. While performing these tasks there can be different issues identified and resolved by the teams at each stage. The teams need to maintain knowledge information against to each issue as lessons learnt. These issues resolution mechanism processes are going to be considered for any process improvements  for next iteration. During the retrospective [after completing iteration] the team is going to discuss the lessons learnt  from the completed  iteration and the best practices  identified for next iteration. The retrospective is a mandatory activity for every iteration of Agile projects. And this need to be conducted before starting the next iteration.

 

2.   What is continuous stream of development in agile model?

Ans: As per the agile concept continuous software delivery need to  happen by following iterative development. Let us assume the development team consider the four days for development and fifth day it need to go for release and deployment, fifth day onwards developer considered as other iteration/SPRINT as their continuous development activity. The developers are picking up one  by one SPRINT items for their construction activity this is called as continuous stream of development. When the testing activity is ongoing the developer can pickup other workable items from the SPRINT to do construction activity.

 

3. What is Continuous Delivery[CD] in Agile ?

Ans: As per the agile concepts and principles, the developer need to get small chunk of workable item only which can be delivered in hours or few days.  When this kind of continuous development is happening through the agile developers there will be builds for continuous testing and deployments. Obviously then the agile project leads to have continuous  delivery [CD] of software into production with small chunks of functionality or fixes.

Example: Many technology companies consider each SPRINT item to complete in hours only to speed up their ongoing software deployments for their daily business needs. This kind of concept is called as Continuous Delivery [CD] in Agile.

 

4.  What is transition activity and their tasks involved in  agile project?

Ans:  Transition activity is start with deploying software release into production. Once the software construction phase is signed off the transition activity need to be started, typically transition activity contains following tasks.

i) Active stakeholder participation

ii) Final system testing

iii) Final acceptance testing

iv) Finalize documentation

v) Final testing of the release

vi) Train end users

vii) Train production staff

viii) Deploy into production.

All the above tasks are performed in the sequential order.

 

5.  What is final system testing during transition stage?

Ans: Once software can be deployed  internally, the planned system testing need to be conducted by testing team for a specific iteration. Once system testing is passed or certified the  acceptance testing need to be started.

 

 6.  When can you conduct final acceptance testing in agile model?

Ans:  In any agile project developers need to conduct a skeleton software demo to the users. Depends on the design requirement once users approved it, the Construction phase need to be  started. Once the software is constructed and  it can be deployed internally for various levels of testing during the transition stage of agile project. At this stage the software release is deployed in test environment. Then the  system testing is conducted and signed off.  The final acceptance testing is conducted on the software to be delivered to the users in production. Once the final acceptance is signed off the remaining tasks are being performed during transition phase, as mentioned in the list of tasks.

 

7. When can the pilot testing  happen and who all will perform it?

Ans: During the transition stage once the acceptance test is signed off , and final document is done, the software build is executed under a pilot test in a preproduction test or in a production environment depends on the organization policy. The pilot test is attended by the business users and testers or nominated coordinator along with the development team and operations[ops] team.

 

8.  During the transition stage who all need to be trained?

Ans:  Once the pilot test is done software end users and the production staff (ops team) needs to be trained to operate the product in live [production] for business operations.

 

9.  When can you deploy the system into production?

Ans: During transition stage once the pilot test is signed off, end users and production staff will be trained on software system and then it is deployed into production.

 

10. How a  prototype can be designed ?

Ans: When the business user give some requirements which consists of user interface and some data processing to provide output, there are two ways we can design prototype software; a) Prototype model  b) Design and developing the complete software.

a) Prototype model: During prototype model developer design and develop the critical requirements of the users and demonstrate those things as the skeleton software. The skeleton software will not have the complete software operations. It will have an user interface to get an idea by the user on the software to be delivered by the development in future. Once user approved skeleton model, developer can design complete model through Agile SDLC. Note; the prototype model or process can be applied  for one or more SPRINT cycles or iterations.

b) Design and developing the complete software: This kind of software happens in a regular Agile project process from collection of user story onwards. All the agile phases and their tasks will be applied for execution. If the team agreed to a demo [for prototype], the user demos can also happen as and when required for each SPRINT during construction phase.

Keep watching this site for further updates.

Contact for any guidance/coaching.

 Vcard-Shanthi Kumar V

 

Continuous test automation planning during Agile iterations

Continuous test automation planning during Agile iterations

Please refer to my blog and videos on Agile practices and the importance of Re-usable code libraries for cycle time reduction.

During the reusable code usage and the iterations or sprint planning, the test automation also can be planned, designed and implemented.

This blog eloborates on  the easy processes can be used to implement it and demonstrate the cycle time reduction. Please note atleast after passing the two cycles of tests on the selected manual scripts need to be planned for test automation.

I am trying to elaborate on the process of the Automation of unit testing and component or module integration test automation. Please note the test automation is also a development project. Hence some of the phases are similar to SDLC. The pictorial chart elaborates the detailed steps involved in these test phases automation. Module (Unit) or Component Development in Agile: The below contents and the chart narrates the relationship of automation Development process and the Testing process under each development phase. Development and Testing process Relationship table:

Phase Development Process Test Process
Module (Unit) or component Development Design module from requirements Perform test planning and test environment set up.
  Code module Create test design and develop test data.
  Debug module Write test scripts or record test scenario using module.
  Unit test module Debug automated test script by running against module. Also, tools that support unit testing [Purify, etc] can be used.
  Correct defects Rerun automated test script to regression test as defects are corrected.
  Conduct Performance Testing Verify system is scaleable and will meet the performance requirements. This is the entry criteria for Integration test automation.
Integration
Build system by connecting modules.Conduct Integration test with connected modules.Review trouble reports. Combine unit test scripts and add new scripts that demonstrate module inter-connectivity. Use test tool to support automated integration testing.
  Correct defects and update defect status. Rerun automated test script as part of regression test, as defects are corrected.
  Continued Performance Testing Activities At this point, Verifying system is scaleable and will meet performance requirements with the integrated modules. If this passes then the system test or VVT entry can be considered.

Below chart demsontrates the process steps to be used for test automation of unit test and integration testing:

UT&IT

The acronyms used in the chart: TC–>Test case, TD–>Test data, TR–> Test requirement, UT–>Unit test, IT–> Integration test.

All the automated test scripts and test data  need to be preserved under configuration management tools.

Choosing the right tools for test automation comes under tools evaluation process. Once the tools are identified, the above processes can be planned and adopted for regular practice on the Agile projects.

 

 

Vcard-Shanthi Kumar V-v3

SDLC & Agile – Interview questions for Freshers -4

Agile Cirlce1

In continuation of my previous blog [https://wordpress.com/post/vskumar.blog/1944] on this subject following questions and answers are continued:

 

1.  What is a collaborative development approach in  agile development model ?

Ans: In any agile project as per the Agile manifesto principles the team need to pull up the ideas through a prototype like;  either phased prototype or iterative prototype or rapid prototype. With these pulled ideas, the team need to work together by sharing knowledge among themselves and which is considered as a collaborative development approach. 

 

2.  What is model storming during construction phase of an agile development model?

Ans: When the initial requirements are envisioned they all are being transmitted into different iterations. A single team or multiple teams need to execute the iteration during software code construction. The requirements also can be changed or newly added by the stakeholders as per the agile principles at any stage of Agile project phases.  The team need to be brain stormed to execute the iterations correctly and completely as per the user’s desire. The iteration can be considered as a single agile model for construction phase and this model storming can happen within team for clear understanding of SPRINT by each developer. During the model storming; the requirements decomposition happens like; from user story to design specifications those can lead to SPRINT items, and from design to code specifications. Depends on the team planning; sometimes the outcome of model storming can also be a TDD [Test Driven Design]. [Please look into my youtube videos on Agile topic reusable code example]

 

3. What is Test Driven Design [TDD]?

Ans: Any requirement [story] need to be decomposed into design requirement. Each design requirement need to be converted into code through construction phase. When the code is visualized [before development] by the developer a test driven scenario need to be identified or visualized by the developer and it need to be documented into a test case with different test design steps. Once the developer feels this test case can be executed by using different code paths the developer can start the code writing, this concept is called Test Driven Design and using this TDD specification the development can be started.  Hence the Agile developers need to make TDD  1st ready and plan for code writing, review and unit testing. Sometimes the TDD  can be the outcome of the model storming also.

 

4. What is confirmatory testing?

Ans: In any software build there can be defects through different levels of testing. When the developer fixes one or more defects and deploy code in test environment, the test engineer need to retest it for confirming the software function with reference to the regression requirements or functionality and the fixes [if any]. For every fix confirmation test is mandatory.

 

 5.  What is evolving documentation?

Ans: As per the agile process when the code is constructed and tested the prepared documents need to be updated with reference to the tested and certified build. If any new requirement has to be incorporated into document, the documentation evolving is an ongoing activity for an iteration build till it goes to production.

 

6.  What is internally deploying software?

Ans: Once the construction is over for an iteration requirement, software can be unit tested and integration tested. If it is passed, it can be move to other test environments. As per the deployment process when we are moving software into the different environments [after test certification or confirmation] the build is known as internally deployable software.

 

7.  When can you finalize the documentation in agile model?

Ans: During the transition stage once the acceptance test is signed off users suggestions are considered to finalize the documentation.

 

8.  What are  tangible and intangible benefits for users?

Ans: In any business requirements there are direct benefits from business to incorporate software requirements into software system which is considered as tangible [direct] benefits. There are intangible [indirect benefits] also  by incorporating different requirements into software with a business usage.

Example: If  the system performance is increased by a technical design  in the software architecture, users can access the data faster which is intangible benefits. Then the  iteration can facilitate to perform the software with faster data access or the web pages appearance can be faster. Sometimes this kind of requirements can come into  technical areas rather than coming through a user story in Agile and those can be intangible benefit. Even we might consider an upgrade to database or OS or memory, etc.  then also the data access speed can be increased.

 

9.  What is the feedback analysis? When it can be done?

Ans: As per the agile principles the stakeholder collaboration is an ongoing activity. At any time the stakeholder can give informal or formal feedback for any software items or in any approach followed by agile teams. In agile model many times informal feedback can happen during the discussion. At the same time the scheduled reviews also can happen. During the review the feedback can be given by the reviewers. Even a test result can come into a feedback category. All these feedback items need to be analyzed for delivering a working software by the teams as per the principles.  Sometimes the feedback analysis outcome can come into process improvements areas for the next iteration and these should be considered for Retrospective items. Hence the feedback analysis is a mandated activity at every task completion stage in  Agile project.

 

10.  What is demo in agile model?

Ans: With reference to the rapid prototype approach agile teams are supposed to demonstrate skeleton design for a new module. it is a plan to demonstrate skeleton system to the stakeholder and to get the feedback for processing further SPRINT  or Iteration items. This demo is organized depends on the software or initial plan for a given iteration.

Keep watching this site for further updates.

Contact for any guidance/coaching.

 

Vcard-Shanthi Kumar V

SDLC & Agile – Interview questions for Freshers -2

Agile Cirlce1

In continuation of my previous questions blog [https://vskumar.blog/2017/09/04/sdlc-agile-interview-questions-for-freshers-1] on this topic these were made.

SDLC and Agile Model:

Questions on SDLC Phases:

1. How the agile methodology has been architected?

Ans: The agile methodology has been architected with 12 principles to govern the agile development approach.

2. What is highest priority during agile development model?

Ans: The highest priority is customer satisfaction and the early and continuous delivery of software which will work for the customer requirement.

3. Why the agile development models need to accept the request on irrespective of the development stage?

Ans: As per the  fundamental approach of agile development  it provides facility to the users towards inception of new or enhanced requirements before the delivery.

4. During agile development approach who all need to work together?

Ans: The business people and software developers need to work collaboratively and consistently throughout the project life cycle.

5. To get the right delivery what do we need to do during agile development model?

Ans: In agile project we need to have self motivated individuals at the same time we also need to supply the required human and nonhuman resources to get the job done.

6. When the life cycle of agile model ends?

Ans: The agile model continues till the retirement of the product or project. When the customer decides the retirement of the product then the project operation is terminated. 

7. Why do we need to have face to face conversation during agile development approach?

Ans: The agile principle guides to have face to face conversation among the project resources to have most efficient and effective method of communication.

8. How can you measure the progress and success of agile project?

Ans: The basic concept of agile is to deliver the working software of component.

9. How  the agile development process need to be promoted and to whom  all ?

Ans: Agile development process need to be promoted in a  sustainable development for continuous delivery to the sponsors, developers and users.

10. Why do we need technical excellence and good design project delivery?

Ans: The concept of the agile is for continuous delivery to the users as per the requirements in an iterative development approach. The team capacity needs to be accelerated towards the functions and processes to work on good software design.

Keep watching this site for further updates.

Contact for any guidance/coaching.

View my UrbanPro-profile

URL is : https://www.urbanpro.com/vskumar 

 

Vcard-Shanthi Kumar V

SDLC & Agile – Interview questions for Freshers -1

Agile Cirlce1

If you are a fresher for an IT  job trials this might be useful.

Please note as per the current global IT Industry trend most of the IT organizations have moved into Agile SDLC  and Continuous delivery cycles. Hence you, being fresher should be ready with this knowledge. I have made some of the below questions related to this topic.

[Also look into my old blog: https://vskumar.blog/2016/11/24/on-job-training-for-future-software-engineers-freshers-how-it-saves-their-career-time/]

SDLC AND Agile Model:

Questions on SDLC Phases:

1. What are the general phases for SDLC [Software Development Life Cycle] ?

Ans: In any development model  [SDLC] following are the different phases for software delivery : 

a) Requirements Investigation and analyzing

b) Design

c) Development

d) Implementation

e) Management

2. Where can you get requirement specifications in SDLC?

Ans: During the phase of Requirement investigation and analysis, the output will be Software Requirement Specifications. In every project during this phase user involvement is essential to get the business requirements to make the right software.

3. What is the procedure to derive the design specification?

Ans: During design phase the design specifications will be output of this activity. During this phase the final SRS is considered and it should be derived for design specification against each requirement. One requirement can have more than one design specifications. Basically you will be decomposed the software requirement into one or more design specification(s).

4. What is development or construction?

Ans: Once the design specifications have been baselined, the developer takes the design specifications to convert them into code. This activity is called constructing or developing code. The technology should be used for coding need to be  specified in the design documentation. Example: Let us assume you want to develop the code in Java, so the technology should be Java.

5. What is implementation in SDLC?

Ans: The implementation activity need to be started once the code construction is completed, the code construction involves coding, code review and unit testing, integration testing. Once these 3 tasks are completed the project is moved to next phase that is implementation. During implementation phase the relevant test environment is considered for deployment of software builds for test cycles. Depends on the SDLC model;  system testing and user acceptance testing can be performed, during the implementation software build can be deployed into live  once the user certify UAT [User Acceptance Testing]. The Live environment is also called production environment.

 

6. What is the meaning for  software management and retirement?

Ans: Once the software is deployed into production or live environment under first release there can be bug fixes  or software enhancements; those can occur under application management life cycle and which can be a software management also. With this concept software is being upgraded during its life time. When the new technology or business systems are considered towards   equivalent or more of the current software features then current software build should  be retired.

Example: A mainframe [COBOL/DB2/CICS] application can be converted into windows based with Java technology. Then the existing COBOL/DB2/CICS application can be planned for a retirement with the replacement of the newly planned application. The new application can also have some more software features or the same features can be implemented.

Questions on Agile:

7. How the agile development model pulls the ideas ?

Ans: Agile development model pulls the ideas in a phased manner in the following way, by using a) Prototyping   b) iterative development c) Rapid prototyping. During these phases the stakeholders or users involvement is mandatory. Their needs or suggestions also comes into the ideas for making the right software.

8. How the agile model champions the ideas?

Ans: By following various phases, different ideas are generated into the agile model. Using this approach it accelerates  the software engineering team to get the right results through different software delivery iterations.

9. Why traditional approach of SDLC is not suitable for agile development model?

Ans: During the traditional approach we do not have prototyping and iterative development in the SDLC. Using the prototyping the demo can be conducted on a conceptual model of the [new or existing] software. Then the  users can visualize these thoughts to extend the demo version into their live software. Then iterations comes into picture as  part by part to deliver  the working software in the agile development model.

To give you with some  more clarity;  Agile development model involves continuous construction and delivery using the phases of prototyping and iterative. For each iteration there can be prototype demonstration. Once the demo is approved the iteration will start for construction and implementation. In traditional model if we want to use for prototyping there is a phased prototype model and rapid prototype model are used, once they are approved by users the project team need to choose one of the traditional model SDLC. In this case there are two parts of delivery need to be considered where as in an agile model they are in-built for fast planning and iteration.

10. During agile model what kind of teams need to be formed to initiate the project?

Ans: To work in the agile development project we need the teams in small size, highly talented and responsive people.

11. During agile model how software requirements  are considered for delivery?

Ans: Agile team needs to consider the essential,  prioritized and deliverable requirements [within cycle time] from the users and construct the software in small increments those are called SPRINTS for delivery.

SW-Eng interviews

 

Next series of questions are continued……… in the below blog url:

https://vskumar.blog/2017/09/28/sdlc-agile-interview-questions-for-freshers-2/

You can look for my agile topic based videos:

https://www.youtube.com/edit?o=U&video_id=zCR6GP1ji60

 

https://www.youtube.com/edit?o=U&video_id=DiIhkCby0tU

 

 

If you are looking for any guidance please contact me and use the below Vcard:

Vcard-Shanthi Kumar V

  

 

 

 

 

How to Reduce Agile cycle time with reusable code ? [with Video lessons] # Kindle

Agile practices and the importance of Re-usable code libraries for cycle time reductionReusable code usage for Agile iterations planning by examples:

In many Agile transformation sessions the Agile practitioners or savvy’s discuss more on the process related activities rather than elaborating on the technical or software engineering process steps to reduce the cycle time.

At the same time prior to the Agile meetings, activity efforts need to be defined by the designers and the developers. Unless they identify the size of the reusable code components in the applications it is not worth for conducting the Release or Sprint planning meetings for planning of the iterations.

Hence it is the moral responsibility of the technical teams to apply this kind of practices ahead of Agile process or Scrum meetings.

If you are interested to know what reusable code with examples is, this E-Book can be useful. Using this technique, you can plan for code refractor and its cleaning also to get ROI on future Agile iterations. During Scrum meetings, these are the important topics where technical people need to discuss for customer’s ROI acceleration planning and also the cycle time reduction acceleration. The team’s technical capabilities also can be accelerated by following these practices regularly.

I have considered an application example of E-commerce site building for defining the Sprint planning and their iterations. Each iteration has been divided into different reusable code components design parts.

The relevant graphics have been designed and added into this E-book. The software configuration processes with Code Items process have been discussed also.

One can answer the following after understanding this E-Book content:
How to define the reusable code?
How the Iterations can be planned?
Is it possible to demonstrate the iterations cycle time reduction?
What are the entry criteria for Sprint planning?
What are the jumpstart activities required for designers before Agile release meeting?
How to manage the code components with configuration management process?
How to plan the efforts reduction for Sprint cycles?

The proposed or mandatory readers are:
Agile developers
Agile Designers
Agile PMS
Agile Product Owners
Agile teams
Who all intended to learn Agile Practices?

It is cheaper now, please visit: http://www.amazon.com/Technical-best-practices-reusable-iterations-ebook/dp/B012CHK20Q/ref=sr_1_10?ie=UTF8&qid=1452047932&sr=8-10&keywords=Shanthi+Vemulapalli

Reusable-code-Cover1-Pixels

 

 

 

 

 

Vcard-Shanthi Kumar V

Visit for Agile interview questions:

https://vskumar.blog/2017/09/04/sdlc-agile-interview-questions-for-freshers-1/

Visit for DevOps FAQs:

Devops-practices-faqs-1

 

https://vskumar.blog/2017/10/14/typical-devops-roles-and-activities/