What To Look For In An IT Project Manager

what-it-manager

IT projects are finally seeing an improvement in success rates after years of struggle. According to 2017’s Pulse of the Profession report, companies are wasting 21% less money on failed IT projects than the year before.

Agile development methods are one contributing factor, but what really drives success is the leadership and organizational skills of experienced IT project managers.

A quality IT project manager sets the tone for how an entire project will proceed.

They mean the difference between a project that barely meets standards (or fails entirely) and a project that succeeds well past expectations.

In fact, 80% of high performing IT initiatives are led by trained project managers.

With results like that, it’s worth taking some time to explore how to spot a good project manager.

Why IT-Specific Project Managers Matter

Agile software development has shown its worth, but it does has a lot of moving parts. Project managers make sure all those diverse components come together to create a high quality end final product.

They handle regular management duties like coordinating with their team members, overseeing operational requirements, controlling costs, and ensuring quality.

On top of those, the Agile process involves frequent and detailed communication with clients.

IT projects in particular can be challenging to manage without specific technical management experience.

Those unused to managing software projects often don’t have the knowledge base to understand challenges presented by technology.

They can’t understand technical jargon, which makes it hard for them to serve as an intermediary between clients and engineers.

Non-technical PMs also have trouble managing sprints and adjusting a project’s overall scope in reaction to change.

Qualities of Good IT Project Managers

Hollywood is full of unconventional leaders and quirky team dynamics, but in the real world there are some traits found in every project manager.

  • Organized enough for the whole team: The best PMs are more than just tidy. They’re organized enough that everyone under and above them can easily understand the state of the project at any given time. While they can’t do every bookkeeping task for their team, they can reduce the complexity of tracking efforts so technical team members waste as little time as possible.
  • Facilitates good communication: Communication is key to successful software development, and project managers serves as the communication hub. PMs need the written and verbal skills to clarify client requirements, convey those to the developers, and translate technical concerns back to the client as needed. This requires at least a user-level understanding of technical jargon. Empathy is also critical. Project managers must foster relationships where clients and developers both feel comfortable sharing ideas and concerns.
  • Strong business sense: Project managers go beyond just getting the project done. They make sure it gets done profitably for all involved. Having a good idea of the business value desired by a client allows them to develop with an eye towards maximizing that value. Plus, many development firms offer bundles or set package rates to stay competitive. Ballooning costs can’t be passed on to clients, so project managers must be absolutely on top of budgets. The best guideline is to look for PMs who are aware of where a project fits within both their own company’s business goals and their client’s digital strategy.
  • Encourages teamwork: Teamwork isn’t just a buzzword. Good software is built by good teams. A smart project manager recognizes and values every team member’s contributions. Rather than waiting for conflicts to impact productivity, project managers actively work to keep the work environment conducive to good morale and motivation. They should develop a detailed understanding of each member’s capabilities to make budget estimation and spotting potential problems easier.
  • Cool under pressure: This quality is hard to spot in an interview but easy to see in action. Project managers have to be able to calmly assess a chaotic situation and find the most efficient path through. Many a project has been saved from failure by the timely intervention of a project manager, so quick decision-making skills are also a must.

A final caution

97% of Fortune 500 companies say good project management is critical to project success – yet somehow, projects are still begun without an experienced PM at the head.

Nine times out of ten the reason for skipping the project manager is financial.

In the absence of experienced leadership, though, IT projects risk becoming one of the 17% of project that fail so badly they threaten a company’s future. They’re nearly guaranteed to run over schedule and cost more than twice their initial estimates.

That makes cutting out project management counterproductive as a cost-saving tactic.

The bottom line is simple: there is always room in the budget for project management.

At Concepta, our IT- trained project managers stay with teams from project to project, giving them a deeper rapport and more understanding of what their team can do. Set up a complimentary meeting to find out how you can harness their skills to turbocharge your next development project!

Request a Consultation

React Native vs. Objective-C: The Right Tool for Software Development

react-native-objective-c

Choosing the right tools for software development is a tricky proposition. Each language and framework has its own strengths and weaknesses.

To complicate the matter, it can be hard to see where newcomers like React Native fit with old standbys like Objective-C.

Read on to learn how these tools stack up against each other- and which is right for your next software project.

What is Objective-C?

Objective-C is a general purpose programming language used in iOS and OS X operating systems and APIs.

It’s a superset of the C programming language and can call C++ code.

