Tuesday, 16 May 2017

Task 2: Project Ideas

There are different approaches when managing a project but usually there is key features which any manager need to focus on to manage the project effectively. Firstly, you need to structure your project for instance you need to deliver the project into different stages and understand the time schedule. Knowing the stages of your project is really important because you need to ensure that your project will be finished before the deadline so it is important you meet this purpose and schedule the project so team members understand when tasks need to be finished.

 A tip is to make sure you manage your project as professionally as possible if there is several members working on a project is too include a sign off sheet which will be signed at the end of each task. This will prevent confusion on who started the task and when. It makes managing a project more strutted and reduces the risk of spending too much time on one task and eventually missing the projects deadline.
Other key project management factors include;
  • Phase management.
  • Planning.
  • Control.
  • Team management.
  • Communication.
  • Procurement.
  • Integration.
Obviously, this will change depending on what your project is. For instance with my final major project I will need to focus on factors such as phase management, planning the project as well as controlling the project although I am doing my project alone so I won’t have to initially focus on team management because I am not involved in a team. Overall, to establish a project you need to follow the common project factors to get the best quality project as organised as possible.

For example, agile development is based on the agile manifesto. The agile software development is a set of principles used for software development, it includes adaptive planning, development, early development and continuously improving the project. This encourages the team to work in better management overall resulting in the team being able to change faster and be a lot more flexible.

Basic principles
The manifesto agile software development is based on ten different principles;

1. Active user involvement is imperative
2. The team must be empowered to make decisions
3. Requirements evolve but the timescale is fixed
4. Capture requirements at a high level; lightweight & visual
5. Develop small, incremental releases and iterate
6. Focus on frequent delivery of products
7. Complete each feature before moving on to the next
8. Apply the 80/20 rule
9. Testing is integrated throughout the project lifecycle – test early and often
10. A collaborative & cooperative approach between all stakeholders is essential

https://en.wikipedia.org/wiki/Agile_software_development

Originally the agile manifesto was a consequence for industry frustration in the 1990's. There was a time lag between the business requirements which resulted in cancelling of many projects. In 2001 a group called "Thought leaders" which included a group of seventeen people who formally written the twelve principles to help uncover better ways of developing software. I am going to be explaining the most important principles.

User involvement
I personally see the user involvement as the first principle of agile development. Whenever a software project is failed it is usually because of the lack of involving the user. It is really important to create a software which will be accepted by the user it is being developed for and to do this we must involve the user to test the products. One of the main reasons the user involvement policy will fail is when there is poor communication to the users which will be using the development, they cannot loose insight of a real user’s needs. Even if you are creating a project which you think the user might want use, you still need to involve the user and include them throughout the development and testing phase. To fix any communication problems you can use several solution’s such as;

  • Locating the project team and the user to work together in the same room.
  • Do team building exercises
  • Organise the team to eat together at dinner to discuss project ideas - this will make the team closer
  • Teach the team that communication is important and suggest ideas on how to talk to each other

The users should be testing the product and be reporting any issues or suggestions so they can update the software to a new version. It’s important this is done so the developers can give the stakeholders a good product. Sometimes when users aren’t involved in a project the developer will lose their main goal and purpose of the product when developing, often adding unnecessary features and making it to complicate. This is why it is crucial and beneficial to have a user who can see the project as a 'fresh' project and can review the product from the audience view. It is essential that the team members participate in the development of the plan and for it to be based on real user requirements in order to have a successful project and users satisfied with the results.

http://www.digitalistmag.com/customer-experience/2014/03/31/user-involvement-a-critical-software-project-success-factor-01247366

Develop small, incremental releases and iterate
Agile development projects are always delivered in small bite sizes. This is the most traditional way to develop a project, you simply analyse the project, develop and then test it. You then repeat these steps until you are satisfied with the results. You do each step for each feature, one feature at a time. Using this principle has a lot of benefits including;


  • Reducing risk - You have a clear visibility on what you need to do.
  • Increased value- Allows you to release the product whenever it is good enough because you are doing feature by feature so you can realise it early even if intended features are ready
  • More flexibility- You can adapt the next step based on your current step
  • Cost- you have better management on the cost, you’re less likely to run over the budget.

