Week 1
Week 1 Session 1
Today the lecturer handed gave a brief explanation of module guide. The assignment scenario was a garden retail company. In the lesson we were told next week we would be given more information about the garden company. In today’s lesson the class filled out a questionnaire in order to identify team leaders.

The team leader is Afif and in our team is myself, Ehsaan and Raheef. We got into our team and discussed our strengths and weaknesses. I have good C# and database knowledge. Ehsaan is good at testing, both white and black box testing. The weaknesses in our group were time management, organisation and easy distraction. At the end of each week the leader will be reviewing and making sure the tasks set get completed. If not then there should be a valid explanation.
During the lesson we were told that this project will mainly focus on the ordering side. It will not deal or store with the customer side.
Week 1 Session 2
In this session the main focus was team working and what would make a good team. During the session we did some activities. In our team we identified what makes a good team and we came up with the following skills;
- Communication
- Respectful
- Trust
- Milestones and Regular Review
- Listening
- Honesty
- Credit given for tasks completed
- Performance
Activity 1
The first part was the blind fold activity. What we did was one team member was blind folded and the other was explaining the direction of where about to place the cups. The objective was to build the largest tower using cups.
Activity 2
The other task was to hand over the most amounts of paper balls to each person in the team in air space and without touching hands. Our team thought outside the box and we made small paper balls as there were no requirements in size. Our team won because we made 150 paper balls and we scored 2487 points.
We also looked at the four norms. These are forming, storming, norming and performing. These are the stages that the team goes through; some teams don’t go past the storming stage because of conflict.
Tasks for next week
One of the task for next week is to ask some questions about the scenario. The other task is to watch the github for noobs video.
Week 2
Week 2 Session 1
In this session as a group we came up with tasks to do for this week using the agile method. With agile projects you work in small increments instead of doing one big task and showing it to the client on the deadline date. With the agile method bad news can be identified and changed quicker. We found out that this method is used a lot in the industry. There are other methodologies that can be used but this is best one for this tasks. The reason for this is because the client gets involved in the scrum meetings. So if they don’t like what is going on, we can get their input and make slight adjustments instead of delivering everything on the deadline day.

The way it works is that the project is broken down into little bits of user functionality called user stories. These user stories are prioritised and then continuously delivering them in two weeks, this is called iterations.
Our team Code Injectors will have a daily scrum meeting on each day of a sprint. The scrum meeting will focus on what did the team do yesterday? What they will do today? Any problems? The scrum meeting will be done in UCP in room 111 around our kanban board. The picture of our Kanban board can be seen below. These meeting will all be recorded.

During today’s session as a team we have did a few tasks as a group. One of the tasks was to come up with some interview question for the client Victoria. The other task was to book a slot for the interview with Victoria and ask them the questions. These tasks were all recorded on the kanban board so this can be seen by the clients at any time. The tasks that are in the process of being done will have a start date and amount of days it will take to accomplish. The green post it notes are called user stories. These user stories can be added or changed during the project.
In the sprint review the team leader will discuss what has been accomplished. Also discuss if any tasks have not been completed and see if you need to sacrifice and prioritise some other tasks.
Tasks for today
- Plan initial interview questions
- Compare your questions with the rest of the team
- Compile interview questions
- Book slot with the two clients William and Victoria
- Examine SQL Database provided on VLE
In our team Afif and I researched some questions to ask the client. Raheef was a bit behind as he did not attend last week’s session so he was catching up on the previous week’s task. We all decided as a team to book the interview with Victoria for 11:30am. The interview questions are below.
Questions selected for interview
Hello and welcome to Code injectors. We have been given the opportunity to create a software project for your gardening Mill. We are delighted to take this project and give it our full attention however, we would like to ask some questions so we can work together to create a suitable application which works best for yourselves.
- what are the overall aims and objectives deliverables of the project?
- What is expected of the project?
- Would you like us to create a logo or will you be providing us with one?
- What features would you like to see and what are the essential features that the project must require?
- How confident are you using the current system/ technology?
- Would you like to query the database?
- What implicit assumptions exist
- Which software would be easier for you to use or does the current business have a system in place
- Are there any set budget costs for this project?
- What will be the consequences to the business if the project does not go ahead or fails to delivers the objectives?
- Is there a preferred method of communication and delivery of the project?
Interview with Victoria and William
Victoria is looking for a system that is easy to use and secure. The Garden Mill company uses paper based orders. These are very insufficient and cause many issues for the company. One of the problems they had was the amount of stock that is on paper doesn’t match the amount of stock on the shelf.
The client wants a system that is able to flag low stock items so they can be reordered. Before they can re order they will be displayed by different suppliers with delivery dates. They want the best price and the quickest delivery. Before this can be processed Victoria wants a flag or email before the order can be placed.
If the product is needed urgently, we need to use the supplier that gives the shortest delivery time. If the product is not needed quickly then we can use the cheapest supplier.
William and Victoria want separate login because victoria will be able to see orders and authorise orders. But William would like to see a summary of monthly or weekly sale. Login details would be the same for the purchase assistant because they would all have the same privileges.
The client would like an easy to use system which is robust. The system should be easy to update from the code. Languages that could be used are PHP and MYSQL, C#, ASP.net and many others. But the client doesn’t mind whatever language is used as long as it cures there problem.
The client would like a logo for the Garden Mill. The client told us they have seen logos that change colours every season for example for summer the logo will change to yellow and red. The client stated that we use garden colours which may be brown, green, yellow etc.
Week 2 Session 2
In session 2 Hugh explained the Kanban system. The kanban system is a work scheduling system that maximises the productivity of the team.
The advantages of using the kanban system;
- Provides Flexibility in production
- Stops things pilling up and being in the backlog
- Reduces waste and scrap
- Increases output – So if there is a problem this can be visible quickly , allowing the team to correct the problem quicker.
The client William told our team that we need to add time for the task and date to each user story. Without this information the client won’t know when the tasks have been started nor is it going to be done on time. So below is the Kanban board amended.