Programmers describe the language as a cross between C and Smalltalk, from which it derives its object-oriented capabilities.

Though Objective-C is one of the earliest programming languages, it can still be useful.

It’s still needed when working before iOS 7+, Mac OS 10.9+, and in all versions of tvOS and watchOS.

In Objective-C categories offer the ability to add functionality to an object without changing the actual object.

Programmers can define new methods and add them to classes for which the source code isn’t available.

Rather than calling methods, Objective-C uses message passing. It interacts with objects by sending messages.

The object then has options for how to interpret the message.

For example, it can invoke a method that matches the message, broadcast the message to a group of objects, forward it to a single object, or introspect it & apply custom logic.

Messages are implemented at runtime and don’t throw runtime errors when they go unexecuted.

Memory management is reasonably simple, with limited options for how to accomplish it.

Objective-C is entirely geared towards simplicity, in fact. There are no templates, multiple inheritance, or other features which lead to complexity.

Benefits of Objective-C

Simplicity

Objective-C is small, direct, and easy to learn.

Dynamic typing

There’s also support for static typing when desired.

Intuitive message syntax

Message patterns read much like spoken sentences interspersed with colons.

Automatic garbage collection

This is optional; programmers can use a reference counting system if they prefer.

Limitations of Objective-C

Steep learning curve

Developers need to have a grounding in C, so they effectively must learn two languages.

Mainly for iOS applications

Other platform implementations exist but aren’t really used

Older language

Objective-C is vulnerable to being phased out as Swift gains more attention and usage.

React Native: A Better Path to Cross-platform?

React Native is a mobile app development framework that allows cross-platform apps to be written entirely in JavaScript.

It’s an open source project started by Facebook. React Native works a lot like React, which excels at single page web apps.

Apps built with React Native don’t run in a web view like hybrid apps.

They’re cross-platform mobile apps from the ground up and when finished are similar to those built using Objective-C or Java.

Developers can reuse the codebase (or at least part of it) between Android and  iOS. Actually, about 90% of the codebase can be reused across platforms.

Another benefit of React Native is interoperability.

Developers may write components in Objective-C, Java, or Swift. It features hot reloading, too, so apps can simply be reloaded instead of needing to be recompiled.

Components are simple to build if developer can’t find one for a particular use.

They can be edited without affecting child components thanks to React Native’s downward data flow.

Benefits of React Native

Faster development

Smaller teams are needed, and development timelines are shorter.

Mobile-focused

React Native apps perform better than many hybrid apps.

Active and engaged community

The huge community of enthusiastic React Native developers is constantly adding to their catalogs of freely-available components.

Limitations of React Native

Newer framework

React doesn’t have a component for everything yet, and there aren’t as many skilled developers available.

Not suited for heavy graphics and calculations

Objective-C outperforms it here.

Slow

Performance can be lower than with native apps. Developers can get around this by incorporating native modules.

Technically in beta

Some developers fear React will be abandoned, like Parse was.

How They Stack Up

Comparing Objective-C and React Native is a bit of a mis-step. They’re different tools for different jobs.

Objective-C is mainly for iOS and OS X while React Native is meant for cross-platform mobile development.

Objective-C has its loyalists and is still a decent choice for iOS apps. However, there are very few reasons not to move to Swift when working solely for Apple devices.

When going cross-platform, React Native is a solid alternative to hybrid. The concern now is longevity.

All signs indicate Facebook will continue to maintain React Native but longevity is always something to consider when using a new tool.

No tool is always the best for every project. If your company is working on a mobile app, set up a complimentary appointment with Concepta’s developers to discuss the best tools for your specific purposes.

Request a Consultation

Best Software Development Trends of 2017

software development trends

Developers have been pushing two goals this year: efficiency and customization.

The most popular trends have been those that either streamline the development cycle or offer features tailored to the changing needs of end users.

Mobile technology is beginning to take center stage for developers (you can read about our top mobile trends here) but there are some exciting trends brewing in the general software community, as well.

Here’s a closer look at the ones drawing the most attention:

Chatbots

Consumers have heavy expectations of customer service.

When contacting a company via the in-site messaging service or social media, nearly half expect a response within an hour.

A third want a reply in thirty minutes.

Rather than maintain a twenty-four-hour customer service staff, companies are adopting chatbots and chatbot-enhanced technology to keep customers happy after hours.

