FSD
Week1
What is enterprise and examples?
The definition of an enterprise is a project, a willingness to take on a new project, an undertaking
or business venture. An example of an enterprise is a new start-up business. An example of
enterprise is someone taking initiative to start a business.
Organizing the Enterprise - process
Five main steps involved in the process of organizing an enterprise.
1. Determining Activities
2. Grouping of Activities
3. Assigning Duties
4. Delegating Authority
5. Coordinating Activities.
Dept. of CSE Page 1
FSD
1. Determining Activities
• The first step in organizing is to identify and enumerate (to specify one after another) the
activities required to achieve the objectives of the enterprise.
• The activities will depend upon the nature and size of the enterprise.
• For instance, a manufacturing concern will have production, marketing and other.
2. Grouping of Activities
• The various activities are then classified into appropriate departments and divisions on
the basis of functions, products, territories, customers etc.
• Similar and related activities may be grouped together under one department or division.
• Grouping of activities helps to secure specialization. Each department may be further sub
divided into sections and groups.
3. Assigning Duties
• The individual groups of activities are then allotted to different individuals on the basis of
their ability and aptitude.
• The responsibility of every individual should be defined clearly to avoid duplication of
work and overlapping of effort.
• Each person is given a specific job best suited to him and he is made responsible for its
execution.
4. Delegating Authority:
• Every individual is given the authority necessary to perform the assigned task effectively.
• An individual cannot perform his job without the necessary authority or power.
5. Coordinating Activities:
• The activities and efforts of different individuals are then synchronized. Such co-
ordination is necessary to ensure effective performance of specialized functions.
Dept. of CSE Page 2
FSD
Understanding Business Activities
There are three main types of business activities: operating, investing, and financing.
• Operating Activities: Operating activities refer to all those business activities that are
directly or indirectly related to the provision of goods and services. As such they have a
direct impact on cash flow, and eventually on income.
• Investing Activities: Investing activities refers to all those activities that aimed to be
capitalized for more than a year. This includes capital expenditure such as purchase of
long term assets or real estate.
• Financing Activities: Financing activities refer to all those activities that fund the
business but are not directly related to the revenues from goods and services. Common
financing activities include bonds, loans, and share issues.
What is a business process?
A business process is an activity or set of activities that accomplish a specific organizational
goal. Example
• Manufacturing
• Quality Assurance
• Packaging
• Shipping
• Purchasing
For more information regarding this follow below link
[Link]
What is Business Process Automation?
• Business process automation (BPA) is a subset of a business process management
(BPM).
• It is the use of computer software or hardware to replace, control or automate repetitive
business tasks.
• The main aim of automation is to reduce or eliminate processes that either don't add value
or have a high potential for human error.
• In other words, anything that can be done by a machine should be.
Dept. of CSE Page 3
FSD
• This helps you run more efficiently but can also save you money and ensure that
operations are done correctly.
For more information regarding this follow the below link,
[Link]
Why automate business processes?
• Automating business processes is good for your employees.
• It frees up their time so they can focus on higher-level tasks instead of spending most of
their day answering similar questions over and over. Plus, it offers a lot more efficiency
in the long run.
• Automation helps you get your work done faster and more efficiently, thereby saving
money and time, which you can then invest in other things.
Business division and their activities in a software company
According to their duties, people create their individual departments in a company such as
1. IT Department
• IT Department is a core of every software company.
• It has created by the group of software professionals who are technical part of the
project.
• Duties within this department are divided among Developers, Project Managers and QA
specialists.
2. UX/UI Department
• Here the graphic part of the project is created.
• UX design stands for user experience design, while UI design stands for user interface
design.
• Create interfaces that are both effective and easy to use.
• As a result they design the whole application and its individual components.
• While creating the product, they work closely with the IT Department.
3. Business Development Department
• Business Manager who is the first to have contact with the potential customer.
Dept. of CSE Page 4
FSD
• Exhaustive meetings with all team members and regular updates to client will follow and
once all features are defined the development team will begin building the product.
Collaboration and communication between all teams.
4. Marketing Department
• Responsible for creating the company's image on the market.
• Starting from the design of the website, through advertising, presence on industry
portals and press releases
5. HR Department
• Their main objective is to create the best possible team of dedicated and reliable
employees
• They are also aimed at staff development programs, improvement of staff efficiency and
career pathing.
• They play an important role in creating and implementing health and safety regulations
within the company.
6. Accounting and finances Department
• This department takes care of every financial aspect among the company.
• Also their aim is to control document flow and all settlements with partners.
7. Board of Directors
• They are responsible for coordinating the design, development, and implementation of
an organization's applications.
• Director of software development, your responsibilities are to oversee the organization
and daily operations of a software development.
Workflow
• A Workflow is defined as a sequence of tasks that processes data through a specific path
from initiation to completion. They can be used to structure any kind of business function
regardless of industry. Essentially, anytime data is passed between humans and/or
systems, a workflow is created.
Dept. of CSE Page 5
FSD
Design Thinking
Design thinking enables software development companies to test the feasibility of the future
product and its functionality at the initial stage. It allows them to keep end user needs in mind,
clearly specify all requirements and translate all this into product features
Design thinking for software development
Design Thinking is a 5-step process to come up with meaningful ideas that solve real problems
for a particular group of people.
The five steps in design thinking are:
• Empathize: Understand the user’s needs and perspective
• Define: Define the problem that needs to be solved
• Ideate: Generate new and innovative ideas.
Dept. of CSE Page 6
FSD
• Prototype: Create a prototype of the product.
• Test: Test the product with actual users to get feedback
Full-Stack Development
• Full-stack development refers to building end-to-end software solutions including front-
end and back-end development.
• Front-end refers to the front part of the application or UI which is seen by the end-user
and used for end-user interaction.
• The back-end part is related to server-side development, database, and API development.
What is a full-stack web developer?
• Full stack web developers have the ability to design complete web applications and
websites. They work on the frontend, backend, database and debugging of web
applications or websites.
• They are proficient (Skilled or expert) in both frontend and backend languages and
frameworks, as well as in server, network and hosting environments.
Dept. of CSE Page 7
FSD
What is project planning?
Project planning is a discipline addressing how to complete a project in a certain timeframe,
usually with defined stages and designated resources. One view of project planning divides the
activity into these steps:
• setting measurable objectives
• identifying deliverables
• scheduling
• planning tasks
How to create project plan
The software plan prevents hurdles that tend to crop up during the project’s execution.
It also ensures optimal utilization of every allotted resource and time.
1. Define your scope:
• A project's scope describes the goals needed to complete the project successfully.
• Defining your scope, consider project aspects like outcomes, tasks, budget, time
frame and deliverables.
• You can define these by writing them in sentences or creating a bulleted list within
your software project plan document.
2. Define and coordinate your requirements:
• Identify appropriate resources that will help you to meet the objectives.
• Define the other aspects of the project such as equipment, budget for software
development, team, skills, and timeline.
3. Understand your constraints:
• Project may encounter unexpected events that may adversely affect it. Such as
increase in costs, delayed results, technical and business etc.
• Such hurdles include support from the management, appropriate schedule,
appropriate budget, and skilled software developers.
4. Map your business processes:
• Business process mapping is a powerful technique to visually depict process steps
and show how a process should function from start to finish.
5. Estimate your budget:
• The estimates will help you get an idea of the money and time you need.
6. Draw up your staged deliverables:
• Next task is to draw software development milestones to give room for testing and
feedbacks at each phase.
Dept. of CSE Page 8
FSD
• Milestones ensure the software development team focuses on specific functionality
aspects.
• When planning tasks and features to be done at the various phases, concentrate
more on achieving original targets.
7. Create a team:
• Project management requires one or several teams of professionals with the right
experience and skills.
• If your company lacks these individuals, you may hire from outside or outsource the
recruitment process to a company that will put together the teams for you.
8. Discuss quality and progress:
• Your planning is not yet over until you include the progress checks and quality
testing.
• Testing your stages ensures you’re meeting your milestone goals.
What is a product backlog?
A product backlog is a prioritized list of work for the development team that is derived from the
roadmap and its requirements. The most important items are shown at the top of the product
backlog so the team knows what to deliver first.
Steps to create a product backlog
A product backlog is more than a simple to-do list—it’s where you break down complex tasks
into a series of steps and delegate them to team members.
1. Build a product roadmap
The product roadmap is the foundation for the product backlog. Your team should create a
roadmap first, which will then serve as the action plan for how your product will change as it
develops. The roadmap is the vision for long-term product development, but it can also evolve.
2. List product backlog items
These items should include both high-priority items and more abstract ideas. During this phase
of product backlog creation, you’ll also need to communicate with stakeholders and listen to
their ideas for product improvements.
Dept. of CSE Page 9
FSD
3. Prioritize your backlog
After your team lists all the product backlog items, sort and prioritize your most important tasks.
You can identify top-priority items by putting the customer front of mind and considering what
items provide the most value to them.
4. Update regularly
As your team works through the product backlog, remember that it’s a living document. You can
continuously add items to the backlog and prioritize or refine them as you work.
Components of Full stack development
• Front End
• BackEnd
Front end: It is the visible part of website or web application which is responsible for user
experience. The user directly interacts with the front end portion of the web application or
website.
Front end Languages:
• HTML
• CSS
• JavaSccript
• Libraries
• CSS Processors
• Build Tools
• Frameworks
Front End Frameworks and Libraries:
• AngularJS:
• [Link]:
• Bootstrap:
• jQuery:
Dept. of CSE Page 10
FSD
Back end: It refers to the server-side development of web application or website with a primary
focus on how the website works. It is responsible for managing the database through queries and
APIs by client-side commands.
• PHP:
• C++
• Java:
• Python:
• JavaScript:
• [Link]:
Database
• Oracle: Oracle database is the collection of data which is treated as a unit. The purpose of
this database is to store and retrieve information related to the query. It is a database server
and used to manage information.
• MongoDB: MongoDB, the most popular NoSQL database, is an open source document-
oriented database. The term ‘NoSQL’ means ‘non-relational’. It means that MongoDB isn’t
based on the table-like relational database structure but provides an altogether different
mechanism for storage and retrieval of data.
• Sql: Structured Query Language is a standard Database language which is used to create,
maintain and retrieve the relational database.
Full stack development Tools
• Backbone
• Code pen
• Visual Studio Code
• Type Script
• Web Strom
• GitHub
Dept. of CSE Page 11
FSD
• Electron
Top 10 Front-End and Back-end Frameworks for Full-Stack Developers
1. React JS [Best JavaScript GUI library]
2. Spring Boot [Best Java Backend Framework]
3. Angular [Best JavaScript GUI Framework]
4. Node JS + [Link] [Best JavaScript Backend Framework]
5. Django [Best Python Full Stack Framework]
6. Flask [Best Python Backend Framework]
7. Bootstrap [Best CSS Framework for Web Development]
8. jQuery [Best JavaScirpt library]
9. Ruby on Rails [Best Ruby Framework for Web development]
10. GraphQL [Best JavaScript library for APIs]
Dept. of CSE Page 12