Professional Implications
The issues highlighted in the project challenges were a result of the following factors:
The main professional issue in hindsight was the lack of coding knowledge of PHP that had the greatest impact on the progression of the development. The PHP coding challenges section demonstrate the issues experienced during this phase of the development.
PHP Coding Challenges - Displaying and Adding Data to MySQL
To understand what PHP could do, two PHP guides and a series of Internet links were used during the development. The plan was to undertake the exercises in the Head First PHP & MySQL book to then translate the learning into the User Guardian development. Please see the diary entry for the 8th and 9th of June for details.
The project plan did not account for any PHP learning time during the evenings and weekends leading up to the coding phase to grasp a basis understanding of the language. Instead only a week of full-time effort was allocated to undertake the most difficult part of the project. The hope was to translate previous basis experience of .NET development with the idea of the principles being very similar.
The first coding challenge was to build a website that could add business roles to a table and recall data back from the database. This was done using the guides provided in the PHP book and the following links from Table 30. These links produced the final code which can be find in section 5.3.2 - Full code listing (under the heading test.php).
This took most of the hours allocated to the development week in understanding how the code worked to build the first test page which is linked here: http://userguardian.asuscomm.com/test.php.
This page did not have the functionality to select and delete rows from the screen.
Table 30 - Resources Used to Code the First Test Page
PHP Coding challenges - Functions and Deleting Data from a Table
The second challenge once the first page could display the table data, was to work out a method of deleting the data. Internet research and advice from a work colleague suggested the use of checkboxes to select data for deletion.
By this time I was over the week time limit allocated in the sprint planning, and had started coding when and wherever I had free time, including on my personal laptop during lunch breaks at work.
The links in Table 31 helped produced the code which can be find in section 5.3.2 - Full code listing (under the heading business_roles_dev1.php).
Table 31 - Internet Resources Used to Create the Delete Function.
The Final Business Role Page
The final code can be find in section 5.3.2 - Full code listing (under the heading business_roles_dev2.php), linked here: http://userguardian.asuscomm.com/business_roles_dev2.php
This final page is a cleaned up version of the business_roles_dev1.php page, inserted into the CSS style sheet.
Practical Implications
This issues and time delays in learning and producing a working page for business roles meant that a second development sprint could not be undertaken due to time constraints, and that the write up of the project took priority.
Unfortunately as a result of this the User Guardian project can only be used online with very limited functionality, given more time and repeating the PHP techniques, a working reports page would have been developed as planned in section 5.3.4 (Project Backlog and Sprint Two).
This was disappointing as the concept for User Guardian would have been best demonstrated as an online working tool. However the Access Database PoC does provide the working logic of the reporting system.
On a last positive learning point the UML used in sections 4.1.3 (Activity Diagrams) and 4.1.2 (Database diagram) did greatly reduce the time taken to build the working access database in Section 5.2. Time and effort designing and planning paid off in this instance.
ISO27001 and Data Protection
The data protection issues and ISO27001 standards would be important factors for the implementation of the tool within an organisation's IT environment. This was discussed in section 3.7 Professional Issues.
The biggest risks still to address are:
These two risks would need to be addressed if the application was to become a commercially viable product.