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:
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