In our discussion I told Afif it would be better to set up a folder for each team member in Egnyte the file sharing system. The screenshot below shows a folder for each team member with also a folder for all the group. In these folders we will upload what we have done. This way it makes it clear who has done what.

Task to be completed by next week
The task to be completed by myself is to create the mock-ups for the Program for the The Water Mill Garden Emporium. This task is shared between Raheef and me. What will be created is a rough design of each page with descriptions. The program that I will be using is Balsamiq. I have used this program previously so I won’t waste anytime getting to learn the tools and will get straight at designing the mockups. The pages that I will be planning are login page, update page and supplier page.

The screenshot above shows the tasks that has been completed and uploaded. This document has been uploaded in my folder. All my team can view and access this document.

This is the Login page for the Garden System. It will be very easy to use, William and Victoria will have separate login details and the sales and ordering department will have same login details because each team will have the same features they have access to.


These are the mock-ups for the supplier and update stock page. As a group we will present these to the clients to see if there can be any changes made to the current design.
When I was making the mock-ups, it crossed my mind that we are missing a page which will show the stats for example weekly or monthly sales for William.
Next week we will show William and Victoria the Mockups and logos to get feedback on the current layout.
Week 3
Week 3 Sessions 1
During this week’s session the lecturer explained the key elements of was expected in the documentation side. One of the parts that need to be included in the documentation side is the agile methodology. This is the methodology used to accomplish the task. The lecturer also spoke about what was expected to be in the documentation for example all the work that has been done, evaluation, code implementation etc.
During this session we got in our group and listened to the recordings of the first meeting with Victoria and William. We all listened to the recordings and made notes of what could be a user story. Below is a picture of the cards each showing a user story. To make this picture clear a yellow card has been used to identify who the user story was for. For example one of the user stories for the senior staff was ‘View low stock’.
An example of a user story is below, the user story will then has smaller tasks in order to complete that specific user story.
| User story | TO DO | DOING | DONE |
| View delivery times |
User Stories
Victoria’s User Story
- View orders awaiting (Priority could be a nice feature)
- Update authorisation status

In our group we then organised a meeting to see the client to show the logo, mock-ups and the program login page that Afif has attempted. Ehsaan has presented us the three logos he has designed. The logo that I have preferred is below. The reason for this is because this logo represents a garden centre with the grass and a lawn mower.

Group meeting
In our group we had a little meeting on how everyone is getting on with the task how far everyone has got with the tasks. Everyone was on top of all the tasks that had to be completed by today (Monday 13th February).
Meeting with Victoria 11:30AM
In the meeting we presented the three logos Ehsaan had created, but Victoria liked one particular one because it didn’t just cover the gardening aspect. While the other two logos where only focusing on gardening. Victoria said she would like the full company name instead of just having the ‘Gardening Mill’. The other feedback that we got back she would like to see water effect on the letters.
Victoria has given our group the final CSV file containing the stock level and reorder level. On the previous meeting we requested Victoria to provide us with the paper based ordering form. This would help us with the design part of the program. This piece of information would also help us how they are separating the content.
Below is the order form supplier by the clients. This form is very useful because it would help us create the design plan for the database. 
Week 3 Session 2
During this session the lecturer explained the SOLID Principle. In the lecture we went through the following (Screenshot below.). The link of the powerpoint is also below.
(SOLID (object-oriented design), 2017)
Following the SOLID principle makes it easier for other developers and also it tells you to write clean code.
Having a good design will be easier to maintain the program. If the code is written poorly it will take forever for the developer to update.
When working with software in which dependency management is handled badly, the code can become rigid, fragile and difficult to reuse. (Carr, 2010)
Rigid code is that which is difficult to modify, either to change existing functionality or add new features.
Design/Code smells. What makes bad code;
- Rigidity – The design is hard to change
- Fragility- the design is easy to break
- Immobility- the design is hard to reuse
- Viscosity – it is hard to do the right thing.
(Waleed Bin Dawood)
Meeting with William 2:30pm
During our meeting we presented the logos and the mock-ups. William agreed with the same logo as Victoria. William gave the same feedback as Victoria which was change the font size and colour as it was difficult to see.William also stated that he wants to show of the company and that their employees can proudly wear a t shirt with the logo clearing displaying their company.The feedback from the mock-ups was that there are some pages missing. Going over the user stories gave our team some ideas of what other pages that would be required. During the meeting William discussed that he would like the warehouse operative team to do an inventory stock check to see if the stock on the shelf matches the stock in the database. William would also like to view if stock is being delivered on time, if it isn’t he would like to see the suppliers details to contact them and see if there is an issue. William would also like to view supplier contact details if there prices are too high to re-negotiate prices.
Kanban Board

