Here is that document.
Introduction
In this document I will be looking
at contemporary project management techniques and how they are used within the
game industry. One of the main
methodologies used within project management in the game industry today is the
agile methodology, this uses a framework known as scrum. Agile development with
scrum uses sprint cycles which allows members of the team to have a product
backlog that allows them and the employers to know what needs to be added to
the product. Agile methodology is an iterative and incremental methodology that
allows users to have working products at the end of each sprint so that it can
be tested.
In Agile
development, you follow an iterative approach where the entire software project
is completed in iterative phases. Each iteration delivers an incremental
working version of the application. (Parkash,
2015)
What is Scrum?
There are a number of artefacts that are used within the
scrum process these are the product itself, when using scrum, it is expected
that the team have a potentially shippable product and the end of each sprint
cycle, within games design this would be to have a product that has the new
functions added and tested and to make sure that any bugs have been fixed and
that the product is playable. The product backlog, this is a list of the
functions that need to still be added to the product, the product owner or
stakeholders will be able to prioritise the backlog so the team can get the
most important features finished first. The sprint backlog is also considered
an artefact; this is a list of tasks that the team need to finish in order to
have the functions delivered in time for the sprint. There are also burndown
charts which are used to show how quickly the team is going through the
functions, it is used to show the total effort against the amount of work that
is being delivered over each iteration. Burndown charts are very useful when
using the scrum agile methodology as they make it clear on whether or not you
are going to be able to meet your goal on time and if you are not then it is an
early warning to you.
Scrum is
often used within a team-based project, because of the use of sprints most
teams will meet before the sprint starts to set up a sprint backlog of tasks
that they can do during the sprint. When the sprint has started Cohn (n.d.)
suggest that all team members should attend a scrum meeting to discuss the work
of the prior day. Cohn (n.d.) also says that “During an agile Scrum sprint, the Scrum team takes a small
set of features from idea to coded and tested functionality” this means that
the team will look at what they would like to have implemented by the end of
the sprint cycle so that they be implemented into the product to show the
product owner or stakeholders. When the sprint cycle has ended the team will
conduct a sprint review where they can show any new functionality to the
product owner or the stakeholders, the team will then be given feedback by
either the product owner or stakeholders, which can then be used to determine
what tasks should be in the next sprint, this may result in changes to the
functions that have just been added or it will be adding new items to the
product backlog that you can then work on.
Scrum Roles
There are a number of roles to be filled when using scrum.
One of the roles is the scrum master Cohn (n.d.) mentions that “A good
ScrumMaster shelters the team from outside distractions, allowing team members
to focus maniacally during the sprint on the goals they have selected”. The
role of the scrum master is to make sure that the team stay on goal. They work
more closely with the product owner or main stakeholders to make sure that the
product backlog is ready for the next sprint. The product owner or the main
stakeholders are also a part of the team the product owner is responsible for
prioritising the backlog during the development so that when they start to know
the team and their skills they know which functions can be done. The last role
in scrum is the team Cohn (n.d.) suggests that “Although individuals may join
the team with various job title, in scrum those titles are insignificant”, this
is because scrum states that a member of the team can contribute in any way
that they can to complete the work that has been set in each sprint. This
doesn’t mean that if you are working in a gaming studio using scrum that you
will be expected to produce art assets when your main role is the programmer
however Cohn (n.d.) points out that when using scrum “Individuals are expected
to work beyond their preferred disciplines whenever doing so would be good for
the team.”
Agile Scrum Software
There is a large number of different software that can be
used when using agile scrum methodologies, these look at being able to set up
sprint cycles and look at how to have the work compiled into one folder
location when people are working out of office. One of the pieces of software
that can be used when using scrum agile methodology is JIRA, this gives the
team the ability to have a product back log set up, which when they want a task
to be carried out they can move it in the sprint cycle, JIRA also allows users
to set an end date for the sprints and give the tasks allocated time, this
means that they will all know when the sprint is ending and how long they have
to do the tasks that have been set for them. It also allows the users to move
the tasks when they are being worked on and when they have finished so that the
ScrumMaster can look at the work and give them feedback before the main meeting
on whether or not it is up to the standard that the product owner or main
stakeholders would like. When the sprint cycle is closed in JIRA it gives you a
burndown chart to see how the work Is going and to see if your team is still on
point to be able to complete the product within the time. When teams would like
to be able to have some version control then they can use a number of different
software’s, such as TortoiseSVN what this does is allows team members to be
able to upload their work to a main repository which can store all previous
version of the product so that if something goes wrong with a sprint cycle and
they need to revert back to an older iteration then they can. These pieces of
software are both very practical for scrum agile methodology users as it allows
you to incorporate most of the methodologies practices.
Waterfall vs Agile
What is Waterfall?
Waterfall is another methodology that is used by project
managers, it is less iterative than the agile methodologies that are used, and
has more of a linear approach there is a set sequence of events when using the
waterfall methodology, they are;
·
Gather and document requirements.
·
Design.
·
Code and unit test.
·
Perform system testing.
·
Perform use acceptance testing (UAT).
·
Fix any issues.
·
Deliver the finished product.
Advantages
There are some good points when using the waterfall
methodology;
·
It is agreed on early what will be the final
product so this means that planning and designing for the project is more
straightforward.
·
You can see how well you are progressing easier
as you already know the full scope of the product.
·
Team members can continue with other work
depending on what phase of the project you are in.
·
The customer does not have to be present at all
times except for reviews, approvals and status meetings.
·
Because design is done early this methodology
lends itself to be used in projects where multiple software components are
being designed.
·
Software can be designed more completely and
carefully, because you have a more complete understanding of all software
deliverables.
Disadvantages
But there are also bad points to working with the waterfall
methodology;
·
The customer may not be happy with the finished
product, because it is based on documented requirements, the customer may not
be able to see the product until it is almost finished, this means that any
changes can be difficult to implement.
Advantages of Agile
There are a number of advantages to using the agile
methodology;
·
The customer can frequently see the work that is
being delivered, and make decisions and changes while the project is being
developed.
·
The customer has a strong sense of ownership as
they are able to work directly with the team during the project.
·
You can produce a basic working version of the
software if there is a concern for releasing a full product at initial launch,
then you can launch the basic working version.
·
You are more focused on the user while
developing, which means that the customer could give you more frequent
direction.
You can see that there is a lot more interaction from the
customer when you are using agile, this can be beneficial as the customer will
always be able to see the product, so If any changes need to be made you can
implement them early.
Disadvantages of Agile
There are also a number of disadvantages when using agile
methodology;
·
Although having interaction with the customer is
good, some customers may not have the time or interest to have this level of
participation.
·
All members of the team have to be fully
dedicated to the project, if one person loses interest then you can be set back
as the tasks that they had would not be completed and would not be able to be
implemented.
·
Some of the features may not be finished within
the time frame.
·
It is better if all team members are located in
the same physical space, although this can be countered by using collaboration
and video conferencing.
So like with the advantages customer interaction really has
an impact on the disadvantages that we face when using agile. If team members
lose interest in the project then task will not be completed, the customer has
to be able to interact with the team, if they do not have enough time then they
will not be able to attend meetings and help the team know what to do next.
Waterfall or Agile?
So looking at the advantages and disadvantages of both we
now need to know how to pick which of the methodologies would be best for us.
It depends on the team and the customer, if the team are actually going to be
invested in the project and the customer has the time to go to the meetings and
to interact with the team then agile may be the best. However, if the customer
knows what they want then you can use the waterfall methodology as it is the
best for the type of customer that you have. It is possible if you feel that
both of these methodologies work for you that you can combine areas of both so
that you have some parts of the waterfall methodology and some parts of the
agile methodology. So in terms of which one should you use, it is all dependant
on the type of customer that you have and the team that you are going to be
working in.
Conclusion
In conclusion, scrum agile is a methodology that can be used
when you are creating a product that doesn’t always have an already determined
end product, as it is iterative. This means that when being used for something
such as game design, it is better as the idea is constantly changing and you
are constantly adding new features.
Bibliography
About · TortoiseSVN (n.d.) Tortoisesvn.net.
Available at: https://tortoisesvn.net/about.html (Accessed: 9 December 2016).
Burndown Charts (n.d.) Agilenutshell.com.
Available at: http://www.agilenutshell.com/burndown (Accessed: 3 December
2016).
Cervone, H. (2011). Understanding
agile project management methods using Scrum. OCLC Systems & Services:
International digital library perspectives, [online] 27(1), pp.18-22.
Available at:
http://www.emeraldinsight.com.login.library.ucs.ac.uk/doi/full/10.1108/10650751111106528
[Accessed: 3 December 2016].
Cohn, M. (n.d.) Scrum Methodology
and Project Management, Mountain Goat Software. Available at:
https://www.mountaingoatsoftware.com/agile/scrum (Accessed: 3 December 2016).
Cohn, M. (n.d.) The ScrumMaster,
Mountain Goat Software. Available at:
https://www.mountaingoatsoftware.com/agile/scrum/scrummaster (Accessed: 3
December 2016).
Lotz, M. (2013) Waterfall vs.
Agile: Which Methodology is Right for Your Project?, Segue Technologies.
Available at: http://www.seguetech.com/waterfall-vs-agile-methodology/
(Accessed: 10 December 2016).
Meulle, V.
(2014). Agile, a practical point of view. [online] Gamasutra.com. Available
at: http://www.gamasutra.com/blogs/VincentMeulle/20140702/220083/Agile_a_practical_point_of_view.php
(Accessed: 5 December 2016).
PAULK, M.C.
(2013). A Scrum Adoption Survey. Software
Quality Professional, 15(2), pp. 27-34.
Parkash, S. (2015) Agile
Development using SCRUM - What you don't know!, Linkedin. Available
at:
https://www.linkedin.com/pulse/agile-development-using-scrum-what-you-dont-know-sri-prakash?trk=prof-post
(Accessed: 3 December 2016).
Pries, K. and Quigley, J. (2011). Scrum
project management. Boca Raton, FL: CRC Press.
No comments:
Post a Comment