ISEE 2017
DigiMinds:Reflections.
03-07-2017
Activity Monitoring
Technical challenges our team encountered:
Selection of design pattern:
Due to the high number of design patterns possibility it is a challenge to decide the design pattern precisely and suitable to the application.
Creation of Design pattern for the application:
We opted for the FACADE design pattern to code a solution to manage student’s courses or projects using a mobile application. So we used FACADE pattern to have a simplified interface to the overall functionality of a complex subsystem. In order to monitor student’s course or project work we need to know about the course, it’s requirements, data stored in the database. We consider the classes where we create sub categories and add the efforts to the tasks as a sub class. Thus creating a design pattern provides a solution for the problem which we need to solve and also it will act as a base for continuing further with the implementation process.
Understanding Android Studio:
Though we are aware of the programming language java that is used in the Android studio it was a challenge to work on the Android studio as it works on a particular flow and framework.
Coding Conventions:
Understanding and knowing the code conventions is easier but the main challenge is to take care that every member working on the development adheres to the same conventions as the following examples:
Follow Field Naming Conventions
Non-public, non-static field names start with m.
Static field names start with s.
Other fields start with a lower case letter.
Public static final fields (constants) are ALL_CAPS_WITH_UNDERSCORES.
For example:
public class MyClass {
public static final int SOME_CONSTANT = 42;
public int publicField;
private static MyClass sSingleton;
int mPackagePrivate;
private int mPrivate;
protected int mProtected;
}
Camel Case in java naming conventions
Java follows camel case syntax for naming the class, interface, method and variable.
If name is combined with two words, second word will start with uppercase letter always e.g. actionPerformed (), firstName, ActionEvent, ActionListener etc.
Challenges the team experienced by working on a software project as a team:
1.Scrum Management:Division of the different phases of development and the sub tasks into sprints and to make sure that the milestones achieved in time.
2.Too many brains but finally one conclusion one agreement:Every idea is a good idea if we think of ourselves as the ones using the system.
3.Making the team understand the ability to take criticism as there is a wide scope of development user has many points in different fields.
4.Problem solving as a team as there are different ideas but there has to be only one perfect final solution.
5.Coordination and division of tasks: There are certain phases of development and every phase has subtasks to be implemented so the member good at particular task has to assigned respectively.
6.Analytical thinking is the key to achieve any goal.
7.Flexible work hours and common time slot on which the entire team is available to work on.
Benefits the team experienced by working on a software project as a team:
Teamwork can have a different meaning when it comes to software development. Especially in light of innovative trends like DevOps and agile development, effective teamwork is becoming more of a priority for development organizations.
As a team, we experienced and learned the importance of teamwork in the following ways:
Teamwork and efficiency
When team members effectively work together toward their common goal – developing a product that will provide the best experience possible for end users – it can considerably drive their efficiency. This, in turn, helps drive a faster time to market and prevent coding and other development mistakes.
The key things experienced here involve communication and collaboration. When developers are able to clearly communicate with one another about their needs, the overall demands of the project and specific work processes, team members can be more productive in their actions and improve their collaboration.
Teamwork and creativity
Supportive teamwork can also help drive creativity among a group of developers. This capability builds off of the communication and collaboration capabilities seen with efficient teamwork processes. When team members feel comfortable expressing themselves among their fellow developers, they can be more confident in their introduction of new ideas, concepts and processes. Enabling and encouraging creativity among the team can significantly improve the final product, and can even result in advancements and innovations that might not have been part of the plan from the start.
Teamwork and innovation
Creativity in a development team can also pave the way for considerable innovation. Every advancement that has taken place in the industry so far first began as an original, ground-breaking concept that stemmed from an individual or a group’s ability to be creative. In this way, teams that
are confident in the ability to be creative will also be the organizations that likely create the next big innovation in the marketplace.
How the course did meet your needs or fall short:
Course meets the needs as it gives the knowledge of the software development process and flow and also gives the credit points required to satisfy the basic module in the Digital Engineering course.