Development process Q&A

Software Development Life Cycle(SDLC)

  1. What are the phases in SDLC?

The various SDLC phases are requirement gathering and analysis, design, implementation, test, deployment ,and support.

  • Requirement analysis: Business analyst and project organizer do client meetings to gather all the requirements of the clients. Like what to build, who will be the end-user, what is the purpose of the product, etc.
  • Defining requirements: Once the requirement analysis is done, the next stage is to surly document the software specifications and get them approved by the project stakeholders. This can be accomplished through the “SRS”- Software Requirement Specification document, which embraces all the product elements to be created and developed during the project life cycle.
  • Designing: In this stage, the requirements gathered in the SRS document is used as information to obtain the software architecture. Through this, the developers then create either rough working models, or illustrates how the software will work, how it will look, how usage flows will move from screen to screen, and more.
  • Implementation or Coding: In this stage, developers should follow the coding guidelines defined by their management, and programming tools like compilers, interpreters, debuggers, etc. are used to generate and implement the code.
  • Testing: After the code is generated, it is tested against the specifications to ensure that the products are solving the needs claimed and inferred during the requirements stage.
    During this phase, serval testing like unit testing, integration testing, system testing, and approval testing is done.
  • Deployment: Once the software is approved, and no bugs or errors are asserted, then it is deployed. Later, based on the assessment, the software is delivered as it is or with suggested augmentation in the object segment.
  • Maintenance: Once the client starts using the developed software, then the real issues start coming up. In this stage, the team is required to fix the issues, roll out new features and refine the functionalities as required.


  1. The maintenance phases of the SDLC?

Maintenance: Once the client starts using the developed software, then the real issues start coming up. In this stage, the team is required to fix the issues, roll out new features and refine the functionalities as required. The method where the care is taken for the finished product is thus known as maintenance.

  1. The waterfall model?

The waterfall is a widely trusted SDLC model. It is also referred to as a ** linear sequential life cycle model.** In a waterfall model, each phase must be completed before the next phase can begin, and there is no overlapping in the phases.

Advantages:

  • Simple and easy to understand and use
  • Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process.
  • Phases are processed and completed one at a time.
  • Works well for smaller projects where requirements are very well understood.
  • Clearly defined stages.
  • Well understood milestones.
  • Easy to arrange tasks.
  • Process and results are well documented.

Disadvantages:

  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing. So, risk and uncertainty is high with this process model.
  • It is difficult to measure progress within stages.
  • Cannot accommodate changing requirements.
  • Adjusting scope during the life cycle can end a project.
  • Integration is done as a "big-bang. at the very end, which doesn't allow identifying any technological or business bottleneck or challenges early.


  1. Agile methodology for project management?

It is a way by which a project can be managed by breaking it into several stages or sprints.
Rather than creating tasks and schedules, all time is “time-boxed” into phases called “sprints.” Each sprint has a defined duration (usually in weeks) with a running list of deliverables, planned at the start of the sprint.
So,iIt is more interactive and team-based. Agile allows teams to release segments of the project, that are completed.

image.png

Product Backlog: Where you list your ambitions and express how you intend to achieve them.
Sprint Backlog: The shopping list of products you want to produce in the next sprint. The definition of done indicates precisely what needs to be done by the end of the Sprint.

Advantages:

  • The customers will have full knowledge of what is being done in the project.
  • Delivery don't take longer durations than that take in traditional ways. The customer is satisfied because of fast and continuous delivery.
  • Customer may give changes at any point in the project.
  • Agile helps in the fast release of the project and helps stay ahead in competition with other companies.

Goal: To produce shorter development life cycles and more frequent product releases than traditional waterfall project management.

