Close

Project Management

Definition:

IT project management includes overseeing projects for software development, hardware installations, network upgrades, cloud computing and virtualization rollouts, business analytics and data management projects and implementing IT services.

Five phases of a project and the involvement of the project manager

Initiation – the project goal, need or problem is identified and a project manager is assigned.

Planning –at first the project manager plans all of the needed steps to reach a successful project conclusion while being as detailed as possible. Planning will happen often throughout the project as well, not just in the beginning.

Execution – once the first comprehensive planning is done, the project team goes about executing the project plan.

Monitoring and controlling – as the project is being executed, the project manager monitors and controls the work for time, cost, scope, quality, risk, and other factors of the project.

Closing – at the end of each phase and at the end of the entire project, the project manager makes sure that all of the work has been completed, is approved, and  transferred.

UX / UI

Definitions:

User experience design (UX, UXD, UED or XD) represents the process of ensuring user satisfaction with a product by fine-tuning the usability, accessibility, and enjoyment provided in the interaction with the product. User experience design includes traditional human–computer interaction (HCI) design, and extends it by addressing all aspects of a product or service as perceived by users.

 The user interface (UI) is the space where interactions between humans and machines occur, with the purpose of allowing effective operation and control of the machine from the human end, while the machine simultaneously feeds back information that aids the operators’ decision-making process.

UX vs UI

UX designers are primarily concerned with how the product feels. UX designers explore many different approaches to solving a specific user problem. The broad responsibility of a UX designer is to ensure that the product logically flows from one step to the next. One way that a UX designer might do this is by running user tests to observe one’s behavior. By identifying verbal and non-verbal problems, they refine and iterate to create the “best” user experience.

Deliverables: Wireframes of screens, storyboards, sitemap

Tools: Photoshop, Sketch, Illustrator, Fireworks, InVision

Unlike UX designers who are concerned with the overall feel of the product, user interface (UI) designers are interested in how the product is laid out. They are in charge of designing each screen or page with which a user interacts and ensuring that the UI visually communicates the path that a UX designer has decided. UI designers are also typically responsible for creating a cohesive style and ensuring that a consistent design language is applied across the product.

Mobile software product management

Software product management is the process of managing software that is built and implemented as a product, taking into account life-cycle considerations and generally with a wide audience. It is the discipline and business process which governs a product from its creation to the market or customer delivery and service in order to maximize revenue.

The fundamentals of product management are the same, but there are a few key differences between the goals of general product managers and mobile product managers, especially regarding the prioritization of projects and the delivery of new ideas for product improvement:

  1. Make a timeline – map out the various stages and deadlines of the project
  2. Pick one platform, build the app, and learn – whichever platform you chose for your mobile app, choose only one to start.
  3. Think about building native – choosing to build a mobile website first may be the best course of action. With this method, you can test whether or not your product has a market fit before spending the time and money on developing a native application
  4. Desktop vs. mobile – Your mobile product should be a streamlined product that utilizes only the necessary features that mobile consumers need
  5. iOS vs. Android
  6. Consider cross-platform development – Another approach takes advantage of both platforms by using cross-platform development frameworks such as Corona, Unity3D, PhoneGap, Titanium, Xamarin, etc
  7. Simple use cases – It is best to build your mobile app around simple use cases. Remember, less is more!

QA and testing for mobile apps

Quality assurance (QA) represents a way of preventing mistakes or defects in manufactured products and avoiding problems when delivering solutions or services to customers.

Quality assurance includes administrative and procedural activities implemented in a quality system so that requirements and goals for a product, service or activity will be achieved. It is the systematic measurement, comparison with a standard, monitoring of processes and an associated feedback loop that confers error prevention.

Mobile application testing is a process through which software developed for hand held mobile devices is tested for its functionality, usability and consistency.

Types of mobile application testing
  1. Functional testing
  2. Laboratory testing
  3. Performance testing
  4. Memory leakage testing
  5. Interrupt testing
  6. Usability testing
  7. Installation testing
  8. Certification testing
  9. Security testing
  10. Location testing
  11. Outdated software testing: OST
  12. Load testing
  13. Black box testing
  14. Crowdsourced testing

Mobile app development

Mobile application development is a term used to describe the action or process through which application software is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones.

Front-end development tools

Front-end development tools focus on the user interface and user experience (UI-UX) and provide the following abilities:

UI design tools

SDKs to access device features

Cross-platform accommodations/support

Back-end tools 

Back-end tools continue the task of the front-end and provide a set of reusable services that are centrally managed and controlled and provide the following abilities:

Integration with back-end systems

User authentication-authorization

Data services

Reusable business logic

Agile Software Development

Agile software development (ASD) is a methodology related to software app development for the creative process that anticipates the need for flexibility and applies a level of pragmatism into the delivery of the finished product. Agile software development focuses on keeping code simple, testing often, and delivering functional bits of the application as soon as they’re ready. The goal of ASD is to build upon small client-approved parts as the project progresses, as opposed to delivering one large application at the end of the project. The methodology embodies the principle that continuous adaptation of the process to the work at hand is the normal state of affairs.