Chatbots employ Natural Language Processing (NLP) to let programs understand free form questions and reply in natural speech patterns.

Gartner predicts that by 2020 customers will manage 85% of their brand interactions without speaking to a human.

Macy’s has programmed their On Call feature to provide some more custom services: personalized product recommendations, directions to items within a store, and responses to common shopping questions.

Platform as a Service (PaaS)

PaaS is a cloud-based solution for developing, operating, and managing applications.

PaaS providers supply both hardware and software services to developers, who can log in via a web browser and begin building with a minimum of setup.

Some experts predicted it would fizzle out due to concerns over security risks and lack of developer control, but it’s been enjoying a resurgence in popularity in 2017.

Open Source

Open source databases like MySQL and MongoDB have long been popular because of the lower price point.

Now software built on other open source technologies is increasingly in demand for other reasons: scalability and innovation.

The exploding collection of available plug-ins lets companies create software that meets their exact needs.

Agile

With technology changing at such a rapid pace, agile methodologies are more important than ever.

Agile emphasizes responding to change on an ongoing basis, listening to client feedback, and delivering many small portions of a project as they’re finished rather than holding everything until the end.

This year Agile is being praised for one byproduct of iterative development: security.

Bugs which might cause vulnerabilities in the finished software can be fixed after every mini-deliverable instead of waiting for the end.

Doing so keeps the development timeline short while improving the quality of the final product.

Automation

Automation has been edging onto the development scene for a while.

Automated actions are often confused for intelligent software, though unlike AI programs automation doesn’t use past experience to refine its algorithms.

It involves maintaining a list of processes which are triggered by specific conditions.

Some common processes are spam filtering, offering to resolve an error message rather than simply alert to the error, sorting new customers, and sending follow-up emails after a comment or complaint.

Though it lacks the responsive nature of a chatbot, automation does give end users an additional suite of partially customizable features.

Artificial Intelligence/Machine Learning

With cloud computing and storage becoming widely affordable, experimenting with artificial intelligence has never been easier.

This year the focus is on using AI to improve the customer experience.

Consumers want personal service around the clock, and AI is a cost-effective way to provide that service regardless of time zone.

Look for AI and ML-powered customer-facing features like online assistants, website design tools, facial recognition, and recommendation engines.

Data science

Data is being created at a faster rate than ever before, and companies are looking for solutions to make sense of their data.

Those solutions may be custom software, embedded analytics, testing procedures, or simple process changes.

Whatever the form, data science is becoming an essential part of software development.

Experts predict the drive for customization will continue through the end of the year and beyond, so we can expect more emphasis on features like chatbots, intelligent programs, and automation in the coming months.

Read about more industry trends from our blog. Here are the best web development trends and best mobile app development trends of 2017.

Can these trends help modernize your digital presence? Drop us a line to ask about your own software development needs.

Request a Consultation

Balancing Speed and Security in Software Development

speed and security in software development

The rise of agile methodologies has resulted in faster, more responsive development.

Faster isn’t always better, though.

Security threats are a growing problem, and pushing too hard for fast development can leave an app vulnerable to attack.

The leadership team has to find strategies to maintain the balance between speed and security.

Rise of Agile Development

The roots of agile development can be traced back well before the Agile Manifesto was first drafted in 2001.

Business owners were becoming frustrated by inefficient development practices that drew the process out over as much as a decade.

A distressing number of projects wound up obsolete before they were even finished.

The Waterfall Method was meant to provide a more flexible planning structure, but in practice it failed to deliver on that promise.

Gartner described the situation neatly: “CIOs are under pressure to support fast-evolving digital business scenarios but are finding traditional project and development methods unsuitable.”

Enter agile development.

Agile supports fast, iterative software development that allows developers to fine-tune features in response to feedback.

It’s a lightweight, adaptable solution.

Its benefits are so clear that 95% of developers use at least some agile methodologies (up from 80% in 2011).

However, speed isn’t the only thing that needs to be considered.

Growing Security Threats

If there’s one thing that can damage a company’s reputation faster than a product failure, it’s a data breach.

31% of consumers affected by a major data breach will abandon a company, and 65% report less trust in the company’s ability to handle their personal information.

A major security break does more than lose public trust; it can be devastating to a company’s bottom line.

Yahoo’s 2012 data breach caused the company’s value to drop an estimated $1 billion.

Even a minor incident can cause a stock drop of 5% or more.

