Atlantic Business Technologies, Inc.

Category: Development

Here, you’ll find insights on programming languages, frameworks, and techniques that shape the web and software landscape. Whether you’re a developer looking to refine your skills or simply curious about how things work behind the scenes, this space offers practical knowledge and thoughtful perspectives.

  • Are Your Critical Business Applications Keeping Up with the Times?

    Most businesses today have at least one (and likely more) business applications that they use to move information, connect with customers, process transactions, monitor systems and more. These critical business applications are essential to the health of your business. In many cases, vital parts of your operation may completely shut down if these applications were not available. But how much do you pay attention to the health of these applications? And, are you making sure that they are keeping pace with new developments in technology? In this post, we’re going to explore three elements that pressure your critical business applications.

    Three Pressures on Your Critical Business Applications

    1. Changes in your business process. Over time, business processes change for a variety of reasons, such as shifts in customer needs, regulatory requirements, data collection/storage, and workflow. If your critical business applications do not adjust to fit these changes, it will get harder to work with them. For example, your business may have shifted collection and management of customer information from a call center to an online account through your website. If your core business systems storing that data are not redesigned to work with the web front-end, you will soon experience large gaps in customer information. This will threaten your ability to run your business processes efficiently.Solution: Periodically review your critical business applications against your workflow with the assistance of an application architect. This will identify the gaps and engineer solutions that will keep your applications aligned with your workflow.
    2. The Rise of Mobile. Smartphones and tablets are so integral to our daily routines that we are almost lost without them. Your customers and your workforce both expect to interact with you via mobile. Are your systems mobile-compatible? Have they been designed to be responsive to the needs of tablet and smartphone users?Solution: Start by determining whether mobile is a critical part of how users interact with your business applications. For any system that needs a strong mobile component, you should work with user experience specialists and developers to re-engineer your application to work in the mobile environment. For example, if the user is required to enter too much information into a single screen, you should break out your input requirements across several screens.
    3. The Importance of Speed and Access. In today’s business environment, speed is one of the most important performance indicators. If your applications are fast and always available, you will reduce friction and satisfy the needs of your customers and your workforce. Unfortunately, too many critical business applications in use today were built for a different era. And as a result, they cannot keep pace with the demand for speed. Today, many new business applications are designed to work with cloud platforms, such as Amazon Web Services (AWS). This improves critical performance measures such as uptime while reducing lag (loading time). It can also improve security and help you better manage your infrastructure costs.Solution: Work with a qualified Web hosting engineer to explore the available hosting platforms that can house your business applications and meet the performance demands of your business. One of our clients, WBAL, experienced this first-hand earlier this year when they saw a 2000% increase in traffic to their core news website during the Baltimore riots. We architected their system on the AWS platform to handle such demands in traffic while balancing their need to continue publishing updated news stories to the site.

    Ready to Modernize Your Critical Business Applications?

    At Atlantic BT, we specialize in solving your toughest digital problems—including making your critical business applications drive the success of your business. If you’d like to learn more about how your business applications can perform better in today’s business environment, contact us today. Our consultants can conduct a thorough evaluation of your applications, help you explore the options available to you, and put together a roadmap to transform your critical applications for near- and long-term success.

  • Why Original Web Content Matters to Your Business

    When your customers seek out solutions for the problems they face, the Internet is the first place they look.

    [pull_quote]“They come for information that answers their question or helps them complete their task. They want that information to be easy to find, easy to understand, up-to-date, and credible.” -Ginny Redish[/pull_quote]

    You need to make sure your solution is easy to find, easy to understand, up-to-date, and credible. The best way to do this is by writing original web content that grabs your audience’s attention.

    To create content that stands out, it’s helpful to understand how your customers use online information. Thankfully, the explosion of data made available by the Internet has allowed us to analyze how web users consume online content and what drives their behavior.

    How Consumers Use Online Information

    Google has studied consumer shopping behavior extensively. Many shoppers now search for online product descriptions as well as professional and individual consumer reviews before making a purchase decision. Google calls this consumer decision-making process the “Zero Moment of Truth (ZMOT).”

    According to a shopping behavior study by Google and Shopper Sciences, the Zero Moment of Truth has become more important in recent years:

    • 88% of U.S. consumers now engage in ZMOT research before making a final purchase decision.
    • Consumers consult an average of 10.4 sources before buying and this rate continues to rise.

    As consumers research their purchases online, the question then becomes: “Who is controlling what they see about your product or service?” If you don’t take action to provide the information they’re looking for, someone else will—essentially controlling the conversation with your potential customer.

    The First Step to Leading the Online Conversation

    How do you attract visitors and ensure they see your content instead of someone else’s?

    In User Experience (UX) workshops with our clients, it becomes clear that website visitors often prefer search to find what they want, rather than browsing or navigating a website. This makes sense. Given the sheer volume of websites, menu items, and possible ways to browse, navigating content can be overwhelming.

    Therefore, if you want to lead the online conversation about your products and services, the first step is to make sure search engines rate your page highly.  The art and science of doing this is called Search Engine Optimization (SEO).

    How SEO Relates to Your Content

    According to recent research, Organic Search is responsible for 64% of your web traffic. The term Organic Search refers to Search Engine Result Pages (SERPs) that appear based on their relevance to search terms the user entered. This is not the same as paid advertisements. As search engine algorithms become more sophisticated, they’re getting better at understanding what users are looking for. As a result, they can provide the most relevant possible results.

    Google is now putting a high emphasis on sites that are considered to have a high level of expertise, authoritativeness or trustworthiness.” This makes it essential that all your online content conveys expert, research-backed opinions in order to win consumers’ trust.

    It’s also vital that you produce original, authoritative content that demonstrates thought leadership in your field. Don’t simply forward or re-post content other people have written. Instead, flip the 1% rule in your favor and become a content generator that others link to and follow.

    By understanding what your audience is searching for and how search engines find it, you have insight to create original and trustworthy content that will catch the eye of your customers. If you’re looking for more guidance as you build a content strategy that works for you, we’re happy to help.

  • 5 Questions You Need to Answer Before Taking the Big Magento Leap

    Thinking about moving your eCommerce platform to Magento? Of course you are. It’s the perfect next step—the platform you need to integrate the real world with a virtual shopping experience. Magento has the organization you need for all your products, and the analytics to measure your marketing and sales strategy.

    All that said, transitioning to Magento is far from simple. Beyond making sure you can make sales on the platform, you have to think about getting the right integrations, setting objectives for your website infrastructure, developing a content strategy, and much more. If you don’t already have an in-house team or outside contractor working on this, you might be wondering:

    What exactly am I getting myself into?

    It’s easy to get overwhelmed. When moving from a different CMS, there are a million things to consider. You’ve been researching. You’ve gone through the checklists full of words you don’t quite understand. How are you going to use social shopping? What hosting system are you using? How are you integrating your CRP? Don’t get distracted by these specific questions. What you need to worry about is the big picture. To get to that understanding, here are some larger questions about your current CMS and the one you want to have which can help you not only set goals, but see what a switch to Magento could really look like.

    1. What Do You Already Have?

    You’re probably thinking about Magento because you want to improve the customer experience, have better control of your inventory, do better social shopping, or just have a stronger CMS. All that said, you don’t need to re-invent the wheel. You have a growing business, so clearly some parts of your system are working well. It’s important to look at the system you’re using right now and ask yourself the following questions:

    • How many daily and peak time page views or purchases do you have? (Use your site analytics if you need help finding this information.)
    • What hosting system are you using? What kind of environment?
    • Who manages your site?
    • How are various systems integrated into your website?

    By looking at these factors, you can see what’s working with your current platform and what you need to change.

    2. What Are Your Objectives for the New Platform?

    Now that you see what you’re working with, you can set goals for the new platform. To set these goals, ask yourself the following questions:

    • Why are you unsatisfied with your current platform? What do you want to change?
    • How much time do you have? When do you need this new platform?
    • Do you want to change your analytics? What number of page views do you want? How many purchases at peak times? Can these metrics be improved and how?
    • How much control do you need? What are you enabling the consumer to do?

    And that’s just the tipping point. You also need to ask about integration, content delivery, navigation, shopping carts, and everything that will make your online store run. What’s important is to write and even draw what you want to accomplish. Once you can set these objectives, you’re ready to start working.

    3. Who Do You Want on Your Team?

    This is going to be tough. Just as setting up a physical store takes a great deal of effort, there’s a lot that goes under the hood of a usable CMS system. You need a good team. You need to assemble IT Project Managers, Business Analysts, Technical Analysts, HTML Developers, PHP Developers, QA Engineers, System Administrators and Database Engineers.

    IT Project Managers and Analysts can help you take the information you have on your old platform to set goals. Those members of your team can put you in motion to make the website happen. If project managers and analysts are the planners, developers are the doers. With HTML and PHP developers who are Magento Certified, you can make that transition to create the eCommerce website of your dreams. System and Database engineers help even further with the backend, making sure every element that needs to be in your store is there. All of these players, from developers to administrators to engineers, make eCommerce happen.

    It is also especially important that members of your team are trained in Magento Enterprise Edition. Knowing which people you want to use and how they can help your dream store happen can help paint a picture of what this switch would look like.

    4. What Kind of Training Will There Be?

    Perhaps more important than setting goals, assembling the team, and even figuring out what to bring from your old platform is making sure your team is ready to use the system. You need to make plans on how you could train your employees to use the new eCommerce site and assist customers. To do so, ask yourself the following questions:

    • What in-house skill sets already need to be improved?
    • What departments need to be trained?
    • Who will provide the training?
    • What training will be provided before the site goes live? What training will happen after?

    By evaluating what you need to train and who you need to train, you can make way for a more successful launch. This also sets up these trained individuals to be able to provide support on an initial and ongoing basis to make your platform totally usable.

    5. How Does This Affect Other Projects?

    Now that you have your team, your plan, and arrangements for training, you can look at how this affects your whole business. You need to ask yourself:

    • Is this project dependent on other projects being completed?
    • Do other projects depend on this project being completed?

    Find out what you need to know. Once you decide what you need to do to get your project rolling and what projects can be done after the new CMS is fully integrated, you can move forward.

    Moving Forward with Magento Security

    After going through these steps, you have a fully formed plan to move forward with your Magento eCommerce site. However, before you start any work on your store, make sure your eCommerce solution is secure. If you don’t have the right patches or Magento isn’t up to date, anyone could run a script to steal your customers’ information. If there’s someone scraping credit cards, your business could get shut down. You’ll fail before you get a chance to succeed. The best way to prevent that is to get a code audit before launch. To learn more about how Magento code audits can protect your online store, contact Atlantic BT for help or to request a code audit.

  • How to Hire the Right Developer

    Your deadline is coming up and your new app build is behind schedule. And as your blood pressure rises, you get an email from your boss. It’s a request for a new feature to amaze all your users ”or there will be a problem.” The good news? Your budget allows you to bring on a new developer to help with the overload. All you need to do is find, interview, and hire the right developer and your project will be back on track.
    Unfortunately, finding the right developer is never a simple task. There is an avalanche of things to consider before you can even begin looking for a candidate. What skills does the project require? Are there specific time constraints? What team dynamic do you want to build? After answering these questions, you need to have your recruiting and interview process prepared. Finally, you find the right candidate! But your job isn’t finished yet. You need to have your onboarding plan in place to integrate this new developer into your team. Then, they can begin to contribute as fast as possible.

    If this sounds like a complex task, it’s because it is. But don’t panic. This post will walk you through some guidelines to identify your specific needs, find the right candidate, and integrate them into your team smoothly.

    How to Identify Your Developer Needs

    The first step to staffing up for a custom software project is determining what kind of developer help you actually need. To figure this out, you need to ask yourself two kinds of questions: questions of timing, and questions of ability.

    Questions of Timing

    1. How soon do you need this developer’s help? Immediately, within the month, or sometime next quarter?
    2. How well can you predict what this developer’s workload will be? This is especially important if you have an immediate coding need but aren’t as sure about next steps like deployment or support.
    3. Do you want this developer to help with one particular project, or a series of similar projects over a longer period?
    4. If you’re filling a specific need for one project, what is your plan to utilize this developer so they don’t sit idle once they have finished their work on that assignment?

    Questions of Ability

    1. How specialized is the coding framework or technology you’re using?
    2. Do you want a developer skilled in one particular language or framework, or do they need to be able to handle multiple frameworks? What about separate technical tasks like tuning AWS environments or running QA tests?
    3. Are you sure you only need one new developer? Is it going to be easy to find the person you need, or are you looking for a highly-skilled unicorn?
    4. Would it be helpful for your developer to have other skills besides coding ability, such as an eye for visual design or a communications/writing background?

    Once you answer these questions, it’s also worthwhile to ask yourself more practical questions about your budget and team dynamics:

    Questions of Budget and Team Dynamics

    1. How much can you afford to spend hiring someone to fill your web development need?
    2. Do you have budget for a short-term candidate, or for a longer term commitment that may include salary and benefits costs?
    3. How flexible is your team with adding a new developer? Do you have the necessary desk space, hardware, and other overhead set up for this new role?
    4. Does the new developer need to work in the same room as your existing team? Do you have a remote access system in place with appropriate database access and a VPN?
    5. Who on your team needs to be involved with the hiring decision for your new developer?

    By answering these questions, you have your ideal developer in mind based on skill set, time commitment, available compensation, and how this person will fit into your team.  

    How to Find The Right Developer

    Woman at laptop in front of white board
    Recruiting the right developer is largely a marketing problem—you need the title and hiring language to persuade the best candidates to apply.

    Now that you can picture your perfect candidate, you begin what’s likely the toughest part of the process: hiring the right person. This stage involves two main steps: searching for quality candidates, and ensuring these candidates are right for your needs.

    Search for Quality Developer Candidates

    This might not seem obvious, but “How do I recruit quality developers?” is actually a marketing question. You need to grab the attention of your audience with the job title they’re searching for. You need to excite the audience to apply with the right details and description of what they will be working on. And you need to target the right audience to keep your search productive. You don’t want to waste time sorting through hundreds of resumes by unqualified applicants.
    Some projects only need additional developer help for a short time. If that’s the case, it’s best to engage a contractor on Upwork. You can also work with a technology consultancy (like us, here at ABT). Going in this direction narrows down the playing field. You can search for a provider who has the skill set you need and the flexibility to get started immediately. In fact, the only thing you’ll need to worry about is how to best communicate the nature and duration of the project. Your new partner will handle the rest.
    For long-term hires, you’ll be best served by a recruiter. They’ll be more adept at matching you with good candidates. The average job posting on Indeed or LinkedIn won’t be as concise. A recruiter will do the work of sorting through resumes and LinkedIn profiles for you. They’ll verify that candidates have the right skills and are a good fit for your organization. Hiring a recruiter will cost you (usually 15% of the developer’s first year salary). But, you will avoid the agony of going through hundreds of resumes in search of candidates that could be The One. You WILL have lots of unqualified people apply, no matter what your job description says. So, it’s easier to let a dedicated recruiter handle this part of the hiring process, if you have the budget for it.

    Verify Developer Candidates’ Skills

    So now you have a list of quality candidates. How do you make sure they actually have the skills they say they have? You can follow this step-by-step guide to hire software developers for more detail on sorting through cover letters.

    The next step in your screening process should be a simple phone interview with any promising candidate. By asking them to describe their career and expertise in their own words, you can often perceive whether they sound confident and capable (or if they’re making it up as they go, trying to sound smart). This conversation is also a good chance to verify your candidate wants to work on the kinds of projects you need them for, which helps ensure a good fit.

    If the phone screen goes well, the next step is having the candidate in for an interview. During this interview, it is not that important to quiz the candidate on how well they can answer technical questions. What matters more is having a candidate walk through his/her process so you can see how they solve problems, work with others, and fix mistakes. Can they talk intelligently about the architecture of a project they worked on? What design patterns did they use, and why? If they used 3rd party services or APIs, how did they integrate with them? Did they architect the application in a way that would allow it to fail gracefully if the service or API was down? One illuminating question can lead right into another.

    Turn Words Into Actions

    A classic way to have a candidate answer these questions is a white board test. Here you have your candidate model (draw) out a hypothetical problem or project: how his/her project would work, what tables they would have, what functions they would use, etc. Rather than writing code on the board, you’re asking them to visually depict how they would solve a lengthy programming problem. They are also free to talk through their ideas as they draw to fill in details verbally.

    guy at white board diagraming problem
    Use a white board test to see how your developer candidate talks through their process.

    It might be tempting to give your candidate a take-home coding assignment, but this can take way too long and in the meantime they might get an offer from another company that doesn’t require such a test. In-house tests solve this problem, but they’re high pressure and (because they usually demand multiple hours during a workday) also demand a lot from your candidate. You want to show respect for a candidate’s time, and the white board test should solve this problem enough.

    How to Hire the Right Developer

    Now you’ve found your ideal candidate and verified they have the skills you need. It’s time to close the deal by ensuring they are the right fit for your company and processes in a team interview. The “right fit” here is less about technical skill (since you verified that in the previous stage) than ensuring this candidate’s personality, work style, and goals line up with your company.

    Two developers collaborating over laptops
    Once you know your developer has the skills you need, make sure they know how to work well with others.

    Make Sure the Candidate Fits You

    How to gauge a candidate’s personality and work style is completely up to you. Some teams prefer outgoing communicators. They need someone who loves to talk out development with their colleagues. Others prefer more introverted developers. They respect a colleague who will try to tackle problems themselves, first. Some companies are fine with night owl developers who get to work at 10:30am and leave at 7:30pm. Some need their entire team at their desks at the same time. When it comes to these preferences, there is only one thing that matters most. You must communicate to your candidate what you expect of them. Then both parties can begin the new partnership with the same understanding.
    Then there are character issues, which are much more important. Outgoing or quiet, you want developers who communicate effectively and respectfully with colleagues. Not every developer will be a natural empath who can talk out conflict perfectly, but pay attention to how a developer responds to criticism or disagreement in your interview (Be sure to ask about how they handled conflict in the past!). In short, character rule #1 should be “Don’t be a jerk.”
    This may seem like it should go without saying, but we can’t emphasize it enough. How a developer solves problems is an integral part of his/her contribution to the team. Avoid hiring someone who is stubborn or inflexible when it comes to problem solving. The strongest team members are the one who can learn from mistakes. They listen and are willing to try different techniques. After all, programming is not a static career—if they’re not learning, their skills are going to get stagnant.

    Make Sure You Fit the Candidate

    Finally, ensure in the interview your candidate’s goals and career ambitions line up with your company’s immediate and long-term needs. If you need someone to lead development using a particular coding framework for multiple projects, you won’t want to hire someone who isn’t passionate about using that framework (even if they can use it with skill). Why? Eventually they’ll get bored with repeated projects using their less-favorite framework and look for a new job—or worse, phone in their work in that framework so the quality of your project suffers.

    The right connection between your developer’s goals and yours will be evident if they want to continue to grow their career in ways that align with your company’s larger mission. For example, a developer passionate about teaching and documenting their knowledge could eventually fit well in a management position. Someone who wants to learn more about Amazon Web Services or other cloud environments will be able to collaborate with your cloud engineers during deployment of the developer’s code.

    Hiring the Right Developer: Not Easy, But Worth It

    In case it’s not already obvious, hiring the right developer is a lot of work; you have to identify your specific needs, find the right candidate, then integrate them into your team smoothly. While this isn’t a simple process, there is nothing like the energy that a motivated and talented new developer can bring to your team. The result is not only a coding project finished on time, but an exciting new addition to your company who will make a lasting impact.

  • How to Integrate Security into DevOps

    [pull_quote]Good DevOps practices ensure that the same code bundle can be deployed into multiple environments and environment-specific elements can be automatically injected from outside the code bundles themselves.” -Bernard Golden, Author and CEO of Navica[/pull_quote]

    Golden describes just one example of how DevOps delivers significant improvements in development speed and agility. By increasing cooperation between IT engineers and developers, DevOps streamlines workflows across a software project. This has made DevOps a popular approach for many IT leaders.

    However, with all of this increased speed it is easy to view security concerns as inhibitors to DevOps agility. After all, if your developers are nailing their deadlines and your IT engineers are creating rock-solid environments for your software, why would you want worries about security to slow down your incredible progress? As the CommitStrip below amusingly points out, security doesn’t seem like a major concern until something goes wrong. And then, it may be too late to stop the issue from bringing down the entire application or system.

    SecDevOps means you don't make security an afterthought.
    SecDevOps means you don’t make security an afterthought.

    Question: When Should You Integrate Security into DevOps?

    Answer: Yesterday.

    [pull_quote]Information security architects must integrate security at multiple points into DevOps workflows in a collaborative way that is largely transparent to developers, and preserves the teamwork, agility and speed of DevOps and agile development environments, delivering ‘DevSecOps.’” -Gartner 2016 report  [/pull_quote]

    It is not enough to add on patchwork security protocols or systems just before deployment. Nor can you simply recruit a security expert to check your developers’ code as they work. To truly integrate security throughout your workflows, you need to ensure your developers are a transparent part of the security process. In short, stay true to the collaborative spirit of DevOps.

    This is not easy. Modern security infrastructure has lagged in its ability to become “software defined” and programmable, making it difficult to integrate security controls into DevOps-style workflows in an automated, transparent way. In addition, because developers often download and use open-source components and frameworks, modern applications are largely  “assembled,” rather than developed from scratch. This creates application security issues as many of these open-source additions are vulnerable to cyberattack.

    SecDevOps Training, Tools, and Best Practices

    So how can you stay true to the collaborative vision of DevOps as you weave security into your development processes? Information security architects should take the lead by adopting the following tactics to create a strategic SecDevOps approach:

    • Start with secure development and training. This does not mean you need to force your developers to become security experts or adapt an entirely new set of tools, but introducing the right secure practices can safeguard your software. For example, you should create deployment pipelines that allow for controlled code pushes into the production environment; by using Red/Black deployments, you can transition to the updated code running on the new infrastructure with zero impact to sessions, transactions, or the user experience. When scanning platforms, the Nessus product, from Tenable Security, can improve security without impacting your workflow.
    • Embrace the concept of people-centric security. Beyond training, this means empowering developers to take personal responsibility for security by encouraging a “trust and verify” mindset. Note that monitoring your systems is still important, but you need every team member to take ownership.
    • Require all information security platforms to expose full functionality via APIs for automatability. By automating regular code tests, you help ensure your software will be secure without demanding more effort from your team.
    • Use proven version control practices and tools for all application software and, equally as important, for all scripts, templates and blueprints used in DevOps environments. A GIT branching model is also helpful while writing code.
    • Adopt an immutable infrastructure mindset. Rather than focusing on maintaining and improving, your data center’s individual machine uptime, an immutable infrastructure relies on API-driven infrastructure-as-code. This improves flexibility by letting you lock down and change production systems via development.

    Learn More about SecDevOps Training

    This is only an introduction for how you can integrate a security mindset into your DevOps practices. If you’d like to learn more about best practices and tools to secure your applications and systems during development, contact our security team here at Atlantic BT. We know all of the ins and outs necessary to guide you to confidence and safety. 

    With these best practices and more, you will be well on your way to delivering secure-by-design software that integrates effectively with your chosen platforms.

  • 5 Reminders of How to Best Manage Complex Projects

    Complex projects don’t beat around the bush. They are exactly what they sound like; a large undertaking, layered with a variety of tasks, different people to manage and communicate with, and multiple goals to achieve. How can you make it to the finish line in tact, with so much to juggle? One savvy project manager shows how she stayed cool and found success. 

    Once upon a time, I was given an assignment I thought would kill me. It was the mother of all complex projects. I was 25 and working as a Senior Project Manager for a small gaming company in NYC. Suddenly, I was to oversee the full development of a $2 million contract. 

    The video game was being designed to enhance over 400 classrooms throughout the US. It would educate high school students on the subjects of business and accounting. The process was mammoth. We planned for 100 unique characters and needed to write a six-week course curriculum. On top of that, we would provide players with custom-build avatars.

    This was the most complex project we had ever tried to tackle, and we realized we had bitten off more than we could chew.

    As the Project Manager (PM) I began to ask myself, “Why me?”

    In an instant I had the answer to that question: I thrive off of complexity. I enjoy untangling the most complicated, multi-layered project and making it tangible.

    What Makes a Project Complex?

    It’s important to understand that there is a difference between a complex project and a difficult project.

    A complex project isn’t necessarily a difficult one. Projects can be difficult due to cost or performance, but this doesn’t automatically mean that it’s complex. Complexity refers to projects that include ambiguity or uncertainty. They are surrounded by unpredictability. Other indicators of a complex project include:

    • Involvement of many teams & stakeholders
    • Numerous moving parts
    • Project timeline
    • Budget & restraints

    After identifying the complexity level of your project, it’s time to use your skills to tackle the beast, one bite at a time.

    The Essential Skills You Need to Manage Complex Projects

    Managing a complex project requires more than the ability to herd cats and spin plates simultaneously. This is just one of the many skills needed for project management. Others include:

    1. Adaptability
    2. Collaboration
    3. Communication
    4. Expertise
    5. Leadership

    To be successful you must be adaptable. A project is constantly evolving and project managers have to evolve with it. You can’t always think in black and white terms. There will come a time when you have to adjust and flex your management style when the situation changes.

    Communication is probably the most important project management skill. Over 90% of a PM’s time is spent communicating. It is essential that PMs can effectively convey vision, ideas, goals, and issues. They also need to produce reports and presentations that are informative and clear.

    Communication goes beyond documentation. It also requires building a relationship with your client and your team. If no one trusts you, the project will fail. You must be willing to collaborate with your team. Working with others to get things done is important on all projects, particularly on something that is really challenging. You cannot succeed by yourself. Work with your team and client to achieve success.

    Lastly, leadership and expertise go hand-in-hand. If you can lead, you can deliver. Leadership is all about guiding, directing, and motivating your team to do their best work and understand how their tasks contribute to the overall vision.

    Leadership comes with experience; neither are skills that can be taught. They only develop over time from real-life, practical work with your team. Having these essential skills is the backbone for identifying what makes a project complex and how to navigate it.

    Let’s put these concepts into concrete action.

    1. Document. Again. And Again

    A project may be broken down into the most perfectly manageable mini-projects. But, without clear documentation on the individual pieces and how they relate to the whole, the project remains opaque to anyone aside from the main project manager.

    Clear, up-to-date documentation is the insurance against this issue. It defines everyone’s roles and their deliverables. Also, it ensures that the overall vision isn’t trapped singularly inside someone’s head. If a new hire comes on board during any stage of development, in any role, there needs to be a clear road map outlining where the project has been and where it’s going.

    As the project manager, it is your job to document everything. Send out a project status to the full team every week. By providing clear documentation, both your team and your stakeholders can stay informed throughout the entire project lifecycle.

    2. Continuously Clarify Your Goals

    If you do not understand the “why” behind your project, you will not be successful. Understanding the why brings clarity to the goal(s) of the project. It allows the entire team to find ways to innovate and bring their own areas of expertise to the table.

    Project Managers tend to focus on delegating tasks. Our brains fall into a divide and conquer mindset. As the leader, you are expected to paint the bigger picture for your team. Don’t be afraid to push your team outside of their comfort zone. However, remember that people aren’t machines.

    If we are constantly delegating tasks without clearly defined goals, our team will fail. It is important to pick our heads up and continuously clarify project goals. When your team understands their roles and the task at hand, they are able to dive directly into execution mode.

    Clarify your goals to ensure your project remains aligned with the initial premise—not just once, but continuously. Remember and accept that you will not know all the answers Yet, you can push to explore all possible outcomes and what they would mean for the project.

    3. Create More Visibility

    When navigating complex challenges, teams often find themselves bogged down in the details. It becomes a struggle to move forward when you’re buried under too much information.

    To create more visibility within a project, adapt a management tool that works best for you, your team, and your client. This tool will allow everyone on the project to stay informed and see what is happening. Use this as your single source of information. This type of tool will provide real-time insight into the decisions and activities that are relevant to each member of the team.

    Additionally, consider process mapping for complex projects. The process map is a visual representation of the project’s forecasted road map. It allows both our team and our client to know where we are in the project and what activities are planned. Having a physical copy printed and hanging on a wall helps our teams stay on the same page. We are able to point directly to our current status and identify dependencies and risks in real time. This keeps us on track and the client informed.

    4. Be Flexible

    The only constant in complex projects is change. I don’t care how amazing you think your project plan is, it will change. If you are not willing to adapt and be flexible for the sake of your client, you risk losing them. Plan for unknowns, pivots. and adjustments early on. Be sure to set up processes that allow your team to remain nimble and respond to changing demands.

    [pull_quote]The single biggest problem in communication is the illusion that it has taken place. -George Bernard Shaw[/pull_quote]

    There is no such thing as over communication for project managers. We have lots of ways to communicate. Even better, the most popular methods don’t require you to open your mouth. Find out what style of communication works best for your project and stick with it.

    If digital communication works best, go with it, but never assume your team is reading everything you write.  If you are not getting results, be proactive in your communication. There are times when it is necessary to have face to face conversations. It will help ensure the message is not lost through back channels and that the team is clear on the objective.

    Moral of the Story

    Remember why you do what you do. You may second-guess a decision that you’ve made, but at the end of the day every complex project needs a PM.

    The project manager either adds value by making stuff more efficient and effective, or reduces risk because, without a project manager, bad things are going to happen. The PM takes care of communication. He or she is the human shield between you and the development team, ensuring the team can work effectively without too many interruptions.

    Never settle and never accept the constraints imposed upon you.  Remember that you have more power than you think.

    At the end of the day, everything turned out alright with the video game contract I was tasked with. We realized we couldn’t be everything to everyone and hired additional help. Eventually, we launched the game. We ended up creating a high school course curriculum that ran for 6 weeks in over 400 schools nationwide.

    We wowed the client.

    If you’re someone looking to be wowed by a well-led team, we might know some people