Before moving onto the next feature you need to make sure the previous feature is fully developed and ready to be used. It must be developed in a priority order and not a logical order otherwise you could run out of time and be focusing too much time on less important features.
Once you have completed all the must haves you can then proceed to the ‘should-haves.’


80-20 principle
The 80-20 rule is a theory which basically thinks that typically 80% of your results will actually come from only 20% of your effort. The principle is basically saying the majority of your results will only come from the minority of your efforts, this is why you should apply the 80/20 rule so you can focus on the 20% effort that gets the results. This principle is important because it explains how sometimes when developing a feature, you are putting all your effort into it and going the extra mile although it may not actually be worthwhile and not be part of the "20%". 
For example Microsoft has put a lot of effort into Microsoft world but in the real world, only 8% of its features is actually used. In fact, users prefer apps and games to do exactly what they want and to be clutter free as possible. Benefits of using the 80/20 principle is reducing cost, risk and being able to produce your project quicker to the marker.

http://www.allaboutagile.com/agile-principle-8-enough-is-enough/

Introduction
Once finishing my research about using different techniques on how to manage a project and how the agile principles effect the project I have decided to involve them into my FMP.

Project Stack
I have created a project stack so I can plan, control and manage my project much more effectively. A project stack is a list of the different tasks you need to do. The tasks which are the biggest take the longest time whilst the tasks with the smallest box take the least time. The boxes are colour coded so I can quickly look at the project stack and understand what I need to do. For instance below you can see that some of the boxes is colour green, yellow and red. Green means that I have completed the task, Yellow means that I am doing the task and red means that I haven't started the task yet. The project stack related back to the agile development because it includes user involvement and the 80/20. It involves user involvement because before I created the schedule I got the users involved by presenting a pitch and getting feedback. The 80/20 rule is applied because I am splitting my tasks an adjusting the size to make it easier to understand which tasks require the most effort and time. For example you can easily see that task 2: creating the terrain is going to be the task which requires most of my time. 

using a project stack is beneficial to a small team or maybe just one person because it displays the tasks split up into sections as well as allowing you tee see what you need to do and how long it will take you within a glance. Although the chart is not detailed at all so I believe it will not be beneficial in a larger team/organisation. It doesn’t really say what the deadlines are or any specification on when the tasks have been started.





spreadsheet

Henry grant is an American mechanical engineer and management consultant, he created grant carts in the 1910s. Grant charts were first used and employed on major projects including the hoover dam and interstate highway system.  A grant chart is a type of a bar chart which illustrated a projects schedule. They normally show the start and finish dates of the project.                                                         I have created a spreadsheet so I can schedule my project a lot more effective. The spread sheet I am using automatically fills in the data, if I tell it when I have started a task and when I have finished it, it will automatically fill in its data. This makes managing tasks a lot more professional and comprehensive because you can see the exact time and date for each task. Even though the spreadsheet isn’t as visually appeasing as the project stack, it is a lot more effect full. You can change the formula so it instantly fills in any data that you want and involve a lot more detail. I personally prefer using the spreadsheet because I find it easier to organise my tasks although the project stack is a lot more easier to understand and will probably be more effective to 'beginners' who struggle to organise and manage their tasks. 

Smart target
Once I have developed a plan for my final major project it is important that I do turn attention to developing several goals that will make my project even more successful. These goals should be a smart target, this means it must be - specific, measurable, Attainable, Relevant and time-based.



Understanding a smart target will allow you to consider the goals you have, are your current goals a smart target? It’s important to work and plan smartly. I will be using a smart target in my own project by thinking thoroughly about my current tasks and how I can apply smart targets. Here is an example of how I will use smart targets;

Specific - I will be creating a 3D house model
Measurable - I will be creating the Model to be finished within 9 days, I will aim to import the asset within 12 days.
Attainable- I will begin creating the model on blender. I will then texture the texture and import it into unity for my game engine.
Relevant - Creating my House model will allow me to create 3D module assets which will allow me to create towns and villages for my environment.
Time-Based - My 3D environment will be finished within 3 weeks and my models will be finished within 9 days.

I have also used smart targets within lesson, our teacher handed out a sheet which helps splits up a task. For example in the image below you can see a picture of the sheet. You can see that the sheet includes a graph with different three different columns. The first column is what I want to achieve, the second column is what could I do when I’ve finished the first column and the final column is what can I do if I have finished every task in the previous columns.



No comments:

Post a Comment