Tasks need to do for next week
The tasks that Afif has set me to do for this week is to create a table schema according to the scenario with data type, field names, length etc. The other task was to create updated mock-ups according to the feedback received from the clients. These tasks need to be completed by 19th February and uploaded to egnyte.com ready to present to the clients on the 20th February.
Week 4
Week 4 Session 1
In this we had a meeting in our group to discuss if everything went well. I completed the mock-ups and table schema. However there were some tables that were needed to be added like the order table. The lecturer also explained that the sprint plan meeting needed to be done and tasks needed to be set for the 2 week sprint. Also the product backlog needs to be organised and ordered. The tasks that are priority will come first, so far in this project the important task that need to be completed is the database design and sorting the tables out. Without this we won’t be able to progress to the coding side.
Sprint meeting
During the meeting Victoria took a picture of the sprint meeting. In this we discussed what tasks had the most priority and which were on the bottom of the list. So for this sprint meeting we are going to sort the database design out. Without this we won’t be able to go further. Once this is sorted we can design queries for the systems requirements. For example one of the queries is to output the low stock items. The picture of the user stories are in pink and the sprint backlog is the white cards. The product backlogs are all the items that need to be done.
During the meeting we discussed we will put 20 hours per week, so we have 40 hours to work on the user stories. So for the ERD Afif has set 1 hour for each member of the group, so a total of 4 hours will be spent designing and creating an ERD.

Week 4 Session 2
In this session we a meeting with the client at 2:30pm. We also discussed breifly of what database we are going to use it was between OLEDB or access, but we chose as a group and went with OLEDB. We also had our sprint meeting and daily scrum of what was needed to be done during the week and uploaded on egnyte.
Meeting with william at 2:30pm
During the meeting William explained the warehouse side in a bit more details. William said he would like a location for each item on the database. So if the warehouse operative is lost he can look at the location on the database and find the item quicker. We have explained there are 30 categoreis for the garen items, some big and some small catgeories. William explained to our group that there are 5 ordereing staff. So this works out that each member of the ordering staff team will get 6 categoies each.
Task need to do for next week
The main task to do for next week is the Entity relationship diagram (ERD) and the table schema once the ERD is completed. After this if I have time I will start designing the queries. But the tasks that are more important will be started first so this will be the ERD. The other additional task will be sorting the OLEDB connection to Visual Studio. The hours we will be spending on these tasks will be around 4-5 hours per week outside the class hours.
Meeting outside the class (21/02/2017 @ 1:30pm to 2:30pm)
In this meeting we discussed the task that need to be completed and by when. Afif our team leader has put the tasks for each member. During the meeting afif helped me set up the database connection to Visual Studio C#. This was all done on my personal laptop due to the fact that the university computers were not able to download the plugin for the OLEDB Connection. This is now all set and ready to go, so any changes made in my SQL workbench it will also update in Visual Studio 2013 Ultimate. The next short meeting will be on the 23rd at 1:30pm.
Below is the kanban board with the new sprint;

What was done in the previous week?
During the previous week I attempted to do the ERD and table schema. Below is a screenshot of the ERD and table schema. But we have discussed and there are some improvements needed. One of the error was the one to many was facing the wrong direction. Another issue was that there was a many to many relationship that wasn’t recognised. These both pieces will both be updated and uploaded with improvements.

Table schema

Queries
During this week I have managed to do two queries. These queries would give our group a little head start. The first query will output the orders that a below reorder level. Below is the SQL that I have written in Notepad. I have first selected the rows that I would like to output. I will be using only two table with a inner join query. In the where clause I have used with a less than or equal to symbol.
Query 1

Query 2

This is a very simple query for the Warehouse Operative. This query will output the location of the garden item in the warehouse. Again this is another useful query for the system because one of the clients requirement is that the warehouse staff can look up a location of any garden item in the warehouse.
UML Diagrams
During this week we have been planning to do UML (Unified Modeling Language) diagrams. These diagrams show object interactions for example a user and a system. In our group we have discussed to do several UML diagrams and these are called Sequence Diagram, Use case, Class diagram, Activity diagram and State diagram.
These diagrams help use identify the user requirements and also help use in coding. The class diagram shows the classes in a system, attributes and operations of each class and the relationship between each class. Below is a [picture of all the relationships that exist in a class diagram.

(Nishadha, 2012)