Developer Update 24-05

Hello UpStage Community,

 

Sorry for the delay of the posts. This post meant to be a summary of the completing team members: Charlotte Paterson, Gaoxin Huang and Yue Li. This blog records my thoughts as the Quality Assurance at AUT UpStage Team throughout team’s progress from 2014 – 2015.

Status

In the last few months, UpStage public was down due to unknown server issues. Currently all the clues indicate to the V3 server deployment. As we discussed with our supervisor in a recent meeting, team was asked to backtrack the git commits to the previous releases. The results currently have identified issues about mtasc and swftools compilation. Team will further investigate in mtasc and swftools compilation processes.

  1. Identified symptoms of mtasc compilation failure: Server installation is successful; however, when user enters a stage, the stage may never load due to missing compiled files such as client.swf.

A remedy for this has been updated on UpStage wiki for server installation & compilation processes.

Team will look into swftools compilation soon.

From the completing team members

As the completing members joined in AUT UpStage Team, UpStage has been under this transition from the Version 3 development into a total redesign of UpStage.

Due to the nature of UpStage’s status and team’s knowledge set, team decided to look for open source technology candidates in a breadth-first manner in order to get a more precise idea of what team can do better in the future. Team also applied the principles from Design Science to form research stages: including problem identification (artefact), potential candidate allocation, prototyping, and evaluation. Then team defined 3 main research areas: Flash (as the front-end),  Text-to-Speech systems and Video streaming technologies. However, our research results did not meet team’s expectation in the semester 2, 2014. Team concluded the research drifted away due to the weak connections between the researched topics.

One of the important lessons is to understand the current implementation properly. Team must firstly understand the weaknesses of the current implementation before research commence.

Over the summer, team spent more time on obtaining sufficient understanding of UpStage business logic and the software components. During summer holiday, team prioritized Flash research over the other two due to the urgency of environment change (NPAPI deprecation). Meanwhile, team practiced UpStage server installation, and found issues remain in the server deployment processes. At the time, team was not sure about the cause. Team identified the possible areas in Debian server configuration and dependencies installation processes. Such amount of work helped team to resolve server setup issues in the beginning of semester 1, 2015, although some problems remain unresolved. Team recorded the issues, and this will enable the team to narrow down the search area and locate the cause in the future.

In semester 1, 2015, team made progress in Flash research. Team applied the principles from Design Science, and completed a proper regulative cycle (artefact, solution design, implementation and evaluation). Team advised only the shortage of current V3 implementation as the artefact the most efficient and effective. This advice prevents team to deviate from its planned tasks for one research area. The downside for this approach is time consuming. Team advised to record the research actions promptly, so that future teams do not reinvent the wheels.

As we are approaching towards the end of our term, we have considered following tips for the future teams:

  1. Frequent communication between team (including developers from community), clients and supervisor must be well maintained (for instance, a protocol for team members to check emails daily, or set up an email client on desktop). These will reduce the chances of confusion between project stakeholders. This approach works very well for introducing new members into the team.

  2. Always write a note recording of individual work, especially on team Github repository. All the changes must have proper commits (all the pull request/changes must have comments regarding what action taken, why changes made, and possibly an analysis of thoughts based on experience). Comments are useful to track about previous work.

  3. Time is one of the three constraints in a project. Timing is important as it affects all the development/maintenance activities, and has a great impact on project progress and deliverables. As a final year project, time is fixed. We would recommend working on the most important task rather the trivial ones.

  4. Scope & Cost, as the QA of the team, I think UpStage is much more flexible on these 2. The project scope can be very different from the initial project proposal. Considering this may be a very difficult task for new members to understand what happened in the past and come up with sound project deliverables and realistic plans in the first place. Aim small, and to be specific on what team will achieve. UpStage contains many components. Each component can be reshaped into a rich research area. I think our team failed to identify the specific tasks. We paid quite a lot effort on this.

  5. Methodologies, Upstage’s unique properties require development team to use different components/techniques from a wide range of software development methodologies. It may be possible to use Lean to limit team’s workload, and this will be useful for team providing ongoing support for the legacy software. Pair programming is handy for new members to absorb knowledge from predecessor team members.

 

UpStage has been a great complement for our uni studies. We hope we can assist our future members to achieve more.

Best regards
Charlotte Paterson, Gaoxin Huang & Yue Li