Thank You for visiting at https://c2crek.blogspot.com/ !! This Site is being updated continuously So, keep visiting here, shortly you'll get best solution for your technical concerns !!

SDLC

 

SDLC: (Software Development Life Cycle) :

 

SDLC: (Software development life cycle) is a systematic process for building softwares, It’s a structured Process which uses to develop the Software Products. ensures the quality and correctness of the software built, SDLC consists of a detailed plan which explains how to plan, build, and maintain specific software

 

Seven different SDLC stages are

1) Requirement gathering and analysis

2) Feasibility study

3) Design

4) Coding

5) Testing:

6) Installation/Deployment and

7) Maintenance

Bug fixing, upgrade, and engagement actions covered in the maintenance face


Phase -1: The senior team members conduct the requirement analysis phase, Requirements Gathering stage need teams to get detailed and precise requirements.

Phase -2: Feasibility study: Once the requirement analysis phase is completed the next step is to define and document software needs. This process conducted with the help of 'Software Requirement Specification' document also known as 'SRS' document. It includes everything which should be designed and developed during the project life cycle.

There are mainly five types of feasibilities checks:

Economic: Can we complete the project within the budget or not?

Legal: Can we handle this project as cyber law and other regulatory framework/compliances.

Operation feasibility: Can we create operations which is expected by the client?

Technical: Need to check whether the current computer system can support the software

Schedule: Decide that the project can be completed within the given schedule or not.

Phase -3: Design phase, the system and software design documents are prepared as per the requirement specification document

Phase -4: In the coding phase, developers start build the entire system by writing code using the chosen programming language

Phase -5: Testing is the next phase which is conducted to verify that the entire application works according to the customer requirement.

Phase -6: Installation and deployment face begins when the software testing phase is over, and no bugs or errors left in the system

Phase -7: Bug fixing, upgrade, and engagement actions covered in the maintenance face

 

SDLC Methods/SDLC models:

1.       Waterfall Model,

2.       Agile Development Scrum,

3.       Incremental,

4.       V model,

