Chapter: Introduction 1.1 Introduction Internship opportunity provides the students a great chance to relate their theoretical knowledge with the competitive and tough real job market environment. Moreover, if the internship period is within the bachelor program and the students have to return to the academia after completing it, the skills that they have developed during the internship help them to gain a more sound academic result. After returning from internship the students get six months for preparing himself/herself for the company and their future career. Southeast university provides that glorious opportunity to their students of having an internship within their bachelor program. I being one of the lucky ones to study in SEU that was send me to Comfosys Ltd.to complete my internship. With having a jab count of zero, I joined Comfosys Ltd. as an intern on 15th June 2014. The expectations were high and now almost nearing the end of my internship I must admit that it was really a wonderful experience. I was lucky to get the opportunity to complete our industrial attachment at Comfosys Ltd. Limited. Since Comfosys Ltd. is a leading Website design and software company and developing software from a long ago in Bangladesh i consider myself timely to get chance to take a deep look to their development methodology, working models, deals and industrial behavior. I 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. I worked with the part of Web Development team and generated ideas based on their development technology. The journey wasn’t that simple. There were many obstacles, new technologies that I have to handle with, yet after overcoming each challenge I had discovered a new potential within myself. The skills that I have gathered are priceless to me and I cannot wait to apply those in the upcoming semesters. In addition to that, some of the non-technical skills that I have procured, combined with those technical skills will certainly prove handy in my future jobs. 1 1.2 Objectives of the Report This report has been prepared as a requirement of the internship program of the degree Bachelor of Science in Software Engineering (BSSE). The report will definitely enrich the knowledge of the students from upcoming batches regarding the workplace environment. Using that knowledge they may prepare themselves appropriately for their future internships. In addition to that, the report is intended to reflect my achievements, project works and professional growth during the intern period. Besides, anybody looking for a short detail about Comfosys Ltd. may find this report useful. The report is designed to meet specific goals. Its goal is to - The introduction of the organization, including the standard following here Leading products of the organization Description about the team where I work A detailed description of responsibilities As an intern achievement, focusing on non-academic achievements. 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. This report gives an insight of the experience that I achieved from my workplace. A brief description of Comfosys Ltd. is included so that other students can get to know about the company and may decide whether it is suitable for them or not. If internships are about gathering skills then projects are the main way of gathering them. Till writing this report I have completed one project and helped in developing the web applications for Comfosys Ltd.. The tasks, timeline and results of those specific projects are included for a better visualization of industry standard projects. 2 1.4 Limitations of the Report While gathering information, analyzing and representing them i have faced some limitations. However, despite the limitations i have tried hard to prepare a comprehensive and rather interesting report. The overall limitations of the report are mentioned below- There were some restrictions in disclosing some information as it was assumed to be confidential. Therefore I could not include those in my report. Some of the information that I got from secondary sources were not arranged consistently. AS I was not permanent employee at Comfosys Ltd. I could not see the disadvantages of the old system. Because of organizational confidentiality, I could not put or disclose some information in the report. 1.5 Source of Data Collection In order to make the report as perfect as possible I here used data collection procedures which articulate the way that I have followed in my report. For this report, information has been gathered from both primary and secondary sources. 3 Primary Sources For primary data, several face-to-face interviews have been conducted with officials from different departments of Comfosys Ltd.Information provided by them has been very important for this report. I conducted with the following professionals: Collect information from different employee asking them Different documents available from the portal of Comfosys Ltd. Content provided from Comfosys Ltd’s website Different employees of Comfosys Ltd. From the company’s Handbook Secondary Sources To understand different software methodology, software quality assurance, Agile Model, Scrum Process and many other data have been gathered from the internet and different articles and the sources have been given in the references part. The secondary sources of data collection for the report includes Different websites which defines globally accepted standards Different websites which keeps track of achievements of international companies Reference Books Follow some other internship report to prepare standard one. 4 2. Chapter: Company Overview 2.1 Introduction Bangladesh is making quick progress in IT industry. There are many mentionable IT organizations in Bangladesh who has contributed significantly to the rise of IT sector in Bangladesh and Comfosys Ltd. is one of them. In principal, Comfosys Ltd. is one of the largest software firms. Comfosys Ltd. are one of the largest outsourcing companies in Bangladesh. Their business is in the International market all over the world. Comfosys Ltd. is an offshore production facility providing digital, print and Software development services to advertising agencies and brands. In this chapter I described about the company overview, culture, business as well as all other information. 2.2 History of Comfosys Ltd. In the beginning of 2012, started Comfosys Limited which is an emerging software company which is established with a view to serving the organizations which are trying to take their business to the next level through automation. 2.3 Vision, Mission & Values Vision Our vision is to be one of the worlds most advanced offshore facility in studio services and software development in the advertising & marketing arena. Our goal is to achieve supreme quality in our techniques of work because we believe it is the key to earn our clients’ enthusiasm through continuous improvement driven by the honor, goodwill, teamwork and innovation of our people. 5 Mission Simplify Simple ideas, simple executions, simple reporting, - We believe “Less is more” Inspire Take initiatives! Bring in new ideas! Do things differently! Take action! Respect Your culture, colleagues, customers, families and your selves Values Customer Satisfaction is permanent to business success so they strive to exceed customer expectations. Comfosys Ltd. is result oriented so they seek continuous improvement through aggressive, attainable goals. They are committed to innovation because innovations can transform the way our customers do business. Great teams build great companies so they seek to attract, develop and retain leading talent. Comfosys Ltd. aspire to lead by setting the standards that others emulate. They are honest and fair in their dealings with customer, partners, shareholders and each other. 6 2.4 Comfosys Ltd. at a Glance The Comfosys Limited is formed with a vision to set a new standard in the software service. In the world of software industry where clients are always annoyed with amateur and irresponsible dealings, we are providing the guarantee of professional and global standard service and support. We have a team of highly skilled and motivated IT professionals who are always ready to deliver the tailor made product that will fit for business. We maintain the Software Development Life Cycle (SDLC) and proper documentation to ensure the quality of the product and transparency. 2.5 Organizational Structure Comfosys Ltd. closely follows the matrix organizational structure. In this type of structure, people with similar skills are assigned to appropriate tasks. Each employee under this structure may be under one or more supervisors in different projects which will best serve the organization. For example, in a matrix organization, all engineers maybe assigned to different projects and work under different managers, but depending on circumstances, they may work in the same project and report to same project manager. Additionally, Comfosys Ltd. is a flat organization. In this type, few, or no level exists between employee and their manager. As a result, skilled employees can more easily pose their opinions and can be involved in the decision making process. Each team is led by project manager. The whole company is led by the managing Director. There are several departments and each department is led by the specific director of the department. Roles of each department is dedicated by the following designationHead of the company: Managing Director HR Department: HR Manager Coordinator – Talent Management Senior Executive Talent Junior Executive, Compensation and Performance 7 IT Department IT Director Network Administrator IT support Engineer Finance Department Director Finance & Admin Finance Manager Finance Executive Online Department Director Digital Production Senior Project Manager Project Manager Team Lead QA Team Lead Web Developer QA Engineer Offline Department Director Print Production Senior Project Manager Project Manager Team Lead Desktop Publisher Development Department Development Director Development Manager Project Manager Team Lead QA Team Lead System Developer (Senior, Junior) QA Engineer The following diagram will help readers understanding the organizational responsibility delegation structure- 8 2.6 Technical Capabilities of Comfosys Ltd Comfosys Ltd. use different tools and technologies for doing different tasks. Some of these are mention below in the table. Operating System Project Management Analytics Ad Serving platform CMS &Framework Scripts Animation Desktop Publishing Web Design Mac OS, Windows BrandShare, Basecamp, JIRA, MS Project 2010, MS Visio 2010, Office 2010 Google Analytics, Adobe Site Catalyst Double Click, Mediamind, MOJO, CBSi Open Text, Vignette, Expression Engine, Codeignter, Drupal, Magento, Wordpress HTML, XHTML, HTML5, CSS 2 &3, Action Script 2 & 3, PHP, My SQL, Jquery, Java Script Flash Photoshop, Illustrator, InDEsign, Fireworks Dreamweaver, MS Frontage, Visual Studio Table 1: Technical capabilities 2.7 Technology Used by Development Team Comfosys Ltd.development product lineups are based on Microsoft Based Operating System platforms and Microsoft Technologies. Current flagship products of Comfosys Ltd. are web based but they are gradually moving its products lineup to desktop based and mobile apps while keeping its web based customers satisfied too. Their current development project is trustpilot which is maintained by the root company trustpilot located at Denmark. Here, I have described some technologies those are used by the development team. Operating System Software Development Platform Web Development Framework Programming Languages Scripting Languages Database Server IDE Windows .NET Framework ASP.NET, ASP.NET MVC4, ASP.NET API, REST, API, ADO.NET, BootStrap, Foundation C#.NET, Python HTML5, CSS3, Java script, Angular JS, Node JS, Jquery SQL Server 2008, 2012 Build and Run Tool Visual Studio 2013, NetBeans, Dreamweaver , Selenium Webdriver (Selenium 2.39.0), AutoIt V3, Chrome Driver Server for Selenium, Google Developer Tools NUnit Test Adapter V1.0 Version Controlling Project Management Software methodology Internal Communication Git Repository Trello Board Agile model – Scrum Process BDIT, Microsoft Outlook Table 2: Technology for development team 9 2.8 Product & Services Web Design: We design professional, easy to read, easy to navigate and custom websites that fit you and your business's personality. Integrated CRM: Provide better customer service, cross-sell and up sell more effectively and provide products or services that your customers really want with our integrated CRM solution. Smart Accounting: We endeavor to remove the stress and hassle of dealing with the day to day accounting affairs of your business. Business Automation: We are here to blend your business with the right amount of technology through the business process automation. Advanced ERP: whatever your industry, our ERP solution can help you to cut costs, improve operational efficiency, and make smarter decisions—faster. Call Center Solution: Deliver a superior customer experience that builds value and develops long-term customer relationships with our Call Center Solution. Rules and Regulations 2.9 Work Hour Factors Working hours: It is determined according to the production plan. Since we are a project oriented company, it is expected, according to your contract you may occasionally have to take on extra work if necessary to meet the deadlines. Unless agreed otherwise with the department head, we expect you to utilize the working hours effectively. Working overtime: As an employee of this Company, you are obligated to take on overtime (if required); to participate in meetings / courses as well as other business related issues outside office hours. Overtime pay is applicable to employees as per the employment contract. 10 2.10 Green Environment This office is YOURS! It is where YOU spend the most time of your daily life. Why not love it enough to keep the office clean? If you see any garbage, paper, etc. lying around please take a moment to dispose it to make it a better place for you and your colleagues to have a pleasant work day. Washroom and toilets are shared properties, meaning everyone needs to use it. So why not make it our responsibility to use it in a clean and hygienic way so that others can use it as well? Let’s remember to put ourselves in our colleague’s shoes in order to be the best judge, e.g. if you don’t like the washroom dirty then don’t expect others to like it either, you should take the first step to keep it clean so others can follow this good practice and keep it clean for yourself and others. Workstation is a place of productivity and creativity; it is a window for others to get a glimpse on you, so why not keep your workstation neat and tidy? Pantry/canteen is where you refill your energy to work effectively, so after you’re done why not keep it clean and pleasant for others to do the same?! Copy/Scan/Fax facilities are provided for your operational smoothness, why not be a responsible and conscious employee by keeping the facilities functional and usable for others as well? Be a part of the Company green movement where we avoid wastage of any kind, whether it is food, paper, ink or electricity! o Paper movement: o Double checks before you print, so you can avoid unnecessary printing! This will help reduce shredding! Remember to always recycle! Energy movement: Turn off the appliances you don’t require such as, your phone charger, desk light, washroom lights, etc. Don’t keep the water tap running when you’re not using it Use the hand drier whenever possible instead of wasting paper towels 11 2.11 Communication Policy 2.11.1 Policy We have a three-thumb-rule communication style and we call it 121 which are: Plain- We communicates in a simple manner to understand better what is required of us. Direct- We just talk it out openly with the necessary person to make the best of use our limited time, avoid confusions and eliminate unnecessary detours. Informal- We keep it casual yet respectful! As part of the 121 Policy we heavily emphasize on and practice “Open Door Policy “where the Management is always available to hear about your side of the story. If you have any kind of suggestions, comments or issues, which you cannot discuss with your colleagues or immediate supervisor due to the nature of the matter, feel free to talk to your Directors and/or your HR Team. For example, if your Team leader is biased towards your team member and you have some ideas you think your team leader will not appreciate, then approach your Directors or HR Team about your ideas and regarding anything you feel is unfair. 2.11.2 Internal Communicator Intranet Our local information system-BDIT and it is our information bank. We use it for internal communication and to exchange of all kinds of important information. The idea is to provide you with all kind of information you need in one particular area, so to give you an idea here are some of the things you can find in BDIT: All WPP and Company Policies Full list of all the members of the Company community in Dhaka A complete in-house telephone directory 12 2.11.3 External Communicator In considering “Communication” we are referring to all means and mechanisms of communicating information both within the Company, Group and externally to existing and potential customers, regulators, share owners, government and non-governmental organizations, the media and to the public at large. There are various kinds of communication media such as, Press, E-mail, and Social Media. Below are some strict guidelines which need to be followed for all forms of media: Employees are advised to be professional and respectable when carrying out communication on behalf of the company and or Group. Stakeholders’ confidentialities are of utmost priority which needs to be maintained at all time. It is prohibited to access, show, save, copy, print or pass on offensive material, i.e. especially material with insulting, slandering, obscene, punishable or discriminating contents. Any company related comments and statements to the Press are to be approved by the management beforehand. In case of an announcement of any decision made which may have an impact on WPP and its market, it must be checked with the WPP Communications Director prior to release. For thorough understanding of all implications of Communication, please refer to the Communication Policy provided in the appendix, section-2 (provided at the end of the handbook). 2.12 Fun Activities & In house Committees Employee Volunteering Volunteering is about coming forward for a special cause, to create a good impact in the environment you live in. We urge everyone one of the Company to be active and aware about the things happening in our surrounding so that together we can create a good society starting from our workplace. We highly encourage voluntary participation in social causes. Sports Fitness and fun are intertwined and we promote this combination here. Periodically there are sports events organized such as, inter-team tournaments and you are encouraged to participate! Staying fit and healthy will not only make drive your energies higher. 13 Celebrations We like to celebrate the special moments of each of our colleagues, because we care! The purpose is to make sure the special occasions of all our team members are celebrated. The following events are all handled by the Celebrations Committee: Birthdays Farewells Weddings and Newborn We also have other fun annual programs as part of the Company’s annual programs; hence stay tuned for what’s coming up next! Buckle up and wait for your turn! 2.13 Employment Terms END OF CONTRACT Resignation Formalities To apply for resignation, member of the staff needs to give a notice of period mentioned in the employment contract to the Company. Accordingly, a resignation letter needs to be submitted via e-mail to the Department Director and Managing Director if the employee is in Comfosys Ltd. or to the Development Director if the employee is in datacom.net . In both cases HR Team needs to be in “CC”. The Company will then take necessary measures to release the employee of his/her duties. However, resignation in any other situation will be handled under management discretion. In case of a breach of contract by a member of the staff, Management may penalize the employee for the number of days in short of the specified notice period in employee’s contract. Dismissal Formalities The Company has the right to dismiss its member of the staff due to deteriorating performance or as a disciplinary measure. Dismissal is processed according to employment contract and is approved by Managing Director. If the Management sees fit, the employee may be given a chance to improve their situation (in performance, behavior, etc.). If there are no improvements, then the employee will be released of his/her duties and the Company may either provide notice period as per the employment contract or compensate for it with salary equivalent to it. 14 Severance Formalities The company reserves the right to dismiss an employee under the following situations: Loss of business/ client Loss of market share/revenue/profit Change in economic scenario In such case the company may provide notice of the period mentioned in employee’s contract; or may compensate for the notice period mentioned in employee’s contract with salary equivalent to it. 2.14 LEAVE Leave Entitlements You are also entitled to: 26 days of Annual leave during one entire fiscal year (Jan-Dec). Leave is calculated on pro-rated basis according to the time of the year you have joined. All Leave is subject to approval of management As we have teams dedicated to cater to various countries, we follow country-specific holiday schedule; hence we do not follow the Bangladeshi holiday list. Additionally, you are entitled to: ½ day every ½ year to go to the doctor or dentist 1 day off if relocating Leave Encashment In addition to the above leave facilities, you are eligible for the encashment of your unused leave of up to 14 days and you can avail this facility at the end of each business year. Annual Leave Application Procedure All leaves are subject to Management approval. Application for Annual Leave must be through the Leave Management System on HR and Finance System after approval from your respective Manager. For leave, above five (5) days, prior to application, at least four (4) weeks’ notices should be provided, and in case of leave under five (5) days, 15 Sick Leave Your team needs you! But if you are unable to report to work due to illness you must inform your respective Managers within the first two hours of your shift. This must be practiced to enable your team to function smoothly. Management may review the health documents upon necessity to validate the leaves. If the sickness continues for more than three (3) consecutive days, proper doctor’s note and necessary health documents must be provided for verification. In case of more than fourteen (14) days of absence, Company has the right to cross check with the medical institution and or doctor for validation purposes. Moreover, if the illness exceeds a total of one (1) month, the salary may be on hold till the Employee resumes work in the Company. However, it can be extended up to 120 days during a period of twelve (12) consecutive months upon Management discretion, but the Company can dismiss the employment with one month’s notice at the end of ninety (90) days given that the Employee is unable to resume work after 120 days. Maternity / Paternity Leave Employees are entitled to take Maternity Leave up to six (6) months and Paternity Leave up to ten (10) days. Along with maternity leave, the company provides salary compensation according to the following guidelines: All leaves are subject to Management approval Maternity leave cannot be extended by adding annual, medical or sick leave. Maternity leave will be granted to employees only twice during the entire period of their service with Company given that it does not occur in two consecutive years. For example, leave-1 in 2010 and leave-2 in 2011 will not be allowed. If such an event occurs then it will be allowed as a non-paid leave in order to protect and meet the Company’s productivity target efficiently. 16 2.15 Company Benefits We have plenty of exciting benefits lined up only for you! And all you have to do is JUST: Embrace the Company as your family because we care about YOU like none other! And enjoy all your benefits such as: Provident Fund, Medical Benefit, Group Insurance for Life & Hospitalization, Leave Encashment, Transportation & Conveyance, Vaccination for Hepatitis A & B, Food & Beverage facilities and Training! Employee Provident Fund 10% of your basic salary every month will be deposited in your dedicated provident fund account. In addition to that, this amount will be matched by the Company and deposited in the employee’s provident fund account every month. This fund is solely maintained by a Board of Trustees who is members from both the parties: employees and employer. The key guidelines of provident fund are as follows: 10% of your basic salary is deducted every month. The company will match the amount. This money is then put into an account and collectively invested. If you have five (5) years of confirmed service with THE COMPANY, then you are entitled to 100% of your own contribution and 100% of company’s contribution along with other benefits. In case of confirmed service for less than five (5) years, then you are entitled to self and company’s contribution including interest at the following rates: o Service less than two (2) years, 100% of own contribution and 0% of company’s contribution & benefits. o Service over two (2) years but less than three (3) years, 100% of own contribution and 25% of company’s contribution & benefits. o Service over three (3) years but less than four (4) years, 100% of own contribution and 50% of company’s contribution & benefits. o Service over four (4) years but less than five (5) years, 100% of own contribution and 75% of company’s contribution & benefits. 17 Medical Fund We have a medical fund facility set aside by the Company, where amount equivalent to 4% of your gross salary is deposited. Therefore, you can use the fund for yourself and your direct dependents. Moreover, in order to claim for the medical expenses, you must provide valid medical documents to the Finance & Admin Department for verification. The time taken for the claim approval may vary from one-three weeks depending on the situation. Group Insurance for Life & Hospitalization You are applicable for Group Insurance for Life & Hospitalization effective from the day you join! You can access the Insurance Form from BDIT. Apart from the employee him/herself, their spouse and up to second child are also eligible to the hospitalization insurance. Once you settle down, submit the following documents to HR within one (1) days of your joining: Insurance form Passport size photographs of your dependents The HR Team is responsible to carry out the necessary processes, so get in touch with them with for further information! The details of your insurance coverage are given below: Maximum hospitalization per insured per disability: BDT 2,00,000 Except suicide, aids and aids related diseases. Daily Room limit BDT 3,350 (total maximum BDT 80,000) ICU limit 14 Days Hospital service/surgical/anesthesia maximum BDT 120,000. For Maternity [Normal BDT 15,000, Cesarean 22,500, miscarriage/legal abortion BDT10,000] Preapproval is must for Non-Emergency Hospitalization. Approval is must for Emergency Hospitalization. Call or SMS to the HOTLINE 01713 043043 for preapproval/approval. A list of enlisted hospitals is archived in BDIT. In case of listed hospital please show your gold card. In other case you can claim through your finance department. You can collect the claim form from BDIT. 18 Transportation & Conveyance Every one of you at the Company is entitled to receive conveyance allowance in addition to Gross Salary. The designated amount is added to your salary each month. Also, if you have shifts after 8 P.M and before 7 A.M, then we will provide you with transportation for the necessary route. In absence of office provided transportation during the odd shifts you are entitled to reimburse the conveyance bills at actual subject to the approval of your manager. Food & Beverage Facility No members of the Company will ever go hungry! Because we provide fully subsidized food, which is served at the canteen considering the various shifts each member is working in. Additionally, the canteen offers a selection of bread and cookies at all times and microwave ovens are available at the pantry in each floor. Everyone is responsible to help themselves to make coffee, tea, etc. and therefore, you must execute self-service for anything you need. Moreover, leftovers from lunch are stored in refrigerators, so if you’re working late, you may often find food available to meet your hunger. Training You are our most valuable assets of the Company and in order to create a sustainable future for you, we emphasize on your career development. Therefore, as an employee of this Company we expect you to take advantage of such career enhancing facilities. So get in touch with your department heads once you settle down, and communicate about what you want to learn and what development programs you would prefer. Accordingly we can arrange for adequate trainings. After completion of training, you should have a feedback session with HR, your team and respective Managers to discuss about your learning and challenges. 19 3 Chapter: Software Development Process at Comfosys Ltd. 3.1 Introduction Comfosys Ltd. maintain win-win relationship with its customer. Hence, customers are winner when products and services provided to customers are completely bug free, offers great user experience and satisfy all the requirements customer expected. Meanwhile, Comfosys Ltd.is winner when its products and services are developed and delivered to customers within estimated financial budget and deadline. However, those products and services must be developed in such a way so that it is well maintainable and extensible. Throughout my industrial attachment, I have experienced and practiced how the development team of Comfosys Ltd. develops and maintains its products and services so that their win-win relationship model with customers prevails. This chapter reflects on how Comfosys Ltd. practices Software Engineering processes and what i followed during my internship period, described from my experience. 3.2 Software Development Process 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. There are different software development models, 1. Waterfall Model 2. Spiral Model 3. Iterative and Incremental Model 4. Agile Model Amongst these models, Comfosys Ltd. follows agile model in their product development phases. There are several methods in agile methodology. From these, Comfosys Ltd.follows Scrum Process. Besides these they are looking forward the Kanban model under the agile model. These all the described in the below. 20 3.3 Scrum Model Scrum is an agile way to manage project, usually software development. Agile software development with scrum is often perceived as a methodology, but rather than viewing scrum as methodology, think to it as a framework for managing a process. I was assigned in the TrustPilot team which follows the Scrum model, so i am describing the Scrum model as well as i followed in my work. Figure 1: Scrum model Scrum roles In a scrum process, it has several roles and the relationship among these roles is easily defined and very clear cut and simple. The main roles at trustpilot team is Scrum Master Product Owner Development Team QA Team Project Manager 21 Scrum Master Responsible for coaching and guiding the team, creating a trustful and inclusive environment, facilitating team meetings and negotiations with the product owner and removing team and organizational impediments. In our team the at the very beginning scrum master meeting with the product owner about their requirements, then he defines task for each team member. Product Owner Product owner is the final authority on the requirements for the product. Responsible for the product vision and improving return on investment. They manage the end user and stakeholder expectations, prioritizing the product backlog, release planning and providing clear and testable requirements to the team. They collaborate with the team, end users and stakeholders ensuring that the goals are met and they accept the software at the end of each sprint. In this project trustpilot is the product owner. Before each sprint a representative from Trustpilot Company discuss with our scrum master to assigned a module and define the deadline. Development Team Each member of a development team is very important resources. They do the assigned work that is defined by the scrum master. Every day the get feedback in the time of scrum meeting and give update to their progress. If any of the team members fail to understand any portion other member helps him to overcome this. QA Team The QA a team tests a module before delivering it and ensure the quality of the product. In our team QA team work in the last moment of a sprint. Project Manager Who manages the whole team and help the scrum master how to assigned a sprint and how easily a module can complete. Scrum Process Scrum projects make progress in a series of “sprints”. The target duration is dynamic, it depends on the size of a product backlog. Product is coded, and tested during the sprint. The scrum process follows the following steps Sprint Planning Meeting Sprint Scrum Meeting Sprint Review Meeting 22 Sprint Planning Meeting A collaborative meeting in the beginning of each Sprint between the Product Owner, the Scrum Master and the Team. During the sprint planning meeting, the product owner describes the highest priority features to the team. The team asks enough questions that they can turn a high-level user story of the product backlog into the more detailed tasks of the sprint backlog. The meeting is organized into two parts- First part- The participants of the meeting are scrum master, scrum team and product owner. In the meeting the creation of the product backlog and determine the sprint goal. Second Part - The participants of the meeting are scrum master and scrum team. In the meeting they discuss about the distribution of the work and create sprint. Sprint A long iteration, during which is incremented a product functionality.NO outside influence can interference with the Scrum team during the Sprint. Each Sprint begins with the Daily Scrum Meeting. Before starting a sprint the scrum master assigns work each of the team member. Scrum master makes the sprint backlog visible by putting it on a Scrum task board. Team members update the task board continuously throughout the sprint; if someone thinks of a new task, she writes a new card and puts it on the wall. Either during or before the daily scrum, estimates are changed (up or down), and cards are moved around the board. We use Trello Board for maintaining our work. Here is a screenshot of the trello board. Figure 2: Trello Board 23 Scrum Meeting In scrum, on each day of a sprint, the team holds a daily scrum meeting called the "daily scrum.” Meetings are typically held in the same location and at the same time each day. Ideally, a daily scrum meeting is held in the morning before starting work, as it helps set the context for the coming day's work. These scrum meetings are strictly time-boxed to 15 minutes. This keeps the discussion brisk but relevant. Team members give update their work and discuss about the problem if anyone face. It’s a good way for a Scrum Master to track the progress of the Team. Sprint Review Meeting In scrum, each sprint is required to deliver a potentially shippable product increment. This means that at the end of each sprint, the team has produced a coded, tested and usable piece of software. So at the end of each sprint, a sprint review meeting is held. During this meeting, the Scrum team shows what they accomplished during the sprint. Typically this takes the form of a demo of the new features. The sprint review meeting is intentionally kept very informal, typically with rules forbidding the use of PowerPoint slides and allowing no more than two hours of preparation time for the meeting. A sprint review meeting should not become a distraction or significant detour for the team; rather, it should be a natural result of the sprint. Participants in the sprint review typically include the product owner, the Scrum team, the Scrum Master, management, customers and developers from other projects. During the sprint review, the project is assessed against the sprint goal determined during the sprint planning meeting. Ideally, the team has completed each product backlog item brought into the sprint, but it's more important that they achieve the overall goal of the sprint. 24 3.4 Development process in Scrum Model Comfosys ltd. follows some procedures for enhancement, development and bug fixing. Any complaint regarding software’s bug problem or client requires any kind of enhancement; the respective project manager gets the task order. From that stage up to the release of the enhancement or bug fixing installer, the following steps are maintained, Task Repository In this stage, tasks are defined by stakeholders and some user stories are created by the team. All the tasks are available in the repository. Sprint Phase In this phase sprints are created from the user story and defined in the task board. Before starting the task, the analyst reviewed the challenges and will find out the impact. Then he filled a template named impact analysis document. For each impact analysis, there will be a task id. The impact analysis is needed on the time of releasing the software. Task Allocation Using the Trello Board, the scrum master generates an order id against the task. Then he submits the task to the developer (s). The concern developer then starts that task by entering his actual start date. The whole procedure is done using trello board which is connected to each other by LAN connection. Developing After approving the estimated bill by the client, the developer starts coding. To solve any problem the developer may use existing function and modules. Each and every process maintains certain methods and the coding standard are strictly followed. Code Review After completion of the task, the newly developed code is reviewed by another experienced developer. Sometimes Peer Review is also done. Finally the Project Manager checks the code again. Team Test The next phase is testing. Tester has to prepare Test Specification first. Based on that specification, tester does extensive testing. The output is then documented in Test Result. At first the tester team tests the each module in the development environment to build the project. Then it is preceded in the staging environment to get ready for staging and in this stage they approach for integration test. 25 Ready for release After completing the all test the module are ready for release towards the master environment. In this master environment all the modules are merged by manually. Released When the enhancement or bug fixing is completed, passed in testing phase and the code is reviewed, then the concern developer creates a release document. Then the entire developed module is forwarded to the team city server. Finally, the product is released from the team city server which is in the master or product environment. Task Repository Sprint Phase Task Allocation Team Test(QA) Code Review Development Ready for Release Release Figure 3: data flow of scrum model 26 3.5 Kanban Model Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see and team members pull work from a queue. Kanban in the context of software development can mean a visual process management system that tells what to produce, when to produce it, and how much to produce inspired by the Toyota Production System and Lean manufacturing. Kanban is also an agile process and it’s a automated system. So, Comfosys Ltd. is looking forward on the KanBan Process. The Kanban method is rooted in four basic principles: Start with what you do now Agree to pursue incremental, evolutionary change Respect the current process, roles, responsibilities and titles Leadership at all levels Kanban Method's six core practices There are five core properties that had been observed in each successful implementation of the Kanban method. They were later relabeled as practices and extended with the addition of a sixth. 1. Visualize The workflow of knowledge work is inherently invisible. Visualizing the flow of work and making it visible is core to understanding how working proceeds. Without understanding the workflow, making the right changes is harder. A common way to visualize the workflow is to use a card wall with cards and columns. The columns on the card wall representing the different states or steps in the workflow. 2. Limit WIP Limiting work-in-process implies that a pull system is implemented on parts or all of the workflow. The pull system will act as one of the main stimuli for continuous, incremental and evolutionary changes to your system. 27 The pull system can be implemented as a kanban system, a CONWIP system, a DBR system, or some other variant. The critical elements are that work-in-process at each state in the workflow is limited and that new work is “pulled” into the new information discovery activity when there is available capacity within the local WIP limit. 3. Manage flow The flow of work through each state in the workflow should be monitored, measured and reported. By actively managing the flow the continuous, incremental and evolutionary changes to the system can be evaluated to have positive or negative effects on the system. 4. Make policies explicit Until the mechanism of a process is made explicit, it is often hard or impossible to hold a discussion about improving it. Without an explicit understanding of how things work and how work is actually done, any discussion of problems tends to be emotional, anecdotal and subjective. With an explicit understanding it is possible to move to a more rational, empirical, objective discussion of issues. This is more likely to facilitate consensus around improvement suggestions. 5. Implement feedback loops Collaboration to review flow of work and demand versus capability measures, metrics and indicators coupled with anecdotal narrative explaining notable events is vital to enabling evolutionary change. Organizations that have not implemented the second level of feedback - the operations review - have generally not seen process improvements beyond a localized team level. As a result, they have not realized the full benefits of Kanban observed elsewhere. 6. Improve collaboratively, evolve experimentally The Kanban method encourages small continuous, incremental and evolutionary changes that stick. When teams have a shared understanding of theories about work, workflow, process, and risk, they are more likely to be able to build a shared comprehension of a problem and suggest improvement actions which can be agreed by consensus. The Kanban method suggests that a scientific approach is used to implement continuous, incremental and evolutionary changes. 28 Kanban Work Process Kanban process is almost similar to scrum process but it is fully automated system and faster the scrum process. For distributing the task and continue the flow the process use their own developed task board which one is KanbanFlow. Here is a screenshot of the board- Figure 4: Kanban task board Kanban follows several steps at the time of developing. These steps are Gather requirements from product owner and create user stories and store in the product backlog phase Define sprint based on user stories and store in the second step Sprint on progress that is on developing Ready for pre QA in the development environment Final QA in the staging environment and ready for final QA test Ready for released in the master which is master city server In the master city server all the products are merged and ready for final released If any system failed then it moves into the next sprint and allocate extra resources The whole system is fully automated. No one need to roles as scrum master which is on scrum process. In the second step, the tasks are defined in a small feature in chocolate box. Developer can 29 choose feature based on their expertise and one he choose his expertise part, in the next time, if the system finds any slot blank, it allocate task automatically. Every step of the system is automated without the primary step. Here is a work flow diagram- Product Backlog Pre-QA (Developing Environment) To-Do (Sprint) QA(Staging Environment) Task In Progress (Developing) Released On Master Ready for Release Figure 5: Kanban Workflow 30 4. Chapter: Training 4.1 Introduction In simple terms, training and development refers to the imparting of specific skills, abilities and knowledge to an employee. A formal definition of training is “It is any attempt to improve current or future employee performance by increasing an employee’s ability to perform through learning, usually the changing the employee’s attitude or increasing his or her skills, abilities and knowledge. The need for training is determined by the employee’s performance deficiency.” Comfosys Ltd. want their employee as productive and more efficient in every section of their development as well as for make sure the green environment in the workplace. They provide more opportunities for their employee. If they find anyone is unable or weak in any subject they arrange training for him or her. As, i was a fresher and before that i never works in any organization, so they provide me more opportunities to make myself as a proper industrial person. They arrange several training program for me to teach some development methodology and technology that is followed by the company. The trainer was my supervisor. He is a very experienced person and he is working for 13 years in the development field. So, all the trainings were very helpful me and i have learnt a lot of new things and technique. In the next section i described these training briefly. 4.2 Training Description I have got several training during my internship period. I got both Technical and nontechnical training. These are described in the below. 4.2.1 Non-technical Training These trainings are mandatory for every employee of Comfosys Ltd.. To ensure the green environment in the workplace, rules and regulations of using the resources. These are very important for any large company like Comfosys Ltd.. I got training on Ethics Policy IT Policy WPP Policy 31 Ethics Training The training was organized and trained by the HR department at the very beginning of our internship period. In the training, i have learnt the following code of conducts. Anti-Bribery & Corruption Policy Advisor Payment Policy WPP Codes of Conduct Social Media Policy In the second chapter, i have described about the code of conducts that is mandatory for every employee is taught by Ethics training. IT’S Policy The training was organized by IT Department and trained by the director of IT Department. In the training i have learnt the rules and regulations of using the resources. Here is a lot of limitation of using the resources but they provide all the opportunities that should be managed by a formal way. The Policy i learnt in this training is mentioned earlier in the chapter two in the section of IT Policy. 4.2.2 Technical Training I got many technical training during my internship period. Because, this is the main focus of internship program. All the training was trained by my supervisor. These all are described in the below. 32 Software Development Methodology Every software development company follows a software development life cycle. Comfosys Ltd.follow Scrum Process from Agile Model. In the chapter of Software Development Methodology I have described the full description of Scrum process how Comfosys Ltd.follow it. That i achieved from this training About Agile Methodology : How it works Scrum Process : When an software company follow this model Role of Scrum Master Role of Product owner Role of team member how to make a scrum team How to manage the task : Using task board (like Trello Board, KanbanFlow) What is product backlog and sprint backlog what need to do when a sprint fail to complete the task within the defined period How to work in a collaborative team Attending the daily scrum Frontend Development At the very beginning i got training on frontend development. HTML5 & CSS3 Responsive Web Design & UX Semantic - UI Bootstrap JavaScript & JQuer4.3 Analysis 33 How training benefits the organization Leads to improved profitability and more positive attitudes towards profit orientation. Improves the job knowledge and skills at all levels of the organization. Improve the moral of the workforce Helps people identify with organization goals Helps create a better corporate image Fosters authenticity, openness and trust Improves relationship between boss and subordinate Aids in organizational development Learns for the trainee Helps prepare guidelines for work Aids in understanding and carrying out organizational policies Provides information for future need in all areas of the organization Organization gets more effective decision making and problem solving skills Aids in development for promotion from within Aids in developing leadership skills, motivation, loyalty, better attitudes, and other aspects that successful workers and managers usually display Aids in increasing productivity and quality of work Develop a sense of responsibility to the organization for being competent and knowledgeable. 4.4 Conclusion Training is very needed for every employee of any organization. Only training can make an employee productive and turn into positive attitudes. So, I am happy to get those trainings. 34 5. Chapter: Project Involvement 5.1 Introduction Comfosys Ltd. is a product based software organization. To ensure total quality of software development process, Comfosys Ltd.has dedicated department for each mainstream products. Consequently, these departments are named after the product too such as - Nokia team, Dell publisher Team, TrustPilot Team. I was assigned to the TrustPilot team but i was not directly involved with their live projects because the limitation of some It Policy of the company. The project i was involved HR & Finance Management, this was their internal project. Although, they have the project but it is not well organized and many limitations in functionally. 5.2 Meet My Team I was assigned to the comfosys team. There are 21 members in this team. The team is divided into two parts- The Avengers - Backend Developer and Samurai- Frontend developer. They all are involved in the trustpilot project that is maintained from Danish Company comfoysy. They are the main client of the project and all the time here is a representative from the main company. Our development manager manage and coordinate here. 5.3 The project i involved As i mentioned early that i was not directly involved with their live project. I am involved in an internal project titled “Website for student association ”.. The project is supervised by Iftekhar Alam, CTO of comfosys Ltd. 5.4 Overview of the project Human resource management (HRM, or simply HR) is a function in organizations designed to maximize employee performance in service of their employer’s strategic objectives. HR is primarily concerned with how people are managed within organizations, focusing on policies and systems. HR departments and units in organizations are typically responsible for a number of activities, including employee recruitment, training and development, performance appraisal, mange leave; manage attendance and rewarding (e.g., managing pay and benefit systems). HR is also concerned with industrial relations, that is, the balancing of organizational practices with regulations arising from collective bargaining and governmental laws. 35 Most of the company maintains the HRM department manually by paper work. If the number of employees is so many like more than two hundreds, it’s really very difficult to maintain a huge people by manually. That’s why it’s necessary to automate the whole HR & Finance Department. So, the HR & Finance Management is like a project that automates the HR & Finance department to maintain their work. The module and developing procedure are describing in the below. 5.5 Module of the project 1. Organization Management Calendar and Holiday Project Management Team Management Event Blood Bank 2. Leave Management 3. Attendance Management 4. Employee Management 5. Profile Management 6. Ticketing System 7. Application Management 8. Performance Evaluation 9. Report Generate 10. Training 11. Recruitment 12. Medical Bill 13. Conveyance Bill 14. Finance Account Pay Salary Advance Salary Loan Provident fund 36 5.6.1 Organization Management HR & Finance Management is an automation system that manages different system. Organizational management is such a module of the project by which HR can manage the following system. Calendar and Holiday Project Management Team Management Event Blood Bank Functionality of the features are Every user can see the company calendar with holidays Admin (HR) can add holiday in the calendar Manage working days by changing it to weekends or public holidays. In project management admin can create a new project Assign team members Set the time line and keep track and progress of the project Edit and modify the settings of the project by discussion Create new team Manage team, modify team, add team member if needed In event feature Admin can add a new event Blood Bank feature provides an opportunity to keep track of the update of blood donation If anyone needed blood he can easily manage available blood via the blood bank feature 5.6.2 Leave Management The leave application and approval process can be maintained through this module. Anyone can apply for leave using the apply form and the application will automatically forwarded to his respective supervisor. If supervisor approve the leave then it will forwarded to the HR manager for final approval. The features are mentioned below37 Show status of previous leave Show the calendar with holiday Show the leave status by progress bar Apply for leave Approve Leave Leave applications are processed by supervised 5.6.3 Attendance Management Managers may manage their Staff by project, Department or Area. Attendance information is updated automatically according to attendance time and authorized leave applications. One may rules to administer issues such as overtime, benefit entitlement and holidays based on corporate policies and regulatory requirements. The system manage the attendance through a third party device. FeaturesSeamlessly integrate 3rd party attendance devices to feed data into our system. Keep track of time through punch machine Calculate the total work hour If anyone does not complete the work hour consecutive three days, the system will give a warning message to the respective employee 5.6.4 Employee Management This module will help to keep track of the employee. Add new employee when an employee will join in this company. The feature are mentioned below List of all the employees View any specific employee to see his information (by admin) Filtering System by name or by department Add new employee keep track of the new joiner keep track of the reign employee 38 5.6.5 Profile Management Employee can modify his or her profile as they wish. In this section employee give his all information those are required by the company. The common features are Show the employee information Add and edit Personal information Add and edit academic and professional qualification Add and edit emergency contact Add and edit company related information Change password Change profile settings Change profile picture Update the entire information 5.6.6 Ticketing System This is a system to contact with the hr department by creating a ticket like message sending. In this system user will create a message by fill upping some specific field of a form. Then user can submit form and admin will reply the message to follow the next instruction. The main features of the system are Create new ticket Reply ticket and assign task to specific person Open and close ticket (admin) Show previous ticket status 5.6.7 Application Management In this system employee can apply for different purposes. The features are Apply for medical bill Apply for conveyance bill Approve application Keep track of previous status 5.6.8 Performance Evaluation Evaluate performance each of the employee and generate report. This evaluation will proceed by supervisor. 39 5.6.9 Report Generate Sometimes need some documented form like employee information, tax information, this feature helps to generate these form as documented form with the required information. Request for any information Generate personal information leave information full or by date 5.6.10 Training Training Modules helps user to plan yearly training need and manage staff training information. Features are, Set different Training and training category, training organizer, different types of training with unit cost and effective date of training. Plan required training of a staff. Manage staff training according to plan, training result & different type of training report. 5.6.11 Recruitment Management The recruitment module streamlines organization’s recruitment process with extensive functionality for employees and managers, with intuitive self-service functionality, the system allows managers to easily create and edit job requisition in the system. The system also also allows managers to view, collect and analyze interview and examination results by employees or by examinations. Features are, Create new jobs and store corresponding advertising information. Create recruitment references based on the advertisement and specify prerequisites with respect to the job adversities for. Setup examination with marking schemes for recruitment process. Set-up venue for examinations and store information related to viva examiners and create interview cards specific to any recruitment reference, Create short listed applicant’s database with applicant’s personal information. Manage pre-service training records related to applicants. 40 5.6.12 Medical Bill & Conveyance Bill Apply for those bills. Based on attached documents admin will approve those application. 5.6.13 Finance-Accounting module Accounting Module is delivered to give organizations the facility to perform accounting operation on the financial information (e.g. Salary, PF, Loan, Income Tax, medical bill, conveyance bill etc.) generated. Also this module gives privilege to the user to fit accounting data to other systems (e.g. banking system). Features are, Create account of an employee Create chart of account. Account number mapping. Generate voucher automatically. Voucher posting. Different reports on posted/un-posted voucher, trail balance, balance sheet, report to transfer financial data for other banking system like “flex cube”. 5.6.14 Finance - Pay Salary Module HR managers can gain a holistic view of their employee’s compensation packages. Managers can quickly access total compensation information for any of their employee groups including the categories of base salary, housing allowance, medical allowance, regular bonus, increments etc. Managers can also initiate salary changes either for individual employees or by group. Salary changes can be made at any time in the year – targeted review periods or simply ad hoc – based on the rules of your organization. Features are, Structure & manage salary according to staff levels, group staff. Use salary group facilities to define separate salary structures for staff at the same level. Define salary breakup as required and use this information to define salary structures. Define staff salary structure at any date and generate salary accordingly. Manage salary increment process. Generate monthly pay slip s according to staff attendance and leave status for all staffs that’s salary have been defined. Slips for bonuses may be generated automatically with respect to staff salary structures and may also be configured for festivals 41 5.6.15 Finance - Loan & Advanced Module This module has been made to manage company loans that an organization may offer its employees. Features are, Set-up loan types with customized interest calculation policies (simple or compound). Loan realization is done automatically according to installment amounts and automatic adjustments to salaries are made with a reflection of the transaction in the pay slip. 5.6.16 Finance - Provident Fund Module PF module handles all PF related activities and reduces overheads in the form of man-hours that are considered in managing provident fund related issues. The PF module has been built around company practices in Bangladesh and may be tailored to suit your business needs effectively. Features are, Setup members and nominees and specific shares of those nominees. Setup yearly interest rates for different quarters of the year to calculate interest of PF contributions. Store information on PF investments. Collect monthly PF contributions for all active PF members automatically or do the same for specific staff. . 5.6.17 Finance - Income Tax Management Module This module allows managers to reduce the significant expenses associated with completing tax calculations for their employees. It has been created with Bangladesh in mind and developments in local tax policy. The basic functionalities of the Bangladesh Income Tax structure have been incorporate while at same time retaining the functionality and flexibility that is necessary for provisioning and adjustments. Features are, Set-up year wise government income tax rules and calculation factors. Setup medical and investment contributions for yearend adjustments. Calculate monthly tax directly from monthly salary and reflect the adjustments in pay slips. 42 5.6.18 Settings This module provides a general settings system. user can customize the site by favorite theme and color and other things. Admin can change the name of the company and also can change the logo. 5.7 Tools & Technology Technology that is used to develop the project HTML5 & CSS3 Bootstrap JavaScript, Jquery ASP.NET MVC5 ASP.NET API C#.NET Tools used NetBeans Visual Studio 2013 SQL Server 2012 For Project Management Trello Board Version Controlling GIT 5.8 My Contributions I have done the following features Organization Management o Project Management o Team Management o Event o Holiday & Calendar o Birthday Event o Blood Bank Leave Management Attendance Management Recruitment Management o Post a job 43 5.9 Completed task & Running task I have completed the frontend design part of the full project with my team members. Now, I am working with the backend development with my team members. 5.10 Conclusion In my whole internship program this project was the most challenging and interesting part. All the idea and activity was new to me. Now I have learned a lot of new topics on backend development in .NET framework. 44 6. Chapter: Self - Evaluation 6.1 Introduction Internship program provides a chance to the students to implement the theoretical knowledge in the tough real world environments. This internship program in 12th Semester arranged by Electronics & Telecommunication gives a chance to implement the theoretical knowledge which has been learned last 3.8 years. This is a new experience which provides the opportunity of self-assessments. Self-evaluation can generate a result to compare my own performance appraisal. Every students can identify the area of strength and the point where (s) he would improve in future life by this internship program. The self-evaluation carried out based on the tasks assigned and the tasks completed at the workplace. This evaluation also focused on my extra learning activities and research fields. The providing results are backed up with proper examples of mentionable instances. 6.2 Attitude Score: (5) Very Enthusiastic I have demonstrated high levels of professionalism during my internship period. In Comfosys Ltd. both physical and verbal communication are strictly monitored and that will create a vast effect on annual or monthly Key Performance Indicators (KPI). The professional environment of this company increased my attitude and professionalism. Before starting this internship program I was positive attitude but not proactive. But after this internship program I have improved my positive attitude and be a proactive person in my team and activities. I have not only done the assigned tasks but also show extra activities and proposed my new ideas in team meetings, that’s why my team leader and reporting person provided maximum KPI among all the team members. 45 6.3 Ability to learn Score: (5) Learned and implement perfectly I am always sincere to learn the necessary tools and new technologies that were needed to overcome the implementation challenges and complete the assign tasks. This is a great place to learn the new technologies. I was assigned to several tasks related to software development. Although, I have conceptual ideas about those tasks, I had no working experience with those tasks. However, I managed to learn those works quickly and completed many tasks before deadline. I successfully finished the work even before the deadline. It not only denotes that I can work extremely fast but also shows the evidence that my cognitive skill is really good. In this internship period, I have done a project on bootstrap, javascript, jquery and learn many other responsive framework and learn a lot about ASP.NET, SQL server. These are the solid evidence of my learning ability otherwise; I would not be assigned to those sorts of tasks which needs a lot of learning on demand. 6.4 Dependability Score: (5) Completely Dependable I was completely dependable during the working days. I had been involved with several tasks during the internship period. My supervisor gave me many assignments and i have completed these task myself but sometimes he helped me and guide me to completed perfectly. Besides this i was involved in the HR & Finance Management project and i completed my part without depending on others. These were challenging and needs brainstorming. For this I was completely dependable during the working days. This claim was strengthened by the fact that the implementation and development of HR & Finance Management that was carried out by me. This task I did perfectly before the deadline. My supervisor also assigned me a some small task of the project TrustPilot. I mostly depended on my supervisor and my team member for any kind of help in programming. Finally, i tell that i was the key reliable person to do any task in web development. 46 6.5 Initiative Score: (5) Work on own initiative In the first formal meeting with Comfosys Ltd. Cognitive Committee, I have focused to strictly follow the proper software engineering procedure in this organization. Based on this the decision making committee decided to follow every software engineering steps and preserve the whole documentation of every single module and project. This was shown by the fact that I, myself addressed the need of implementing the software engineering principles on the HR & Finance Management project. Due IT Policy there are some limitation to work on the main project but there is so much opportunities to take initiatives and they always welcome to new ideas. That’s why at the time of developing something i always tried to introduce some new ideas. However, I took several initiatives when possible. In learning side, I took personally several small projects for enhancing my programming capability in different technology (i.e. phonebook, learning management, HRM ) using C#.NET, ASP.NET MVC5, SQL Server. And also learned Responsive Web Design(Semantic-UI, Bootstrap, also learn basic of Foundation), UX, jQuery, JavaScript, HTML5 etc.I hope, all initiatives that already taken, will help me in future to make better career in software development. 6.6 Quality of work Score: (5) Excellent Almost all work has standards for how well it must be done and how fast it must be done. In some cases perfection is required at all costs, and in others speed is most important.So i always try to do my task perfectly and before the deadline that was assigned by my supervisor. The assigned works completed by me were good quality where I worked hard to follow the steps show me by the supervisor. This is proven by the fact that all the major tasks/projects were completed and delivered within the timeline. I haven’t to face many problem at the time of doing any task because, before starting a task i discussed with my supervisor all about the requirements and design system and the technology how can i made it easily and perfectly. I tried to find out the bugs to make better performance of the software after completing a module. My team members were feared for me that I found more bugs at his/her module. As an intern as well as new software developer my implemented tasks was not more excellent than the other employee but these were impressive as a new developer. Sometimes my team member appreciates my tasks. 47 6.7 Relation with others Score: (5) excellent and accepted It’s very important to maintain a good relationship with other member of a team when we work together. In Comfosys Ltd.every employee maintains a good relation with the inter team member and intra team members. As i think, they are the best guy as an employee and team mates. They are very cooperative and helpful. So, i always tried to maintain a good relationship with all the team members as well as the other members of Comfosys Ltd. to get help from them in any matter specially for the purposes of development. I have maintained professional and personal communication with the other business personnel and developers to develop a successful environment surrounding me. Being an intern of the Web Development and new in the professional field, it was a huge challenge to work in a team that comprised of both technology and business professionals. When i faced any problem, i asked anyone of the team to help me and the respond me to help as most of the time they were busy with their own task this is the result of maintaining a good relationship. Another notable fact was that I have to do different assignment for learning purposes those were assigned by my supervisor. If a failed to complete in the due time, he helped me to complete it in spite of scolding me. This is the result of good relationship. 6.8 Maturity Poise Score: (4) Quite Poised and Confident At the very beginning, I have approached a task with confidence, professional attitude and organized. Confidence was exuberated during the initial development as numerous problems were faced. When i faced a big problem, I was calm and composed and consulted with the expertise, visited number of forums, posting questions, reading troubleshooting guides and journals and finally coming up with the solution of the issue. Without maturity poise, it would not have been possible to derive the solution so quickly. The problem was eventually solved after significant amount of time was spent and a lot of brainstorming sessions. Although, I worked as an intern, I showed good sense of maturity and always kept my nerve cool during taking up any challenges. I did every task with confidence, professional attitude, and calmness. Confidence was exuberated during the initial starting of software development with little knowledge of programming experience. I was confident to learn programming at any cost and kept me involving in programming. Finally, I am feeling interest in programming, as well as whole software development procedure. Another example of exhibiting maturity poise was that when I was assigned any tasks with no time boundary I completed that task as soon as possible. 48 6.9 Quantity of work Score: (5) Excellent It is to be mentioned that, I completed a project and several tasks and enhancing my programming skills on web technology and .NET during this short time period of internship. I completed the HR & Finance Project within the due time. I have spent a busy schedule at Comfosys Ltd. Majority of the time at the company was spent to do assignment for learning. Though, i was not under pressure for doing any task but learning the new technology and different environments activities make this internship program challenging for me and it feels me that i am in the pressure to learn new technology very quickly. I have managed all the challenges and mitigate the pressure with my hard-work and Professional activities. My supervisor confessed that, my output rate is good as an intern. So, my quantity of work is more than average-the proposition is well justified. 6.10 Judgment Score: (5) Very good in making decisions In an organization, one can assess how much trust other people have on his/her judgment by simply considering how much responsibilities s/he has been given by others so far. Looking into my case, my judgment was very good. That is why, often supervisor asked me to do the work just saying how to do that work and I do that work although I have not faced those types of work before. I was assigned every kinds of work and that were necessary for documentation, showing the user experience. These solid facts are strong evidence that my supervisors and teammates have trust on my good judgment. I utilized my time to doing assigned tasks and other time doing HR & Finance Management about software development and knowing other technologies. 6.11 Attendance Score: (5) Regular I am very sincere on about attendance. I have recorded a hundred percent attendance record except my well-deserved leaves. I never missed a single day in office without formal leave policy or shortage of weekly time hour. 49 6.12 Punctuality Score: (5) Regular I am very punctual in my working place. Each and every day including strike and natural disaster, I strictly follow the time policy and reached before entrance time. Most of the day entered my office before the working hour and left after the closing time. I am very punctual in my activities and complete every task before end time. I updated my daily tasks at time to time to my supervisor using trello board. 6.13 Overall progress. Score: Excellent This internship program was a very good chance to improve my attitude, technical ability, learning methodologies, quality and maturity of work etc. I took this chance and enhance every section where I can improve. Now my mentality and confidence level raised and can think positively. I think that, every problem is solvable and it has to be done. Any types of problem related with my work will be solvable in any time. Overall progress is excellent and every part of my professional and personal file was improved. Based on self-evaluation justification mentioned so far, my overall performance is very good-this proposition is well justified. 50 7. Chapter: Achievement & Challenges In the internship period I have learned both technical and non-technical leanings and also faced some problems. 7.1 Technical Skill Real life Software development process in practically. Web development methodology Responsive web design User Experience & Security issues Implementation HTML5 & CSS3 JavaScript & Jquery Bootstrap, Semantic – UI, Foundation .NET Framework ASP.NET MVC5 & ASP.NET API Scrum Process & Kanban Process Using of Git & Trello Board 7.2 Non-Technical Skill Knowledge about the technologies that are used in the software industries of today. Learning the professional attitude at work place Timely delivery of tasks, attending meetings on time and reporting to the supervisors for any query. Importance of documentation of completed tasks for future improvement. Analyzing different available options to decide which one is best and most feasible given the resources available. Development of respecting co-workers’ decisions, maintaining desirable relationships with them and professional work attitude. Grow analytical concepts and problem solving confidence Team work in a professional environment Growing analytical ability & creativity Confidence & decision making Work under pressure 51 7.3 Challenges During the internship period I have to face several problems. We were the first inters at Comfosys Ltd. they did not have any plan before our join. Some of these are mentioned below Management, how to treat me They did not get enough time that I expected Due to some it policy I did not get opportunity to work in a live project When I needed any software to install in my pc, I have to wait one or two days to configure my pc. I didn’t get the admin privileges of my pc, so when I need to run a program by windows authentication I had to face some problems Sometimes, it was really very difficult to manage our supervisor I did not use any usb drive or data cable in my pc. Colleting requirements First time real life development in a professional environment. 52 8. Chapter: Conclusion & Recommendation 8.1 Conclusion It has been a tremendous opportunity for me to work as intern at the largest software company Comfosys Ltd.. The internship program helped me gain important knowledge on how the IT sector shaping in the country. It has enabled me to understand the technologies that are frequently used in the software industry. I am now become used to the professional company culture, thanks to my internship program. The program has helped me develop good judgment, proceed on my own in new technological challenges, and develop better analytical skills. Participating in team meeting with project manager and discussing on the threats of the projects helped me attain the faith to develop a never give up attitude. At the same time it helped me learning the software life cycle for a real life system. The projects in which I worked inspired me to be harder working, responsible and confident. The internship program has been a great helping the sense that it improved my team work capabilities. At the companies it is important to function as a unit and respect the team mate’s ideas and suggestions. Team discussions like brain storming sessions helped me identify and solve numerous problem issues which would have been impossible to solve otherwise. During the last few months, I have a clear idea about how the IT industry is shaping out to be a major driving force in the country’s economy. It has enabled me to understand the technologies that are frequently used in the software industry. This was only possible by participating in the internship program. Being part of the Development team has helped me to realize the challenges that lay ahead in the IT sector. I would like to convey my thanks to ETE, Southeast University for providing me an opportunity to gain idea of the competitive environment in the professional field. It has certainly lifted my software development skills in terms of design and coding. I now look forward to facing the upcoming challenges of the world. 53 8.2 Recommendation I was provided an opportunity to work as part of the Web development team at Comfosys Ltd. This was a really nice place for learning and working. If SEU program office want they can send interns in future but for the company need to select interns who are responsible, have the thirsty to learn new thing and like to welcome challenges. I have some opinions about the company and future interns must follow the Before joining Comfosys Ltd.one need to gather more practical knowledge on web development technology. Gather early knowledge on the company of interest. Learn the technologies that are used before going to the internship so that less time is spent in learning them. Work more on .NET framework Practice documentation of the projects more thoroughly as it is an important aspect of the software development. Try to implement software engineering principles at all steps of software lifecycle even at the university projects as this practice will help to complete commercial projects quickly. For developing they can follow the scrum process 54 References 1. http:// Comfosys.com/ 2. http://www.mountaingoatsoftware.com/agile/scrum 3. https://kanbanflow.com/board/12231ed4bdf536c952f2ef4eb5f4d956 4. http://en.wikipedia.org/wiki/Kanban_(development) 5. http://en.wikipedia.org/wiki/Internship 6. http://www.internshipprograms.com/ 8. http://en.wikipedia.org/wiki/Data_collection 9. http://www.tutorialspoint.com/management_concepts/organizational_structures.htm 10. https://trello.com/ 55 Appendices In this part I have shown some screenshot of my working project. I tried to add some page from some specific module. User login: Figure 6: user login Site overview 1: Figure 7: Site overview 1 56 Site overView2: Figure 8: site overview 2 Theme overview: Figure: Theme overvie 57 Dashboard overview: Figure 9: Dashboard view Code Overview 1: Figure 10: Code overview 1 58 Code overview: Figure 11: Code overview 2 59