I owe a great many thanks to great many people who helped and supportedme during the project. I would like to express my deepest gratitude to my mentorsDr. Hiral Shah, Dr. Ben Baliga, and Prof. Gary Nierengarten for all their support and encouragement at every step throughout my course of study at St. Cloud StateUniversity.
First and foremost, my deepest thanks to my advisor, Dr. Hiral Shah, myGuide for this project. I would like to take this opportunity to thank her for herguidance and support throughout the project.I would also like to express my thanks to Dr. Ben Baliga, Prof. GaryNierengarten, and Dr. Balsubramanian Kasi for their precious time in carefullyreviewing my project.
I am grateful for their valuable suggestions and comments.Finally, I would like to thank my family and all my friends for constantlyencouraging and supporting me in this endeavor. It is with their help that I have beenable to successfully complete my Master’s Program in Engineering Management.
Chapter I: IntroductionEmployee time and attendance is a vital part of the workplace as it allows forbetter workforce management. Time and attendance management facilitates HumanResources to better understand employee attendance, and are necessary forcollecting information for payroll (Time Well Scheduled, n.d.). It is important forcompanies to assemble, categorize, and utilize workforce data, which will allow themto make critical decisions (Data Management Services, Inc., n.d.).
In this ever evolving and technologically savvy century, companies are oftenforced to adapt to the needs and requirements of the market. Companies preferportability, flexibility and access to applications they use from anywhere and across all platforms, so that work and management become easier and less complex.Agile methodology is the most widely used project management technique by several organizations for their software development projects.
This methodologyworks great in environments where requirements change rapidly throughout theproject scope and has been proven to achieve high project success rate for manyorganization (Battagiri, 2015). There are several software development techniqueswithin the agile methodology. This project demonstrates the use of agile methodologyto create web-based reports for employee Time and Attendance.
Problem StatementABC application is currently a desktop applicationwhich facilitates clients to use the software on the local system where theserver is located. This is a drawback8since the client cannot access the application on a remote device. Clients nowrequire flexibility to use the application from across any platform and any devicewithout having to personally be present at the location and the local system wherethe Application is hosted.
This can significantly reduce time and effort and increasethe productivity of the workforce.Nature and Significance of the ProblemFor any company, it is necessary to manage its time and attendance and thework schedules of the employees who are the number one capital expense. Improperscheduling and attendance management can lead to a host of issues, includingoverscheduling a shift, costly overtime pay, and even litigation (Data ManagementServices, Inc., n.d.).
With the change in dynamics of the work environment in the present day world, employees have the option to work from remote locations. A lot of companiesallow their employees to work from remote locations and to manage their time andattendance, it becomes an arduous task to keep track of the Human resources, whichcan lead to billing issues and corrections which can become costly.Currently, ABC company TC-1 software is only limited to systems that have the database running on theirservers.
If employees of any of the clients are requiredto work from a remote location, or if the manager wants to access employeeinformation, payroll, scheduling, they have to be physically present at theirworkstation where this application is hosted. An effective solution which can provideaccess to the application on any device would help the management in accurately9tracking employee work time and also reduce managerial time spent on timekeepingand payroll tasks.
Objective of the Project
To identify the tools and technologies required for the development of thisapplication and create a web enabled application that interfaces with theserver on the backend and presents a browser-based client interface to theuser in an agile environment.2. Identify the core areas of business and implement them in phases andrelease for production.
After successfully accomplishing the project, the following questions wereanswered based on the results obtained from the project:
What current drawbacks of thedesktop application have been resolved in the Web based application and up to what extent?
How was Scrum agile methodology useful in developing this project?
How effective would the proposed solution of bringing in a web basedinterface help in resolving the clients’ needs?
What are the factors of Scrum which were helpful in identifying any threatsin this project?
Can new changes and modifications be made during the implementation of the web-application? 11evolutionary development, early delivery, and continuous improvement,and it encourages rapid and flexible response to change (Wikipedia, n.d.).c)
Scrum methodology:Scrum is a management and control process thatcuts through complexity to focus on building software that meets businessneeds. Management and teams are able to get their hands around therequirements and technologies, never let go, and deliver working software, incrementally and empirically (Scrum.org, n.d.). d) Socket Programming: Sockets provide the communication mechanismbetween two computers using TCP.
A client program creates a socket on its end of the communication and attempts to connect that socket to a server. When the connection is made, the server creates a socket objecton its end of the communication (Tutorialspoint.com, n.d.).e) Server:A server is a computer program or a machine capable of accepting requests from clients and responding to them.
Their purpose may be to share data or hardware and software resources among clients(Quizlet.com, n.d.). f) Web Application:A Web application (Web app) is an application program that is stored on a remote server and delivered over the Internetthrough a browser interface (Jdsofttech.com, n.d.).g) Desktop Application:A desktop application is a self-contained programthat performs a defined set of tasks under the user control.
Desktopapplications run from a local drive and do not require a network or 12connectivity to operate or function properly, though if attached to a networkdesktop application might use the resources of the network (Socmedtech,2014).f) TheSoftware Development Life Cycle (SDLC)is the process of developing or modifying software systems by following softwaredevelopment methodologies. People, process and technology play a vitalrole in success of the software development lifecycle (Battagiri, 2015).g)
Pair programmingis an agile software development technique, where twoor more programmers work together on a software development task. One,thedriver, develops the code while the other, theobserver, reviews thecode developed by the driver. The driver and the observer switch roles to achieve better results (Battagiri, 2015).h)
Best practicesare the set of rules followed in software developmentwhich can help in developing software which is effective as well as efficientand within the budget. A combination of best practices can be used to bestfit a specific software development environment. The core agile softwareprogramming practices (versionone.com) are the following:
Test driven development,
Requirement change management,
Following standard coding practices,13
Software version control.
Project management best practices help us successfully initiate,plan, execute, monitor, control and close our projects.
Best practicesrepresent the practical application of the concepts, processes, andtools defined in the project (Battagiri, 2015).
This chapter introduces the problem statement and objective of the project.The nature and significance of the project are discussed. Limitations of this projectimplementation are also addressed. Important terms and keywords are brieflyexplained, which are necessary to understand the project. The next chapterdiscusses the framework and research methodologies used to conduct the project in detail.