0% found this document useful (0 votes)
14 views33 pages

Industrial Attachment Report at Graph-AI

The document provides background information on the internship experience of the author at Graph-AI software company. It describes the objectives, scope and methodology of the industrial attachment report. The objectives are to understand software development processes, models, quality practices followed in the industry. The report covers web application development practices at Graph-AI.

Uploaded by

Hijibiji Hacker
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views33 pages

Industrial Attachment Report at Graph-AI

The document provides background information on the internship experience of the author at Graph-AI software company. It describes the objectives, scope and methodology of the industrial attachment report. The objectives are to understand software development processes, models, quality practices followed in the industry. The report covers web application development practices at Graph-AI.

Uploaded by

Hijibiji Hacker
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

A REPORT ON

INDUSTRIAL ATTACHMENT

Submitted By:
S.M Junayed Shanto
Roll No. 21190101079
7th Semester ECSE

Supervised By:
Muhammed Samsuddoha Alam
Assistant Professor & Coordinator,
CSE (Evening) Program
Northern University Bangladesh

Date of Submission: June 12, 2021


Letter of Transmittal

December 28, 2013

Muhammed Samsuddoha Alam


Assistant Professor & Coordinator,
CSE (Evening) Program
Northern University Bangladesh

Subject: Submission of Industrial Attachment Report

Dear Sir,
It is indeed our pleasure to submit the industrial attachment report to you for your kind appraisal. We
have completed our industrial attachment at the Head Office of Graph-AI. During internship, we got huge
amount of support from the officials for preparing our report in time. The experiences we have gathered
will be very helpful in the professional life.

We believe, this report will be quite interesting and fulfill your expectation. We have tried to give our best
efforts to prepare a comprehensive report. We will be grateful if you accept our report and your kind
consideration will be highly appreciated.

Sincerely Yours,

S.M Junayed Shanto


Roll. 21190101079

2 | Page
e
DECLARATION

We hereby declare that, this industrial attachment has been done by us under the supervision of
Muhammed Samsuddoha Alam, Assistant Professor & Coordinator, ECSE, Northern University
Bangladesh. We also declare that neither this industrial attachment nor any part of this project has been
submitted elsewhere for award of any degree.

Supervised by:

Muhammed Samsuddoha Alam


Assistant Professor & Coordinator
Evening Computer Science & Engineering,
Northern University Bangladesh

Submitted by:
S.M Junayed Shanto
Roll: 21190101079

3 | Page
e
ACKNOWLEDGEMENT

An industrial attachment cannot be completed without significant help from others. First we gratefully
acknowledge the help and support from our parents, teachers, employers, friends and others, whose support
has been invaluable for me. I would like to thank the following people for their contribution in this industrial
attachment:

We are grateful to our honorable Director Samia Rahman, for the official letter to join us Graph-
AI.
We express our gratitude to Muhammed Samsuddoha Alam, Assistant Professor & Coordinator,
ECSE, for her supervision of the project and industrial attachment
We thank Engr. Mohammad Mizanur Rahman, CEO for admitting us at Graph-AI
We also grateful to Hasibul Islam, Project Manager, Graph-AI

4 | Page
e
PREFACE

Graph-AI is one of startup software developing company in Bangladesh. They develop innovative and cost
effective software services in both commercial and government sectors. With the advent of modern
technologies they also incorporate their customers with new application and ideas. They have well trained
professional to develop software and meet the customer demand. Their unique approach to train and
develop human resources to adapt to the market demands leads them to national as well as international
market.

With the huge support of professional developers Graph-AI is trying to emphasis the newer technologies
like Web application development, Mobile application development and many more. They have a lot of
experience to work with rest of the software industry. They have developed many software solutions to the
corporate leaders and government.

5 | Page
e
Table of Contents

Sl No. Page
Content No.
s

1 Chapter: 1 (Background of the Report) 1-10

1.1 Background

1.2 Objectives of the Report

1.2.1  Broad Objective

1.2.2  Specific Objectives


1.3 Scope of the Report

1.4 Methodology

1.4.1  Primary Sources

1.4.2  Secondary Sources

1.5 Limitations of the Report

