JAD is a strategy for defining business system requirements that are commonly utilized in the early phases of a systems development project. JAD's goal is to bring MIS and end-users together in a structured workshop setting in order to extract outcome system needs. It allows clients and developers to swiftly agree on a project's fundamental scope, objectives, and specifications.
SDLC Interview Questions and Answers
Experienced / Expert level questions & answers
Ques 1. Explain the weaknesses of the waterfall model.
Weaknesses of waterfall model are:
a) It is Inflexible
b) Accommodating changes is very hard
c) Longest tangible delivery time. The customer does not see anything but the whole product when it’s ready.
d) Unsuitable for large projects and where requirements are not clear.
Ques 2. Explain when to use the waterfall model.
One should use the waterfall model only when:
- Requirements are very clear and fixed.
- There are no ambiguous requirements.
- Ample resources with required expertise are available freely.
- The client has high confidence in the organization.
- The organization has experience of similar projects.
- The project is short.
Ques 3. Describe V-Shaped software development life cycle model.
The V-shaped SDLC model is an extension of the waterfall model.
The typical waterfall moves linearly downwards, whereas, in the V-shaped model, phases are turned upwards after the coding phase to form the V shape. It demonstrates the relationship between each phase of SDLC and its respective testing phase. Unlike the waterfall model, the V-Shape includes early test planning.
Ques 4. Briefly describe the phases in the V-Shaped model.
Phases in V-Shaped model:
Verification phases are on the left side of the V-shape. It consists of:
Requirements analysis: Requirements are gathered and analysis is performed to understand the problem and propose a solution.
System Design: Engineers analyze the requirements gathered and propose ways the system can be created or built from a feasibility point of view.
Architecture design: Architecture of the system is designed consisting of various modules, depicting their relationships and communication between them.
Module design: This is a low level design where modules are designed individually and in a detailed manner.
Coding: This is at the bottom of the V-Shape model. Module design is converted into code by developers.
Validation phases are on the right side of the V-shape. It consists of:
Unit testing: Testing by analysis of the code by developers for their independent modules is done.
Integration testing: Independent modules are tested together to validate interface and expose errors in them.
System testing: The system is tested against the system specifications.
User Acceptance testing: Testing is performed by end users to validate that the requirements mentioned in requirements phase have been met by the system or not before accepting it for production.
Ques 5. Explain the strengths of the V-Shaped model.
Strengths of V-Shaped model:
a) Simple and easy to use model.
b) Every phase has clear and fixed deliverables.
c) Higher chances of success as test planning starts early in the SDLC cycle.
d) Quickest for project where requirements are fixed and clearly defined.
Ques 6. Explain the weaknesses of the V-Shaped model.
Weaknesses of V-Shaped model:
a) It is inflexible.
b) Changes in requirements are very hard to accommodate
c) No early prototypes are available
d) Needs ample skilled resources.
Ques 7. Explain when to use the V-Shaped model.
The V-shaped model should be used for small to medium sized projects where requirements are clearly defined and fixed. The model accommodates more planning for test than waterfall but makes accommodation of changes harder than other models. The V-Shaped model should be chosen when ample technical resources are available with needed technical expertise. Since, no prototypes are produced, there is a very high risk involved in meeting customer expectations, therefore, confidence of customer should be very high in order for choosing the V-Shaped model approach.
Ques 8. Briefly describe the phases in the Prototype model.
Phases in prototype model:
Identify some requirements to begin with: Get a list of some major requirements which define the need for the new system including the main input output information.
Develop initial prototype: Develop a basic initial prototype which only has UI screens.
Review the prototype: End users and SME’s work and examine the prototype and provide feedback for improvements/enhancements.
Revise and enhance the prototype: Scope is changed based on feedback from end users and the prototype is enhanced and refined to accommodate user feedback.
Ques 9. Explain the strengths of the prototype model.
Strengths of the prototype model are:
a) Gains customer's confidence as developers and customers are in sync with each other's expectations continuously.
b) Ideal for online systems where high level of human computer interaction is involved.
c) Very flexible, as changes in requirements can be accommodated much more easily with every new review and refining.
d) Helps the developers and users both understand the system better.
e) Software built through prototyping needs minimal user training as users get trained using the prototypes on their own from the very beginning of the project.
f) Integration requirements are very well understood and deployment channels are decided at a very early stage.
Ques 10. Explain the weaknesses of the prototype model.
Weaknesses of the Prototype model are:
a) Focusing on the prototype can mislead developers from understanding the actual desired system.
b) End users get confused, believing the prototype to be the complete system
c) Developers might misunderstand end users objectives.
d) Developer might get too involved in prototype and deviate from the actual system that the prototype must be converted into.
e) Expensive as prototypes need a lot of effort and time. It may take a lot of work to be done for very less needed work to be achieved.
Ques 11. Explain when to use the Prototype model.
Prototype model should be used when the desired system needs to have a lot of interaction with the end users. Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user. Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system. They are excellent for designing good human computer interface systems.
Ques 12. Briefly describe the phases in the rapid application development (RAD) model.
Phases in RAD:
- Business modeling: The information flow is identified between various business functions.
- Data modeling: Information gathered from business modeling is used to define data objects that are needed for the business.
- Process modeling: Data objects defined in data modeling are converted to achieve the business information flow to achieve some specific business objective. The description is identified and created for CRUD of data objects.
- Application generation: Automated tools are used to convert process models into code and the actual system.
- Testing and turnover: Test new components and all the interfaces.
Ques 13. Explain the strengths of the rapid application development (RAD) model.
Strengths of RAD:
a) Reduced development time.
b) Increases reusability of components
c) High modularization achieves a more flexible and maintainable system
d) Quick initial reviews occur.
e) Encourages customer feedback
f) Integration from very beginning solves a lot of integration issues.
g) Business owners actively participate
Ques 14. Explain the weaknesses of the Rapid Application Development (RAD) model.
Weaknesses of RAD:
a) Depends on strong team and individual performances for identifying business requirements.
b) Only system that can be modularized can be built using RAD
c) Requires highly skilled developers/designers.
d) High dependency on modeling skills
e) Inapplicable to cheaper projects as cost of modeling and automated code generation is very high for cheaper budgeted projects to befit.
Ques 15. Explain when to use the rapid application development (RAD) model.
RAD should be used when there is a need to create a system that can be modularized in 2-3 months of time. It should be used if there's high availability of designers for modeling and the budget is high enough to afford their cost along with the cost of automated code generating tools.
RAD SDLC model should be chosen only if resources with high business knowledge are available and there is a need to produce the system in a short span of time (2-3 months).
Ques 16. Explain the strengths of the Incremental model.
The strengths of the incremental model are:
a) Develop high-risk business features first
b) Every increment delivers an operational product
c) Customer's confidence is high as they validate every increment and provide feedback
d) Low initial delivery cost
e) Changes in requirements can be accommodated easily.
f) More flexible than waterfall.
Ques 17. Explain the weaknesses of the Incremental model.
Weaknesses of incremental model are:
a) Needs good planning and design.
b) Needs a clear and complete definition of the complete system before it can be broken down and built incrementally.
c) Integration needs are very high
d) Total cost is higher than waterfall.
Ques 18. Explain when to use the Incremental model.
The incremental model should only be used when:
- The requirements of the complete system are clearly defined and understood.
- Major requirements must be defined; however, some details can evolve with time.
- There is a need to get a product to the market early.
- New technology is being used
- Resources with needed skill sets are not available
- There are some high-risk features and goals.
Ques 19. Explain the strengths of the spiral model.
Strengths of the Spiral model:
a) Early identification of potential risk areas.
b) Customer sees a prototype very early in the SDLC.
c) Critical and risky features are built first for risk mitigation and clarifying requirements.
d) Design can evolve with iterations.
e) Feedback from users helps maintain their expectations.
f) Cost is assessed frequently, hence better planning.
Ques 20. Explain the weaknesses of the spiral model.
Weaknesses of Spiral model are:
a) Not suitable for smaller or low budget projects as cost is high for identifying risks.
b) Time spent on risks, planning, and prototyping may not be as efficient.
c) It is complex.
d) Spiral may continue indefinitely.
e) Hard to define clear milestones, which allow the SDLC to move to the next phase.
f) Developers must have other work during non development phases.
Ques 21. Explain when to use the spiral model.
Spiral model should be used when:
a) Prototypes are expected/needed.
b) Large and high budget projects
c) When risk assessment is very critical
d) Requirements are not very clearly defined.
e) Requirements are vague and even complex
f) The organization does not have much experience with the domain.
g) Ample time is available.
Ques 22. Describe the importance of selecting team members with a mix of personality types for software development.
Choosing or building the right team is vital for the success of any project.
A project needs a variety of skills and qualities that are not present in any individual. However, as a workaround, a team should be built of people with a variety of skill sets to fulfill the project need.
The main advantage of choosing team members with a mix of personality types is that it provides a wider range of views towards a project or any specific action item in the project, e.g. requirements, design, development, testing or even implementation. Different views allow for a broader angle to a problem and solution minimizing the risk of missing requirements or misunderstanding them.
Some of the personality traits that are essential to any project are:
- Aggressive go getter, contrary, a calm patient and more laid back personality
- Risk taker, contrary, a cautious personality
- Strategic, contrary, analytical personality
- Lateral thinking
Different situations in a project are handled better by different personality types and hence a perfect blend/mix of personality types is essential for the project to complete successfully.
Ques 23. Describe the phases of team development in SDLC.
The 4 stages of team building are:
Forming: Team members are told what is expected out of them and where do they fit in the team. The team is guided using operating guidelines, and communication within.
Storming: During this phase team members show some resistance and frustrations trying to work together. There would be jealousies and ego clashes and the team manager must act as a referee or a coach.
Norming: In this phase the team has learnt to function as a whole. Team members find their consistent ways of working and hold their ideas back to avoid problems and conflicts. The team manager guides the team to not hold themselves back by increasing responsibilities and pressures.
Performing: In this phase the team has learnt to perform their role as whole, have and resolve conflicts, take risks, make adjustments or compromises, and perform actively to face various challenges.
Ques 24. What is the difference between an Iterative model and the Waterfall model?
Waterfall Model is a flow based model, in which we pass every phase once, and can not go back to that phase again. Its most eminent drawback is that if there is any change in requirements, we cannot make any changes to the requirement section. Iterative Model is somewhat similar to waterfall model but herein we can always come back to previous phases, and make the changes accordingly.
Ques 25. Explain the Difference between SDLC and STLC?
SDLC is a software development life Cycle model which is utilized for project management and involves processes from the feasibility Analysis to maintenance of the completed application. STLC is Software testing Life cycle and SDLC work closely together and are almost inseparable under some of the activities. However the stages are very different under sdlc and stlc.
Ques 26. What are functional requirements?
Functional requirement is a document which contains what a certain system has to do to achieve a certain specific objective.This task is carried out during the preliminary stage of SDLC.
Ques 27. What are Non-functional requirements?
Without Non-functional, a software will never function or will have vital missing information in its output. Response time, security, reliability, accuracy, capacity and availability are examples of Non functional requirement for a software development process. Non functional requirements decides how the Program or the software will function in future.
Ques 28. What is the difference between Incremental model and Spiral model?
There is not much difference between these two sdlc models. Sdlc spiral Model includes the iterative nature of the prototyping model and the linear nature of the waterfall model. This approach is ideal for developing software that is revealed in various versions.
Ques 29. Give some practical real life examples of Spiral Model.
The most popular real life examples for sdlc Spiral model are Microsoft Windows operating System, Visual Studio Manager, Adobe Photoshop, WordPress CMS and many more.
Ques 30. Why is Agile so popular?
Agile methodology is way too advanced and complex than the simple Waterfall model. The feasibility of agile to reshape the entire development structure to suit the most effective outcome is what makes Agile the number 1 choice of developers today.
Ques 31. Can I build a software project without sdlc models?
Of course. There are no hard and fast requirements for a developer to implement any SDLC model for developing a software project. The ability to simplify a project into modules and ascertain the correct progression for completion is the only reason for which SDLC models and methodology was designed in the first place. You can surely work without them but the challenges will be more and there won't be any specific process to organize your work as a whole.
Ques 32. What is the use of JAD session?
Ques 33. What is the Software release process?
The Software Development Life Cycle (SDLC) release phase is historically connected with production, deployment, and post-production operations, which generally include software maintenance and support. So, release management is the process of managing, planning, scheduling, and controlling a full software development at every stage and environment, including testing and releasing software releases.
Ques 34. What is Functional Requirement Specification (FRS) document?
This document captures the user's voice from the outside or the end user's perspective. A Business System Analyst creates it (BSA). This paper demonstrates how a system will react when a user interacts with it in order to meet the BRD and SRD standards. The key area of interest for software experts is the Functional Requirement Specification (FRS). An FRS is useful for software testers to learn the situations in which the product is intended to be tested, just as it is for developers to understand what product they are planning to produce. An FRS's ultimate purpose is to meet all of the requirements outlined in the SRS and BRS regulations.
Ques 35. What are different types of prototype model?
There are four types of Prototyping models:
Ques 36. How can DDLC and SDLC work together?
The DDLC (Documentation Development Life Cycle) is a software documentation development life cycle used by technical documenters to prepare software documentation. The life cycle is followed in tandem with the SDLC, as testers and developers work on the program at the same time. Because the documentation requires input and feedback from the various phases of the SDLC, the DDLC has stages that are comparable to the SDLC.
Ques 37. What is Level-0 DFD?
Context Diagram is another name for DFD Level 0. It's a high-level overview of the entire system or process that's being studied or modeled. It's meant to be a quick peek into the system, displaying it as a single high-level process with its connections to external entities. Stakeholders, business analysts, data analysts, and developers should all be able to understand it readily.
Ques 38. What is Capability Maturity Model in SDLC?
The Capability Maturity Model (CMM) is a cross-discipline and technical paradigm for facilitating and refining software development processes and system improvement. This methodology is at the heart of most management systems that aim to improve the quality of all product and service development and delivery.
Ques 39. What are Capability Maturity Model(CMM) levels?
Following are the five Capability Maturity Model Levels:
Ques 40. Briefly explain Scrum methodology in the Agile model.
Scrum is an agile development approach based on iterative and incremental procedures that are used in the creation of software. It's an agile structure that's adaptable, rapid, flexible, and excellent at delivering value to customers throughout the project's development. Companies of all sizes employ the Agile Scrum technique because of its ability to provide high-end cooperation and efficiency for project-based work. Scrum is a sort of agile approach that breaks projects down into manageable parts known as "sprints." The Agile Scrum methodology is ideal for companies who need to complete projects fast.
Ques 41. What do you know about Scrum impediments?
Obstacles or challenges that the scrum team faces slow down their work speed are referred to as impediments. An obstacle is anything that tries to prevent the scrum team from getting work "Done." Impediments can take many different forms. Some of the roadblocks include resource shortages or sick team members, technical, operational, and organizational issues, a lack of management support systems, and business issues.
Ques 42. What is Software Configuration Management, and how does it work?
The process of tracking and regulating changes that occur during the software development lifecycle is known as software configuration management. Any modification made during the development of software must be tracked using a well-defined and controlled process. Any modifications performed during software development are regulated through a well-defined process, thanks to configuration management. Revision control and the establishment of baselines are two SCM procedures.
Ques 43. Differentiate between quality assurance and quality control.
Ques 44. Briefly describe the RAD model.
The Rapid Application Development (RAD) paradigm is a software development method that relies on prototyping rather than detailed design. It should be utilized when a system that can be modularized in two to three months is required. It should be employed if there is a large number of designers available for modeling and the budget allows for their costs as well as the costs of automated code generation technologies.
Most helpful rated by users:
- What is Software Life Cycle?
- What are the different phases in SDLC?
- Why is software development life cycle important?
- What is SDLC model? What are the most well known SDLC models?
- Describe waterfall software development life cycle model.