5.       R.A.D (Rapid Application Development Spiral,

6.       Big Bang

 

 

Agile methodology:
Agile methodology is a type of Project Management Process, mainly used for Software Development, where requirements and solutions evolve through the collaborative effort of self- organizing and cross-functional teams and their customers/end users.

 

Agile methodologies:
1. Extreme Programming (XP)
2. Feature-Driven development (FDD)
3. Adaptive system development (ASD)
4. Dynamic Systems Development Method (DSDM)
5. Lean Software Development (LSD)
6. Kanban
7. Crystal Clear
8. Scrum

 

Scrum:
Scrum is a type of agile methodology for software development, Scrum is a subset of Agile, In the same way that Maytag is a brand of Refrigerator, Scrum is a brand of Agile.

Scrum is a framework that helps teams work together.
Agile focuses on adaptive, simultaneous workflows, Agile methods break projects into smaller, iterative periods. Kanban is primarily concerned with process improvements, while Scrum is concerned with getting more work done faster.

 

Agile VS Scrum

Agile is project management methodology and Scrum is a framework that helps teams work together.

Agile/ Scrum model of software development

 

Agile Team

·         An Agile team is a cross-functional group of people that have everything, and everyone, necessary to produce a working, tested increment of product.

·         The two main styles of Agile project management are Scrum and Kanban, which both utilize a board to visualize tasks in columns of to-do, in progress, and done.

 

How an Agile team works

·         Daily standup – A daily meeting in which contributors and managers discuss what work was done yesterday, what they’re working on today, and any questions that come up.

·         Sprints – Short spans in which products are planned, developed, reviewed, and released. They are projects within the projects.

·         Regular reviews and retrospectives – An Agile team manages itself, but there are built-in measures to make sure work is being delivered at a consistent quality. Peer review and reviews by managers occur before tasks get completed and after the sprint is over.

 

Agile Program management:

1.       Agile / Scrum Masters

2.       Product Managers

3.       Program & Project Managers

4.       Enterprise Architects

5.       Business Analysts

6.       Systems Analysts

 

Scrum Team

A Scrum team is small, lean, and results-driven. The ideal Scrum team is 5-6 people. An Agile team working in Scrum has three roles:

1.       The Product Owner

2.       The Scrum Master

3.       The Team Member

 

1. Product Owner:

Product owner is the one who shares the vision of the project (or the product to be developed), prioritizes the functionalities to be built and makes key decisions on behalf of the team or the project. While during project execution, product owner is the one who is responsible for maintaining the product backlog, bridging the gap between the developers and other stakeholders, managing the end-user (or customer) expectations and managing the budget (ROI). He is also the one who takes a call on the quality of the product and if it requires any improvement.

Being a product owner means being someone who is eventually responsible for the success / failure of the product.

 

2. Scrum Master:

Scrum master is someone who is responsible for solving any sort of problem that the team is facing while building the product. He is the guardian of process, givers of feedback, and mentors to junior team members. They oversee day-to-day functions, maintain the Scrum board, check in with team members, and make sure tasks are being completed on target. He is responsible for guiding the team, building a trustworthy environment within the team, facilitating discussions – negotiation – communications and removing impediments and problems.

 

3. Scrum Development Team/ Team Members:

·         A scrum team is cross-functional team that is responsible for developing the product. It is a small team consisting of developers, front/back-end engineers, copywriters, designers, videographers, business analysts, testers, etc.  

·         The team works together and in tandem while building the application. The activities of each of the team members are aligned in a way such that the targets associated with a specific sprint are achieved.

·         They are responsible for communicating the status of project daily to scrum masters, issues that they are facing to again the scrum masters and giving a demo of tasks completed by them to product owners during sprint reviews. Basically they are the ones around which tasks associated with Product Owners and Scrum Masters are assigned.

 

 

Sprints / Scrum board: In a Scrum team, independent products are created in short spans of time known as sprints. The team uses the Scrum board as a common touchpoint throughout the sprint period. In our example, the sprint lasts a month.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Interrelationships between the stakeholders:

 

images.png
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


The three stakeholders are inter-related to each other in following format –

 

·         Product owner bridges the gap between the Scrum Team and the Stake Holder, Product owner is also connected to the Business Owner and keeps communicating the owner’s goals with the Scrum Team. Product owner communicates the business requirements to scrum master and scrum team.

·         Scrum master is connected to both the Business Owner and Scrum Team, Scrum master helps in resolving issues that scrum team is facing.

·         Scrum Team Member amongst themselves collaborate extensively and follow a cooperative product development model.

 

Product Owner (PO)

·         The product owner is a role created by the Scrum Framework responsible for making sure the team delivers the desired outcome.

·         The Product Owner (PO) is a member of the Agile Team responsible for defining Stories and prioritizing the Team Backlog to streamline the execution of program priorities while maintaining the conceptual and technical integrity of the Features or components for the team.

·         The PO has a significant role in quality control and is the only team member empowered to accept stories as done. For most enterprises moving to Agile, this is a new and critical role, typically translating into a full-time job, requiring one PO to support each Agile team (or, at most, two teams). This role has significant relationships and responsibilities outside the local team, including working with Product Management, who is responsible for the Program Backlog, to prepare for the Program Increment (PI) Planning meeting.

·         Product Owner is a role you play on a Scrum team.

 

Scrum Master/Project Manager

Responsibilities

·         Manages 1 sprint at a time

·         Facilitates Sprint Planning, Review & Retrospective

·         Finds and works to remove roadblocks

·         Helps to motivate the team and keep them excited

·         Protects team from outside distractions

·         Facilitates communication between roles for every aspect of the project

·         Responsible for keeping release/project information consolidated, organized and up to date

·         Drives the cross-functional team at all levels

·         Responsible for throughput (team velocity)

·         Drives the execution of sprint items

 

Scrum master:-

Tools: Agile methodologies, extreme  programming xp, Kanban, Crystal clear, lsd lean software development,
Jira, Confluence, Slack, Share Point

 

 

Program Manager - Product Manager - Project Manager

 

1.       Product Managers focus on What and Why of a product.

2.       Project Managers focus on When of a product.

3.       Program Managers focus on How of a product.

 

 

1. Product Manager/Product Owner/ Brand Manager

·         Product management is ultimately responsible for the product’s success (or failure) in the market, a product manager will primarily concern himself by answering the question, “Why?” Why build the product this way? Why target this user persona? Why prioritize this functionality over that? Why set our prices at this level?

·         He is the  “CEO” of the product, Vertical – focus on long and short term product vision of a product line

·         Represents customer’s interest, Represents the product to the outside world (Customer)

·         Product Managers are responsible for the product life-cycle, right from gathering and prioritising the requirements and defining the product vision to the final sales of the product.

·         They own the product strategy, its ideation, its features, its releases and even its profit-and-loss.

·         The Product Manager has to ensure that his product delivers more value than the competition and is able to build a sustainable competitive advantage. He has to also ensure that the marketing efforts are in sync with the company’s vision and goals.

·         They are responsible for the entire product, from its design to its development to its production. Product Managers have to evaluate the customer needs and develop a solution that addresses these needs.

·         Brand Managers are responsible for the success of a given product line.

Responsibilities

·         Responsible for market, business case, and competitive analysis

·         Responsible for long and short term product vision

·         Responsible for ROI and Net Profit

·         Prioritizes features for releases based upon expected ROI

·         Writes Acceptance Criteria

·         Writes user stories

·         Makes tradeoff decisions between scope(value in Expected ROI) and schedule(higher operating expense in longer release cycles)

Challenges

·         Resisting the temptation to “manage” the team. The team may not self-organize in the way you would expect it to. This is especially challenging if some team members request your intervention with issues the team should sort out for itself.

·         Resisting the temptation to add more work

·         Being willing to make hard choices during a planning meeting.

·         Balancing the interests of competing stakeholders.

 

 

1.       Project Manager (Scrum Master)

·         Project Managers are responsible for execution. They are removed from the “What do we build?” question so they can focus on, “How do we build it?” They live in the world of budgets and schedules. In Agile development processes, the Project Manager is often called the Scrum Master.

·         The Project Manager is responsible for breaking work down. They think about how to take a large-scale project and turn it into manageable tasks. For those manageable tasks, they help coordinate work estimates (via Fibonacci, T-shirt sizing, planning poker, or another estimation process). Once the work is scheduled, they make sure things stay on track and figure out mediations if they go wrong.

·         A Project Manager is responsible for a project and creates the project plan, allocates assignments, keeps track of the progress and challenges faced and reports them to the concerned stakeholders. He has to coordinate time, budget and resources effectively to complete the project on time. The Project Manager has to focus more on the operational elements of the project he is handling.

·         Project Management consists of risk management, resource management and scope management. Project Managers have to manage all the risks in the project and mitigate them.

·         Project Management is all about time, cost and quality and the constant trade-offs that have to be decided to keep the project going.

·         Project managers own the budget, delivery, resources, capacity and collaboration in a project.

 

Project Manager Responsibilities:

·         Managing the project, including project scope, schedule and resources

·         Assembling and managing the project team and their performance

·         Delivering successful project outcomes (ensuring it is on time and under budget)

·         software for managing projects and programs

 

 

2.       Program Manager/ Technical Product Manager:

·         Program management, by contrast, requires taking more of an organization-wide view of any strategic initiative, including the development of a product. This means a program manager will be primarily concerned with “How?” and “When?” questions. How can we carve out enough time and personnel from customer support to conduct pre-launch product training? When do we need to start the marketing department working on collateral creation? How much budget can we allot to these initiatives?

·         A program manager manages multiple projects, and sometimes multiple programs while a project manager manages the teams responsible for fulfilling the project and achieving its deliverables.

·         Generally speaking, a program manager has broader responsibilities than the project manager. The position of a Program Manager differs from company to company and from industry to industry.

·         Generally, a program consists of many interrelated projects and hence Project Managers report to Program Managers.

·         Program Managers can perform both Project & Program Manager roles. On a Scrum team, Program managers usually perform both Program Manager & Scrum Master roles unless another team member is assigned to be Scrum Master.

·         Program Manager is responsible for managing multiple projects and, in some instances, multiple programs. They also interact with multiple project teams, but they don’t necessarily manage those project teams, the Project Manager does.

·         They’re responsible for the program outcomes, so their focus is on the broader view of what’s happening in that program. If you look at their dashboards, they’re looking at what’s happening within each of these projects that make up the program that may impact the program being on time or returning the ROI.

·         So if you look at a graphical depiction of a program, again, it’s made up of multiple projects that are related to that program. And ideally, in the organization, a Project Manager manages each one of these projects and reports into the Program Manager.

 

 

Program Management

Responsibilities

·         Manages planning process

·         Manages overall program schedule

·         Drives multiple releases/projects

·         Facilitates Release Planning & Retrospective

·         Provides access to tools and people

·         Owns all action items for the project until he/she finds the right owner

·         Owns reporting on project status, to all directions

·         Coordinates other release support

·         Responsible for risk assessment & mitigation

·         The Role is a peer to the Product Manager and the Engineering Manager on the release/project

·         Educates/Enforces agreed upon processes & methodology rules

·         Educates/Enforces roles and responsibilities

 

Program Manager Responsibilities:

·         Overseeing multiple projects

·         Managing multiple project teams (and sometimes project managers)

·         Delivering successful program outcomes.

·         Separately, the Project Manager has a different view. They’re responsible for a specific project, and the project team members and what’s happening, and whether they’re delivering on the activities they’re responsible for.

·         They’re also responsible for the project outcome, so they have a deeper focus on what’s happening on the individual project that they’re managing. So a Project Manager typically manages one or multiple projects. Their focus in the project life cycle has to deal with the scope, schedule, and resources for that project.

·         They perform more technical tasks for the project, and they deal with project requirements. They are the ones who are responsible for delivering that project on time and within budget for the organization. So as you can see, the Project Manager has a lot to do with what’s happening in the program.

·         each company has slightly different ways of dividing the workload.

·         “PM” is a confusing abbreviation. It can refer to (at least) three distinct roles: the Product Manager, the Project Manager, and the Program Manager.

·         The role of a Program Manager is slightly different in technology companies. Such companies view this role as a Technical Product Manager and thus expect familiarity with the underlying technologies used.

 

 

Architect

Role definition

Leads the technical direction of overall system

Responsibilities

·         Responsible for end-to-end cross functional system design and communication

·         Works with the PM to group features based upon the Architectural Elements which support them, an influence on priorities

·         Tests Architectural Elements with executable and testable design (abstract interfaces, aka the contract)

·         Facilitates technical decision; incorporates feedback and emergent patterns from the team back in to the overall design

·         Produces alternate Design Concepts & detailed approach

·         Ensures the Design goals – Performance, Modularity, Reliability, Maintainability, Reusability, Internationalization and Accessibility – are met

·         Ensures technical cohesion and helps write the technical contract in interfaces and other abstract objects and data entities

·         Leads design review & provides feedback

 

Software Architect:- (Software Design)

Designing the product using technical standards & Software tool

Types:

·         Enterprise Architect (Involves All Projects in the Company)

·         Solution Architect (Focus only on End-result design / He can work in multiple projects)

·         Application/Technical Architect (Centered on Single application)

Certifications Architect:

·         CITA-F (Certified Information Technology Architect Foundation Certification)

·         CITA-A (Certified Information Technology Architect Associate Certification)

·         CITA-S (Certified Information Technology Architect Specialist Certification)

·         CITA-P (Certified Information Technology Architect Professional Certification)

 

Project manager:

PM should Familiar with SDLC Method (Waterfall is commonly used)

·         Developing the project plan

·         Customer Interaction

·         Managing the budget

·         Resource allocation

·         Managing the Project Risk

Certification:

·         PMP (Project Management Professional)

·         CAPM (Certified Associate in Project Management)

·         PgMP (Program Management Professional)

 

A list of 24 Agile Project Management tools

·         Agilean

·         Wrike

·         Trello

·         JIRA

·         Kanbanize.

·         Backlog

·         Assembla

·         Pivotal Tracker

--------------------------------------------------

Scrum Master:

·         Coach team on Agile best practices around: story writting, story mapping & release planning.

·         Identify gaps in Agile process or skills to improve on, to make the team work better

·         Manage product centric website teams using an Agile management discipline.

·         Lead collaborative charter and story map sessions to determine product scope and priorities.

·         Manage deadlines and deliverables with internal business partners, as well as Technology PM and Compliance partners as required.

·         Act as a liaison between all agile team members and cross commit teams

·         Support Product Owner on team road map updates to leadership.

·         Facilitate regular team meetings to manage release plan, obtain updates, discuss roadblocks and resolve problems within the team.

·         Proactively and effectively manage all key project agile documentation.

·         Work with PMO on forecasting, record keeping, and cross commit needs.

·         Work with internal Interactive Marketing teams to ensure delivery of progressive business value; including successful completion of stories and launch activities.

 

 

Coaching teams and skills in Agile

Agile team coaching experience

Leading and managing large to medium size agile teams

Agile tools, processes, and methodology

Manage multiple timelines and ·complete tasks quickly within the constraints of clients

Timelines and budgets

 

Scrum and Kanban

Jira and Confluence

Agile tools:  JIRA, Agilean, Wrike, Trello, Kanbanize, Backlog, Assembla, Pivotal Tracker

 

Agile Team

Business Owner, Stake holder, Scrum Master, Product Owner, Agile Coach, Program Manager, Project Manager, Product Manager, IT Product Manager, Product Manager - Data Analytics, Product Owner, Change Manager, QA Manager, Dev Team, Data Analyst, QA /Quality analyst

 

IT - Developer (Specialty), Front End Engineer/ Developer, UX/UI designer (User Experience Designer )

UX Designer - Touch / Mobile, UX Conversational designer, UX Researcher, UX/UI Developer, Lead UX Designer

Back End Developer, Back End Developer Groovy, Full Stack Developer, Devops Engineer, DevOps/aws/azure developer, DevOps/Azure developer, iOS Developer, Android/Mobile Developer – React, Java developer/ J2EE Developer Spring, Api, .Net developer, Automation QA Engineer

 

No comments:

Post a Comment

IT Skills

      Java Technologies Latest Version: Java SE 17, Java EE 8   Spring/spring boot? Microservices? C...