2 Chapter: 2 (Internship Experience& Job Description 11-19

2.1  Software development process of Graph-AI

2.2  Software development activities

2.2.1  Planning

2.2.2  Implementation, testing and documenting


2.2.3 Deployment and maintenance

2.3  Software development models


2.3.1  Waterfall model

2.3.2  Code and fix


2.4  Process improvement models
2.4.1  Capability Maturity Model Integration

2.4.2 ISO 9000


2.5 Formal methods

2.5.1 Types of Team in a Software Firm


6 | Page
e
2.5.2  Hierarchy of a Software Development Firm

2.5.3  Overview of Scrum

2.5.6  The Agile

2.5.5  How Graph-AI supports agile software development

3 Chapter: 3 (Mobile Application & Development) 20-22

3.1 Overview

3.2 Steps of development

4 Chapter: 4 (Project Part) 23-30

4.1 Applications

4.2 E-NagorikAbedon

4.3 To-Let Bangladesh

4.4 MicroFin360 SMS Sender


5 Chapter: 5 (Overall Findings) 31-33

5.1 Future of the firm in Bangladesh

5.2 Current position and Prospective future of Graph-AI in Bangladesh


5.3 Recommendations

5.4 Conclusion

References

7 | Page
e
Chapter: 1
Background of the
Report

8 | Page
e
1.1 Background
We were lucky to get the opportunity to complete our industrial attachment at Graph-AI. Since Graph-AI
is a leading software company and developing software from a long ago in Bangladesh we consider
ourselves timely to get chance to take a deep look to their development methods, working models, deals
and industrial behavior. We visited the head office located at 145,Airport Road Super Market, Manipuri
Para, Dhaka-1215 almost every week through the semester.
We intended to look into the software industry and how it looks like, what are their rules, responsibility
and environment. Obviously they work with almost every platform and technologies. We worked with the
part of Web Application Development team and generated ideas based on web development. Mainly we
developed Performance Management System.
While developing the web app we tried to follow the coding conventions and user satisfaction criteria to
maintain the quality of the software. Software quality assurance is one of the main challenges of the
industry.

1.2 Objectives of the Report


The report has broad and specific objectives to follow.

1.2.1 Broad Objective:


Theoretical knowledge can never fulfill the knowledge of developing software. The industry has to
maintain lot things to reach software to root level users. These workings and thinking can only be
achieved by working with them.

1.2.2 Specific Objectives:


Besides the main or broad objective, the report has some specific objectives, which are given in the
following:
To know about the problems faced in the software industry

To know how these problems are solved


To know the coding style and conventions of the industry
To go through the development cycle and models Working
with documentation and customization Understanding
software maintenance

1.3 Scope of the Report


This report is made only for academic purpose and to fulfill the requirement for industrial attachment.
This report has covered the direct and indirect aspects of software industry and their challenges. In
addition, the report is focused on web application development. With the advancement of these web
applications all over the world Bangladesh is also trying to cope with that.

9 | Page
e
1.4 Methodology
For this report, information has been gathered from both primary and secondary sources.

1.4.1 Primary Sources:


For primary data, several face-to-face interviews have been conducted with officials from different
departments of Graph-AI. Information provided by them has been very important for this report. We
conducted with the following professionals:
Hasibul Islam, Software Engineer(Manager), Graph-AI

Sajjadul Yeasin, Softaware Engineer, Graph-AI

1.4.2 Secondary Sources:


To understand Software quality assurance, Agile method, Scrum data has been gathered from the internet
and different articles and the sources have been given in the references part.
1.5 Limitations of the Report
While gathering information, analyzing and representing them we have faced some limitations. However,
despite the limitations we have tried hard to prepare a comprehensive and rather interesting report. The
overall limitations of the report are mentioned below:
Some statistical and qualitative data that were needed were not fully obtained. The Finance and
Accounts officials, along with the Supply Chain officials were part of core team development.
Because they were very busy, we had difficulties in meeting and gathering information from
them.
Because we were not full time interns at Graph-AI, we could not see the disadvantages of the old
system ourselves.
Because of organizational confidentiality, I could not put or disclose some information in the
report.

10 | P a g e
e
Chapter: 2
Internship
Experience & Job
Description

11 | P a g e
e
2.1 Software development process of Graph-AI
A software development process, also known as a software development life-cycle (SDLC), is a structure
imposed on the development of a software product. Similar terms include software life cycle and software
process. It is often considered a subset of systems development life cycle. There are several models for such
processes, each describing approaches to a variety of tasks or activities that take place during the process.
Some people consider a life-cycle model a more general term and a software development process a more
specific term. For example, there are many specific software development processes that 'fit' the spiral
life-cycle model. ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to
be the standard that defines all the tasks required for developing and maintaining software.
The international standard for describing the method of selecting, implementing and monitoring the life
cycle for software is ISO/IEC 12207.
2.1 Software development activities:
2.1.1 Planning:
Planning is an objective of each and every activity, where we want to discover things that belong to the
project. An important task in creating a software program is extracting the requirements or requirements
analysis. Customers typically have an abstract idea of what they want as an end result, but do not know
what software should do. Skilled and experienced software engineers recognize incomplete, ambiguous,
or even contradictory requirements at this point. Frequently demonstrating live code may help reduce the
risk that the requirements are incorrect.
Once the general requirements are gathered from the client, an analysis of the scope of the development
should be determined and clearly stated.

2.1.2Implementation, testing and documenting:


Implementation is the part of the process where software engineers actually program the code for the
project. Software testing is an integral and important phase of the software development process. This
part of the process ensures that defects are recognized as soon as possible.
Documenting the internal design of software for the purpose of future maintenance and enhancement is
done throughout development. This may also include the writing of an API, be it external or internal. The
software engineering process chosen by the developing team will determine how much internal
documentation (if any) is necessary. Plan-driven models (e.g. Waterfall) generally produce more
documentation than agile models.

2.1.3Deployment and maintenance:


Deployment starts directly after the code is appropriately tested, approved for release, and sold or
otherwise distributed into a production environment. This may involve installation, customization (such as
by setting parameters to the customer's values), testing, and possibly an extended period of evaluation.
Software training and support is important, as software is only effective if it is used correctly.

12 | P a g e
e
Maintaining and enhancing software to cope with newly discovered faults or requirements can take
substantial time and effort, as missed requirements may force redesign of the software.
2.2 Software development models:
Several models exist to streamline the development process. Each one has its pros and cons, and it is up to
the development team to adopt the most appropriate one for the project. Sometimes a combination of the
models may be more suitable.

2.2.1 Waterfall model:


The activities of the software development process represented in the waterfall model. There are several
other models to represent this process.

Figure: Waterfall method

The waterfall model shows a process, where developers are to follow these phases in order:
[Link] Requirements specification (Requirements analysis)

13 | P a g e
e
[Link] Software design
[Link] Implementation and Integration
[Link] Testing (or Validation)
[Link] Deployment (or Installation)
[Link] Maintenance

In a strict Waterfall model, after each phase is finished, it proceeds to the next one. Reviews may occur
before moving to the next phase which allows for the possibility of changes (which may involve a formal
change control process).
Reviews may also be employed to ensure that the phase is indeed complete; the phase completion criteria
are often referred to as a "gate" that the project must pass through to move to the next phase. Waterfall
discourages revisiting and revising any prior phase once it's complete. This "inflexibility" in a pure
Waterfall model has been a source of criticism by supporters of other more "flexible" models.
2.2.2 Code and fix
"Code and fix" development is not so much a deliberate strategy as an artifact of naïveté and schedule
pressure on software developers. Without much of a design in the way, programmers immediately begin
producing code. At some point, testing begins (often late in the development cycle), and the unavoidable
bugs must then be fixed before the product can be shipped. See also: Continuous integration and Cowboy
coding.
2.3 Process improvement models:
2.3.1 Capability Maturity Model Integration
The Capability Maturity Model Integration (CMMI) is one of the leading models and based on best
practice. Independent assessments grade organizations on how well they follow their defined processes,
not on the quality of those processes or the software produced. CMMI has replaced CMM.
2.3.2 ISO 9000
ISO 9000 describes standards for a formally organized process to manufacture a product and the methods
of managing and monitoring progress. Although the standard was originally created for the manufacturing
sector, ISO 9000 standards have been applied to software development as well. Like CMMI, certification
with ISO 9000 does not guarantee the quality of the end result, only that formalized business processes
have been followed.
2.4 Formal methods:
Formal methods are mathematical approaches to solving software (and hardware) problems at the
requirements, specification, and design levels. Formal methods are most likely to be applied to safety-
critical or security-critical software and systems, such as avionics software. Software safety assurance
standards, such as DO-178B, DO-178C, and Criteria demand formal methods at the highest levels of
categorization.

14 | P a g e
e
2.4.1 Types of Team in a Software Firm
[Link] Requirement analysis team
[Link] Planning team
[Link] Designing team
[Link] Coders team
[Link] Database team
[Link] Testing team

2.4.2 Overview of Scrum:


Scrum is a lightweight agile method for software development. Scrum is named after the Scrum in rugby,
which is a way to restart the game after an accidental infringement. This entry describes the software
development part of Scrum.
Scrum was first applied in 1993 at Easel Corporation by Jeff Sutherland, John Scumniotales and Jeff
McKenna when building an object-oriented design and analysis (OOAD) tool incorporating Round-trip
engineering. At that time they needed a development method that had rapid application development and
where product requirements could easily be translated into working code. These principles later became
some of the basics of Scrum.

Characteristics:
Scrum assumes that the software development process is complicated and unpredictable and treats it as a
controlled black box instead of a theoretical, fully-defined process. This is one of the biggest differences
between Scrum and the Waterfall and Spiral methodologies, which view the software development
process as a fully defined process. Most problems encountered when using these older, formal types of
methodologies are:
Requirements are not fully understood at the beginning of the process.
Requirements change during the process.
The process becomes unpredictable when new tools and technologies are used.

To manage these processes with flexibility, Scrum supplies techniques and controls to manage this
unpredictable process.
Development Phase Techniques:
Team creation
Scrum believes that a development team should perform as a sport team, every team member working
independently but towards the same goal. Scrum suggests that a team has a maximum of 6 - 7 members.
The team facilitator is called the Scrum master. His/her job is to implement and manage the Scrum
process in the project. The Scrum team as a whole defines the practices, meetings, artifact and
terminology of SCRUM for the team and the Scrum Master ensures adherence to these "norms"
identified. Scrum masters serve a facilitator role and their authority is mostly indirect. Scrum masters
focus most of their time in managing outside interference for the Scrum team and solving outside
15 | P a g e
e
impediments or ‘Blockers’ that cannot be solved by the Scrum team. The master also focuses on ensuring
transparency into the development process by maintaining the multiple Scrum artifacts defined elsewhere
in this article.
Backlog creation
There are 3 types of backlogs:
Product - Acts as a repository for requirements targeted for release at some point. These are
typically high level requirements with high level estimates provided by the product stakeholders.
Release - Requirements pulled from the product backlog and identified and prioritized for an
upcoming release. The release backlog contains more details about the requirement and low level
estimate which are usually estimated by the team performing the work.
Sprint - At the beginning of each sprint, the team has sprint planning with an end result being a
backlog of requirements/sub-requirements that the team anticipates completing at the end of the
sprint. By completing, that means fully coded, tested and documented. These are the items that the
team will "Burndown" against throughout the duration of the sprint.

Project segmentation
The whole project gets divided into periods of time with a maximum duration of 4 weeks. One period is
called a Sprint and every team gets a backlog to execute within the given Sprint.
Scrum meetings
During the sprint, the team conducts daily scrum meetings.
The meetings are held in the same place at the same time every work day.
The meetings don’t last for more than 30 minutes.
A scrum master is appointed.

The scrum master is responsible for asking every team member the following three questions:
[Link] What have you done since the last scrum meeting?
[Link] What has impeded your work?
[Link] What do you plan on doing between now and the next scrum meeting?

2.5.5 The Agile


Along with the rest of the software industry Graph-AI uses agile method for the development cycle. Here a
detail of agile is described.

Overview
The literal meaning of the word agile, an adjective, is “Characterized by quickness, lightness, and ease of
movement.” So this indicates that Agile Software development is about fast delivery of software with
more ease of development. Classically, “Agile software development is a style of software development
that emphasizes customer satisfaction through continuous delivery of functional software”.
Key Features of Agile Software Development:
Iterative: Entire application is distributed in incremental units called as iteration.
Development time of each iteration is small (couple of weeks), fixed and strictly
16 | P a g e
e
adhered to.
Active Customer involvement: There is lot of client involvement and face-to- face
interaction. Every iteration is tested and approved by client. The feedback obtained is
implemented in subsequent iterations; thus minimizing risk and ensuring higher client
satisfaction.
Feature driven: More emphasis is on providing the required features in the
application.
Fixed Time: Each iteration has a fixed time span in which it is delivered. Priority
based delivery: Features are prioritized depending on customer need, development
risk etc. High priority features are developed first.
Adaptive: The methodology in general is very adaptive, so that the application that is
developed can cater to inflow of new requirements throughout its development.
Empowered Teams: The project teams are generally small and have lot of interaction
and communication.
People Centric: More emphasis is on using the adequately skilled people to do the
development than on following the processes.
Rapid development: Generally the development is done rapidly using light weight
development technologies.
More disciplined: Being rapid, everything has to be delivered correctly first time.
Simplicity: Emphasis is on keeping things as simple as possible and being open to
change.

Why Agile:
Benefits to the Customer

1. Customer is more actively involved, and gets higher priority


2. He gets to know regular and frequent status of the application
3. Requirements are accepted after each iteration
4. Since the methodology emphasizes rapid delivery, time-to-market is less. So the key
functionalities can be available to use sooner.
5. Delivery is defined by fixed timescale. So customer is assured of receiving some
functionality by a fixed time period.
6. More Testing is done, so better software quality is delivered

Benefits to the Project Teams

1. Project teams are involved more actively in all the stages, have to ask right question. The
teams collaboratively take the decisions and are more empowered.
2. Since the development is Incremental, teams can focus on the specific requirements at any
given point of time.
3. More emphasis is on developing the application only, and not on documentation. Simple and
minimal documents are used to exchange the views
4. The teams receive frequent feedback as the testing is integrated; so the rework is reduced
5. Less time is spent in gathering requirements as all the requirements are not gathered upfront
17 | P a g e
e
and are implemented as and when they arise.
6. So less time is required for planning.
7. Less cost of development as rework, management, documentation and other non-
development work related cost is reduced.
8. Teams develop applications collaboratively and in cooperative environment.

Challenges involved in Agile Software development:


Agile is difficult as it requires more TESTING & active CUSTOMERS involvement. It impacts
Management more than Developers. Management had to be more open, be actively involved in
development process and more importantly allow the teams to take decisions.

When to (not!) use Agile:

1. Is functionality split-able
2. Is customer available
3. Are requirements flexible
4. Is it really time -constrained
5. Is team skilled enough

The Process of Agile Software Development involves the following:

1. Starts with a kick-off meeting


2. The known requirements are understood and prioritized. The development is plan is drawn
accordingly.
3. Relative complexity of each requirement is estimated
4. Sufficient design using simple diagrams is done
5. Test Driven Development (TDD) approach may be used. TDD emphases on “writing test first
and then writing code to pass the test”. It can help in avoiding over-coding.
6. Development is done, sometimes in pairs, with lot of team interaction. Ownership of code is
shared when pair programming is done.
7. The code is tested more frequently. Sometime a dedicated “Continuous Integration”
Server/Software may be used to ease the integration testing of the code.
8. Depending on the feedback received, the code is refractor. Refactoring does not impact the
external behavior of the application but the internal structure may be changed to provide
better design, maintainability. Some ways of refactoring may be add interface, use super class,
move the class etc.

18 | P a g e
e
Figure: Agile development cycle

2.5.6 How Graph-AI supports agile software development:


The fast-paced development and cross-silo coordination necessary for a successful agile project require
organizations to visualize the scope of the project and the project schedule, orchestrate the integration and
testing process, and enforce adherence to agile processes. Visualization helps development organizations
to understand the project schedule and see the scope both of the entire project and of each iteration within
the project. Graph-AI management helps teams visualize the available resources to make sure they have
the time, money, and personnel to complete the project. Additionally, Mariner helps teams organize
iteration or sprint plans to manage and schedule software releases. Graph-AI Team also helps teams stay
aware of the scope of an agile project by keeping track of user stories within XP, managing project and
sprint backlogs within Scrum, or tracking tasks for other methodologies.

19 | P a g e
e
Chapter: 3
Web Application
Development

20 | P a g e
e
3.1 Overview

Web application development is the creation of application programs that reside on remote servers and are
delivered to the user’s device over the Internet. A web application (web app) does not need to be
downloaded and is instead accessed through a network. An end user can access a web application through a
web browser such as Google Chrome, Safari, or Mozilla Firefox. A majority of web applications can be
written in Java, JavaScript, Cascading Style Sheets (CSS), and [Link] application development will
typically have a short development life-cycle lead by a small development team. Front-end development for
web applications is accomplished through client-side programming. Client refers to a computer application
such as a web browser. Client-side programming will typically utilize HTML, CSS and JavaScript. HTML
programming will instruct a browser how to display the on-screen content of web pages, while CSS keeps
displayed information in the correct format. JavaScript will run JavaScript code on a web page, making
some of the content interactive.A database such as MySQL or MongoDB or Posrgresql or Oracle can be
used to store data in web application development.

3.1 Steps of development

1. Identify the Current Problems


“What are the current problems?” This stage of the SDLC means getting input from all stakeholders,
including customers, salespeople, industry experts, and programmers. Learn the strengths and weaknesses of the
current system with improvement as the goal.

2. Plan
“What do we want?” In this stage of the SDLC, the team determines the cost and resources required for
implementing the analyzed requirements. It also details the risks involved and provides sub-plans for softening
those risks.
In other words, the team should determine the feasibility of the project and how they can implement the project
successfully with the lowest risk in mind.

3. Design
“How will we get what we want?” This phase of the SDLC starts by turning the software specifications
into a design plan called the Design Specification. All stakeholders then review this plan and offer feedback and
suggestions. It’s crucial to have a plan for collecting and incorporating stakeholder input into this document.
Failure at this stage will almost certainly result in cost overruns at best and the total collapse of the project at
worst.

21 | P a g e
e
4. Build
“Let’s create what we want.”
At this stage, the actual development starts. It’s important that every developer sticks to the agreed blueprint.
Also, make sure you have proper guidelines in place about the code style and practices.
For example, define a nomenclature for files or define a variable naming style such as camelCase. This will help
your team to produce organized and consistent code that is easier to understand but also to test during the next
phase.

5. Code Test
“Did we get what we want?” In this stage, we test for defects and deficiencies. We fix those issues until
the product meets the original specifications.
In short, we want to verify if the code meets the defined requirements.

6. Software Deployment
“Let’s start using what we got.”
At this stage, the goal is to deploy the software to the production environment so users can start using the
product. However, many organizations choose to move the product through different deployment environments
such as a testing or staging environment.
This allows any stakeholders to safely play with the product before releasing it to the market. Besides, this allows
any final mistakes to be caught before releasing the product.

Extra: Software Maintenance


“Let’s get this closer to what we want.” The plan almost never turns out perfect when it meets reality.
Further, as conditions in the real world change, we need to update and advance the software to match.
The DevOps movement has changed the SDLC in some ways. Developers are now responsible for more and
more steps of the entire development process. We also see the value of shifting left. When development and Ops
teams use the same toolset to track performance and pin down defects from inception to the retirement of an
application, this provides a common language and faster handoffs between teams.
Application performance monitoring (APM) tools can be used in a development, QA, and production
environment. This keeps everyone using the same toolset across the entire development lifecycle.

Initially for web development we need(based on java ee):


JDK 1.8
STS / Eclipse (if you’ll use the Eclipse IDE). Download the latest SDK tools
Maven/Gradle as build tool
Apache tomcat server (v8 or any)
Database like: Postgresql, MySql, Oracle etc.

22 | P a g e
e
Chapter: 4
Project Part

23 | P a g e
e
4.1Applications
We developed one web apps through this time of industrial attachment. The application names is:

 Performance
Management
System (PMS)

4.2 PMS:
This Web App is based on employee performance managing. Any company can manage their
employee’s performance tracking through this application easily. As it has user friendly interface
and proper business flow at everywhere it will be very helpful for both private companies and Govt.
offices.
Features:
Initial data setup for companies like: Company, Department, Designation, Session
Session and designation based Key Resource Area (KRA) and Key Progress Indicator (KPI)
Quarter Based assessment (divided into 4 quarters)
Assigning employees to a specific reporting manager (rm) and assign kra, kpi’s to employees as per
their designations.
Employees can submit their task as per their assigned kra and kpi and it will be submitted to their
rm to check and approve.

There are application option for employees to ask for a training on specific skill to improve to their
reporting manager.

Smooth and effective reporting system

24 | P a g e
e
Application UI/UX:

Login Page of the application:

Session (quarter) create Page:

25 | P a g e
e
Session maintain page:

KRA create Page:

26 | P a g e
e
KRA maintain page:

KPI create page:

27 | P a g e
e
KPI maintain page:

Task create page:

28 | P a g e
e
Reporting Dashboard:

Compensation Report:

29 | P a g e
e
Performance vs Potential report:

Top Talent Matrix report:

30 | P a g e
e
Chapter: 5

Overall Findings

31 | P a g e
e
5.1 Future of the firm in Bangladesh:

They have come a long way since then and learned a lot about making software. The Waterfall Model is
now considered a flawed method because it is so rigid and unrealistic. In the real world, software projects
have ill-defined and constantly evolving requirements, making it impossible to think everything through
at once. Instead, the best software today is created and evolved using agile methods.

With the advent of modern programming languages (Java, PHP,C++, Python, .NET and Ruby), rich
libraries, and unprecedented infrastructure services, we are arriving at yet another evolutionary step. To
build software today all you need is a few good men (or women!). In this post we trace how we got here
and where we are heading next.

They have some future plans. They are as follow: To make the country dynamic they have many projects
for which they will work in the future. And they have also future plans for their firm. Such as:

Advanced Collaboration Environments and Scientific Workplaces of the Future:


Suggested productivity gains:

2x-10x depending on task


Higher quality output Fewer
changes overtime Better and
faster decisions

Radical Collection Recently used to:

Annotate new genome data at the firm


Design various mission in the world
Evaluate fusion reactor designs.

5.2Current position and Prospective future of Graph-AI in Bangladesh:

Graph-AI wants to take our country a long way through development of new software and technologies.
They are always up to date with the new technology emerging every day. We have seen their Web App
team is very enthusiastic concentrating on developing web apps. Their plan are:

Generating new ideas


Developing user friendly apps
Building their own app market

32 | P a g e
e
Recommendation:

There is a lot of possibility in the software industry for Bangladesh. A lot of fresh graduate are joining
and the industry is becoming very powerful day by day. The talented young generation can take the
industry a long way. We are already developing the software for us and exporting abroad. Through
outsourcing and freelancing a lot of young people are getting their own wages. The new firms can be
formed to improve the industry. But there are many obstacles too. As a developing third world country we
face a lot of unwanted conditions in the way. We have to overcome those and have to make the software
industry one of most powerful in the world. Our suggestions are:

The government should proper steps to make the way for new start-up.
Young people should form their own firm.
Business magnets should invest more in this sector. The ICT
act should be more flexible for the developers.
The business rules should be easier for software industry.

Conclusion:
The total period while we were visiting Graph-AI was very pleasant to us. It will help us a lot in future
life. Without the practical knowledge it is quite impossible to develop quality software. This industrial
tour has paved the way to look into the development environment and marketplace. The market does not
depend on only developing quality application. It is a lot more things than those. First we have to specify
what we have to develop, for whom, why and how. Understanding the user’s mind and their requirements
a software engineer has to think about new software. They gave a lot of good advice that we will take with
us as we prepare to enter the workforce after graduation.
The age is totally dependent on modern information technologies. Nobody can escape away from it. Our
one step to invent new technology can take the whole world a step forward.

References:
Graph-AI
[Link]
[Link]
[Link]
difference-2/

33 | P a g e
e

You might also like