Six Steps:

  • Project Planning: Ensure everyone understands the end goal and value of that project. Then break the projects into sprints or interactions, and estimate the amount of time needed to complete those sprints.
  • Roadmap Creation: A roadmap is a list of all the features that the final product should have. It acts as a plan of action on how a project will be implemented. A list of all the features that the project should have and the steps to achieve those features.
  • Release Planning: A plan is made for all feature releases and this plan is revisited at the beginning of each sprint. Agile project methodology uses shorter development cycles or sprints, with features released at the end of each cycle.
  • Daily Meetings: It helps the team accomplish their daily tasks in an efficient manner. During these meetings, each team member tells what they have accomplished the previous day and their task for today.
  • Sprint review and retrospective: Sprint review and retrospective helps the team to inspect itself and plan to make changes to improve the coming sprints. Sprint retrospective takes place after sprint review, and before the next Sprint planning.


  1. Continuous Integration - CI, Continuous Delivery - CD?

CI: Introducing CI to the aforementioned scenario allows software developers to work independently on features in parallel. When they are ready to merge these features into the end product, they can do so independently and rapidly. CI is a valuable and well-established practice in modern, high performance software engineering organizations.

CD: Continuous delivery is the next extension of continuous integration. The delivery phase is responsible for packaging an artifact together to be delivered to end-users. This phase runs automated building tools to generate this artifact. This build phase is kept ‘green,’ which means that the artifact should be ready to deploy to users at any given time.


  1. What is Scrum?

Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems.

Scrum Theory

  • Transparency: The emergent process and work must be visible to those performing the work as well as those receiving the work.
  • Inspection: The Scrum artifacts and the progress toward agreed goals must be inspected frequently and diligently to detect potentially undesirable variances or problems. To help with inspection, Scrum provides cadence in the form of its five events.
    Scrum events are designed to provoke change.
  • Adaptation: If any aspects of a process deviate outside acceptable limits or if the resulting product is unacceptable, the process being applied or the materials being produced must be adjusted. The adjustment must be made as soon as possible to minimize further deviation.


  1. What are the different roles in Scrum?

Team Lead / Scrum master: His main job is to clear away all obstacles(resource limitation, poor communication, and other roadblocks) to completing work.
Team Members: They could be engineers, members of the creative team, or designers. They are responsible for creating plans for the sprint and the sprint Backlog.
Product owner: Responsible for product vision and priorities. Creating and clearly communicating Product Backlog items.


  1. Product Owner in the Scrum Framework?

The key stakeholder with a vision who provides direction to the team for each sprint.


  1. Scrum Artifacts, Scrum Events?

Scrum Events

  • The Sprint: The Sprint is a container for all other events. Each event in Scrum is a formal opportunity to inspect and adapt Scrum artifacts.
  • Sprint Planning: Sprint Planning initiates the Sprint by laying out the work to be performed for the Sprint. This resulting plan is created by the collaborative work of the entire Scrum Team.
  • Daily Scrum: The purpose of the Daily Scrum is to inspect progress toward the Sprint Goal and adapt the Sprint Backlog as necessary, adjusting the upcoming planned work.
  • Sprint Review: The purpose of the Sprint Review is to inspect the outcome of the Sprint and determine future adaptations.
  • Sprint Retrospective: The purpose of the Sprint Retrospective is to plan ways to increase quality and effectiveness.

Scrum Artifacts

  • Product Backlog: The Product Backlog is an emergent, ordered list of what is needed to improve the product. It is the single source of work undertaken by the Scrum Team.
  • Sprint Backlog: The Sprint Backlog is composed of the Sprint Goal (why), the set of Product Backlog items selected for the Sprint (what), as well as an actionable plan for delivering the Increment (how).
  • Increment: An Increment is a concrete stepping stone toward the Product Goal. Each Increment is additive to all prior Increments and thoroughly verified, ensuring that all Increments work together. In order to provide value, the Increment must be usable.


  1. Estimation Techniques in scrum and Types of Estimation Techniques.

  2. T-Shirt sizes (Estimation unites)

  3. Aggregation design pattern?

  4. What are the types of software design patterns?

  5. What is dry, kiss and Yagni? (Yagni and kiss principle agile).

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容