Despite the very real threat of malicious activity, companies aren’t taking the proper precautions to protect their apps.

Nearly 75% of apps produced by contractors and Software as a Service (SaaS) providers fail to prevent OWASP’s Top Ten, a list of the ten most critical security flaws that no software should have on delivery.

Sometimes these flaws are oversights. 80% of executives say the demanding pace of app development makes it hard to know what’s safe and what isn’t.

Other times, testing is trimmed to almost nothing in order to meet tight deadlines.

Either way, security flaws put the company is at more risk than fallout from a late product release.

Finding Middle Ground

83% of CIOs say they need to balance security concerns with meeting market deadlines.

To find that sweet spot between quality and speed, keep these four tips in mind.

    1. Choose a developer with a good security record. Taking the lowest bid for a project without checking past projects is a gamble leadership should never take.

 

    1. Make speed and quality equal priorities. Bugs compromise security, and since fixing a bug after release is four to five times more expensive, sloppy testing procedures can cost more than faster development saves.

 

    1. Use agile testing tools and test case management solutions. There are testing tools specifically designed for agile development, and using these makes development faster as well as more secure.

 

  1. If the timeline is very short, don’t take shortcuts in testing. Instead, cut time by cutting features that can be added in later updates. This will have the added benefit of letting user feedback shape the scope of those new features.

The Best of Both Worlds

If you’re working with a quality software developer, speed and quality don’t have to be mutually exclusive.

Emphasize the importance of security, and be willing to hear suggestions for how to cut time without cutting corners.

With these precautions, your company won’t be one of the 1,000-plus data breaches expected in 2017.

Worried about security? Talk to Concepta about how we can make your next app more secure.

Request a Consultation

Learn How to Ensure Data Integrity for Enterprise Systems

data integrity

Variation in quality has always been a serious business risk. Customers and business partners want someone to rely on — a supplier that delivers the same level of quality every time.

The problem has always been that some variations are nearly impossible to control, thus losing data integrity. Many management philosophies have arisen over the years to draw the connections between customer expectations, quality and variation control.

Since its heyday in the 1990s, total quality management (TQM) has evolved into Lean and Six Sigma, but the fundamentals are still in place: control variation, improve quality and satisfy expectations.

The Merging of Two Trends

What has changed significantly over the past few years is that two disruptive trends have reinforced each other to give enterprises a powerful new tool for higher quality and better control.

Those two inter-related trends are the ubiquity of mobile and the cost minimization of software development.

Now, custom-designed mobile apps are easy to make and can shine the light of data analysis into every corner of the enterprise.

Consider this use case:

Color Correction at a Paint Manufacturer

A paint company is proud of its futuristic online paint ordering system. A commercial customer can copy and paste a photo from a laptop or a mobile phone onto their website.

This will be the color of the walls at their new HQ. The backend imports the color from that photo and generates a paint batch order. So far so good.

In the production facility, a paint specialist mixes up 100,000 gallons of the paint in the mixer, but he gets distracted. He’s training someone new and the boss just called on him to find out what’s wrong with one of the other machines on the floor.

When he gets back, he forgets that he didn’t include one of the ingredients or he used the wrong amount. Maybe he has a paper checklist, but he just ticks the box out of habit. As far as he is concerned, the job is done, and he moves on to the next project.

The problem is only discovered when it reaches the client, who is stuck with 100,000 gallons of the wrong color, possibly delaying the completion of their HQ and all the fallout that entails.

This leads to internal conflicts at the customer, and the paint manufacturer has to make it right.

It’s quite likely that they will lose the customer and all their repeat business. Forget about referrals. The paint manufacturer is lucky if the entire story doesn’t wind up on social media.

The End Result

To stop the damage and prevent this situation from impacting other customers, the paint manufacturer needs data they can rely on.

They need a way to trace the problem back and find out exactly what happened to the batch.

An action trail with verified data integrity is the only way the enterprise is going to be able to prevent something similar from happening in the future.

There are only so many chances the enterprise will get.

The Software Solution

Mobile and the growth of custom software development companies are the keys to quality control and data integrity at every stage of enterprise processes.

That’s just as true for service providers as it is for traditional manufacturers.

Custom software development and mobile applications can now reduce risk and offer insights that improve quality everywhere.

Enterprises where complexity is high and visibility is low have the most to gain. So do their customers.

For more information, contact Concepta today and…

Share With Us Your Challenges