Posts

5 Stakeholder Questions To Ask Before Starting the Software Development Process

Software development is an intricate process that requires skill, planning and team effort. There are several stakeholders involved in the project, from company executives to various departments within the company.

It isn’t possible to satisfy all of them completely, but you can take their concerns into account before working on the project by asking the right questions. Doing so can help you understand their priorities and plan the development process accordingly. Here’s a list of 5 questions to ask before starting a software development process:

  1. What is the Product?

Projects tend to get out of hand if you don’t have a clear vision in mind. Software developers need to understand what the end product should look like before they even start planning for it. For example, does the company want an app that will help users find the best online deals? Does it want a software program for its HR department?

Stakeholders can provide a list of features or ideas for the end product to make things easier for a development team. If there’s any dispute about the final product, this will be the best time to resolve it. Make sure everyone is on the same page before proceeding.

  1. What is Not a Part of the Product?

Developers can sometimes go overboard and add features or elements that aren’t necessary. That happens if they don’t know what should be excluded from the final product. For example, if a website is only delivering to the US, there’s no need to include a feature to convert prices to other currencies. In many cases, stakeholders assume their development team is going to deliver something, but the latter is unaware of it. It is essential to establish what you will and won’t deliver.

  1. What is a Successful Product?

Software programs are tools designed to achieve a specific goal or purpose. A company creates a website if they want to establish a presence online. They design an app if they want to build a robust and long-term customer base. They develop a software application to make daily processes easier. If the product fulfills these goals, it is considered successful.

The end goal isn’t to deliver a good product; it is to provide a product that succeeds in the market. There’s a clear difference between these two goals. For example, a website can be beautiful and functional but still not provide all the services the target audience needs. Stakeholders should define what a successful product means to them at the start of the project.

  1. Do We Have a Single Point of Communication?

This is one of the most challenging aspects of project management. The project starts with one team and one client, but eventually, a large number of people start becoming part of the process. The IT guy must approve one aspect of the design, the other should please the marketing expert, and so on.

If these people start offering suggestions or requesting changes, the project can quickly get out of control. It is crucial to establish a single point of communication between stakeholders, clients, and development teams. You can maintain a smooth flow of information while keeping track of numerous requests.

  1. What are the Potential Roadblocks or Problems?

No one likes to discuss problems before they work on a project, but you need to address it. Gather all stakeholders together and ask them about possible hurdles. Can the project run out of money? What happens if some temporary contractors don’t live up to expectations? What if the client changes their mind in the middle of the project? If you know about possible hurdles, you can develop systems to counteract them.

These questions will help a team start their project on a firm foundation. Don’t hesitate to ask questions to stakeholders; the answers will help improve the quality of your end product.

At Number8, our philosophy is to empower our clients to produce better software, faster. We are experts in augmenting scrum teams with senior consultants that can help increase team velocity immediately. If you’re interested in learning more about Number8 and what we do, give us a call at (502) 890-7665, or check out our information page.

 

“Automated QA: Save time, use a web calendar handler!”

Number8’s very own Derick Arzu was recently published on Medium. Read the article on automated QA processes below.

Text boxes, check boxes, radio buttons, and other elements of forms are fairly simple to deal with when it comes to developing UI functional tests for a web application. But what happens when you want to write a test that verifies that the UI for a web calendar is working?

You are probably thinking that it can be easily achieved with a couple of clicks and validations, which is not only true but also the approach that led to the idea of a handler.

Before you discover how to make your automated QA team very happy, here are some reasons why writing a simple function or just a segment of code that deals with ONE specific calendar is not as scalable. Imagine you are a QA Developer at a company who is developing the websites for airlines A and B and your team is requested to create the automated test suites. Sounds quite easy, you will use the same code in both projects, nothing will need to be changed; until someone shows you the designs of the two web calendars each airline uses in their website.

Beginning with the obvious differences, airline A uses two windows while airline B uses only one; that surely represents a significant change in the code of that first approach. Another difference you might not have noticed is that airline B has a dropdown to change the year of the calendar, so that would mean a slight change in the method used to get the text of the displayed year. Those are two visual differences that will affect the way your bot interacts with the calendar and the DOM will surely surprise you with more.

Now that you are interested, the coding begins!

This handler was implemented in Node.js and uses WebdriverIO as the test framework that interacts with the browser.

You will find out that the framework has two functions ($ and $$) to fetch web elements. However, a hierarchy of classes will be created to manipulate elements, later on you will learn this is so that the handler can easily be able to cover many web calendar designs.

The main class is Element. Here is where, the method to obtain the fetch function is implemented, it has two parameters:

    1. selectorObject (required) which refers to an object with two properties; the first named selector , is a string that specifies the selector that will be used to fetch the element. The second is index, which is an integer that must be assigned to the object if the fetch result wants to be treated as a single element and not as an array of elements.
    2. additionalProperties (optional) is an object with any property that wants to be added to the fetch result. The subclasses of the hierarchy use this to manage how some data is obtained from the web elements, you will learn this later on.

Read More…

4 Powerful Tips to Improve Communication at Work

Communication is one of key pillars for any relationship. It could be a personal relationship, a friendship or a business relationship. People sometimes think that rules for personal communication don´t apply to a work environment but this is not true.  Every human has needs, emotions, hopes, values and dreams. And each person faces situations in their personal life that may sometimes impact job performance.

Staff turnover is one of the main challenges many companies face.  While employees come and go, many are less likely to leave if they are in an environment where they feel respected, rewarded, safe and comfortable.  People tend to be happier in work environments where they are confident enough to speak to coworkers and managers about their lives – this includes work related topics and personal ones too.

This is why communication is so important in the work environment, both among employees in the office and for those that work remotely. While maintaining good communication with employees who work together in the same place each day may seem straightforward, it is sometimes less obvious how to improve communication with those working off site. As an agency that specializes in connecting nearshore technical talent with U.S. companies, we’ve got some worthwhile insights into this challenge. Follow along for helpful tips to improve work communication, including communication between onshore and offshore workers.

Four Helpful Tips To Help You Improve Communication At Work

1. Employees are human beings, not numbers or metrics.

Many companies focus on growth, revenue and developing new products/services or improving existing ones. Sometimes by doing this, employees start to feel more like numbers, or pawns in a game of chess. When dealing with human resources, emotions play an important role. Employees are much less likely to make sacrifices for companies that make them feel like a cog in a wheel. It is tough to go the extra mile for a boss that doesn’t seem to take interest or care about anything but the bottom line.

According to Dale Carnegie, author of the award-winning classic: “How to Win Friends and Influence People,” the main thing people care about in life is themselves. Every person wants to feel important, valued and appreciated.

Henry Ford surely recognized this back in 1914 when he started paying his employees $5 a day. (This was a big salary increase.) He also reduced shifts from 9 hours a day to 8. By doing this Ford quickly solved a high staff turnover problem that his company was experiencing. This led to notable increases in production.

If a company can make its employees feel important, feel that their job matters and that they are important assets for the company, they are far more likely to do the extra work needed to go from good to great, and to take care of the company as if it was their own. While a motivated employee will communicate better, it is an employer’s responsibility to make sure employees know they are free to express what is on their mind.

2. Body Language Matters.

Over 50% of the things we say are non-verbal. Given this, learning body language is an important part of developing more effective communication.

If you are a manager, it is essential that you practice your body language skills so that when you speak with your employees you can transmit your ideas in the best possible way and avoid any misunderstandings of what you are trying to convey.

Things like maintaining an upright posture, making eye contact during conversation and keeping your chin up will radiate confidence and those around you will see you with respect.

Besides using body language to communicate well at work, it’s also important to understand body language signals in others. This might be especially important when dealing with offshore employees that normally communicate through apps like Skype or Zoom.  Knowing how to identify body language signals like face and eye gestures and tone of voice will enable you to read between the lines of the message that a coworker wants to transmit.

3. Make Yourself Available to your Co-Workers.

One of the easiest ways to make yourself accessible to coworkers is to simply tell them that you are available. People want to know they can count on you and the only way they will know this is if you communicate it. People want to know that their colleagues are people that can listen to them and understand what is going on.

Sometimes it may be difficult for people to communicate issues directly, especially with a manager. In these times, it can be useful to have a way for people to anonymously ask questions or even express complaints. Having a channel of communication that enables people who are too uncomfortable or shy to speak directly to leaders is a great way for a company to stay informed about situations they may otherwise not know about.

4. Share Something in Common.

Many of the best managers are comfortable sharing something about their personal lives with their coworkers. They might participate in a fun office outing or simply take an interest in the lives of their employees. Something as simple as remembering a birthday can make an enormous difference to a person’s morale at work.

This type of leader tends to be one that can talk about any topic with employees, not just work-related things. Often these more informal conversations help to build trust and work satisfaction. They also improve overall communication by making people feel more comfortable and secure.

Take the time to develop relationships with your coworkers and create a trusting environment for people to open up to you. You will likely be pleasantly surprised by the results.

10 Agile Project Management Terms You Should Know

Whether you’re planning on managing a project the agile way, or just want to stay up to date on the latest developments in the field, here are 10 agile project management terms you should know:

1. Agile Manifesto

The agile manifesto is a great starting point for anyone looking to familiarize themselves with the agile methodology. The manifesto outlines the 4 values and 12 principles of agile software development and was actually created by a group of software developers in an effort to provide a clear and alternative set of processes for developing software. The agile way of doing things prioritizes individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. 

2. Scrum

A scrum is a daily stand up meeting with the sole focus being to review each team member’s progress on any given project. Scrums help to keep everyone accountable and on the same page, ensuring no one falls too behind or gets too far ahead in the development of a project.

3. Scrum Master

A scrum master oversees the development process and acts as a problem solver for the team; preventing roadblocks and enforcing the agile way of doing things.

4. Stakeholder

A stakeholder refers to anyone with a vested interest in the product. This can be the client, the end user, sales people, legal representatives etc. Stakeholders have an informative role in the development phase, and are critical in defining the project’s requirements.

5. Backlog

The backlog is the ever changing list of the software’s requirements. It’s not to be seen as a to do list so much as a prioritized list of desired features of the product provided by the stakeholders.

6. Story

The story tells the software system’s requirements from the consumer’s point of view. For example, as “a <type of user>, I want to <perform some task> so I can <achieve some goal.>”

7. Burndown & Burnup Charts

A burndown chart visually measures the progress of a project over time (the vertical axis is made up of the backlog while the horizontal axis represents time). A burnup chart displays completed work (the vertical axis shows the amount done over the horizontal axis, time). These charts are essential to inspiring the team as they work and help provide a realistic time frame for the project’s completion as well as a working scale of the project.

8. Feature Creep

While changes are expected, and certainly embraced in the agile way of doing things, the phrase “feature creep” refers to features that are added after development has begun. Adding too many features during the development phase can result in feature creep and software that is too complicated or difficult to use.

9. Timeboxing

Timeboxing is kind of like time blocking in that it assigns a specific time frame to accomplish a goal. The definitive feature of timeboxing however, is that the work stops at the end of the timebox, instead of when the work is complete. This is extremely helpful in terms of productivity, and controlling the scale of a project.

10. Sprint

A sprint is a short development phase usually lasting anywhere from 1 week to a month. Sprints help prevent projects from feeling overwhelming and allows feedback to be given at appropriate junctures.

At Number8, we help project managers connect with highly trained and efficient IT support to help reach company goals. If you’re interested in learning more about Number8 and what we do, give us a call at(502) 890-7665, or check out our information page!

Working Remotely? Try These 3 Things To Cultivate Work Community

Working remotely can present many challenges, everything from resisting the urge to fire up a movie and veg out, to feeling that creeping sense of isolation that comes from sitting alone behind the screen. As a company who promotes remote work opportunities, we’ve identified several ways to cultivate a thriving work community. Below are three tips that should keep your presence so embedded in the office, your coworkers will swear they hear your keyboard clicking away beside them even when you aren’t there.

3 Tips to Cultivate Work Community While Working Remotely

Tip #1: Be open to feedback.

One of the most important parts of forming any close-knit relationship is trust. The person on the other side of that monitor is most likely depending on you to complete a task. To your coworker, they’re placing a lot of trust in someone they can’t see. Put their mind at ease by telling them upfront that you’re open to feedback and willing to work through things. Making this clear initially will help them understand you share the same goal and will make them feel more comfortable as you continue to work together. Build trust by responding to feedback graciously. Every smooth interaction makes way for future smooth interactions.

Tip #2: Be humble.

If there’s one thing we all have in common, it’s our tendency to overthink things. When you work remotely, it’s easy to convince yourself that it only happens to you. Fear that you’re alone with your thoughts, and pride in your ability to handle things on your own can be a deadly combination that results in isolation! Instead, be humble and reach out to your coworkers with any questions or concerns you have. This goes a long way to cultivate trust. Your coworkers will feel more connected with you when you’re open with them, and in turn, they will be more likely to reach out to you when they have questions of their own. Once you realize you have friends ‘on the inside’ you’ll find it easier to tune out that inner voice that tells you you’re on your own. Remember that you’re in it together.

Tip #3: Get social.

In this age of social media, it’s easier than ever to connect. Find a few coworkers you feel comfortable with and send them a friend request immediately. Becoming connected on social media offers you and your coworkers the chance to put a face to the name that pops up in the inbox every day. Getting to know each other better in this casual manner strengthens your bond and your understanding of one another as you continue to work together professionally.

BONUS TIP: Live that meme and emoji life. A true favorite! There is great power in a well-placed meme or emoji when communicating with a coworker. Not only do they lighten the mood, but they also offer visual cues to help people understand your tone and intention, which is a wonderful thing in the absence of body language, facial expressions, and tone of voice.

At Number8, we provide high quality technical talent to businesses of all sizes and sectors. We specialize in application development, custom software, website development, mobile solutions, database design, client/server, web application development and Q/A testing. Learn more about what we do and how to get started with Number8 by calling 502-890-7665 today!

The Secret Hollywood History Behind WiFi

WiFi has become essential to our professional and personal lives. It has changed the way we communicate and altered the way many of our devices work (thanks to the Internet of Things). While it’s now nearly effortless for us to install, connect to and use, how did it come to be?

While WiFi wasn’t accessible to consumers until 1997, it has a long history dating back to the 1940’s. At it’s core, WiFi uses wireless transmitters and radio signals to exchange information and connect to the internet. In the 1940’s, Hollywood starlet Hedy Lamarr and composer George Antheil developed the radio frequency hopping technology that would become the foundation for the wireless communication we all enjoy today.

The History of Radio Frequency Hopping

According to a recent documentary, ‘Bombshell: The Hedy Lamarr Story,’ the popular actress Hedy Lamarr often ran experiments in her trailer between takes. Upon meeting Antheil, who famously synchronized pianos to hop from one note to another, the pair came up with a plan that incorporated radio signals. At the time of their work together, World War 2 was in full swing and the U.S. Navy needed a way to protect their underwater missiles form Nazis detection.

Together, Lamarr and Antheil joined the war effort by inventing the concept of radio frequency hopping. Their invention used perforated rolls of paper, much like the ones in pianos, to change frequencies from one point to another via the holes in the roll. This discovery helped guide radio-controlled missiles underwater without risking enemy exposure in that both the radio transmitter and the receiver could simultaneously change from frequency to frequency.

Modern Wireless Communication Methods

Fast forward to 1985, when the Federal Communications Commission (FCC) allowed several bands of wireless spectrum to be used without a government licence, and communication via radio frequency energy became revolutionized. In order to operate on these bands, devices were required to steer around interference from other equipment. They did so using the frequency hopping technology developed by Lamarr and Antheil.

While the duo were granted US Patent No. 2,292,387  in 1942, they signed it over to the Navy during the war. It wasn’t until 1997 that they were recognized for their frequency hopping technology by the Electronic Frontier Foundation. It is no doubt that WiFi’s many applications, including gps and bluetooth wouldn’t be possible without Lamarr’s and Antheil’s invention. As the technological wonder continues to evolve and become faster and more reliable, we can take more than our fair share of inspiration from it’s unlikely source..

How To Overcome 7 Common Software Development Obstacles

Launching a newly developed software is as challenging as it is rewarding. Developing software from the ground up is no easy feat. It takes a lot of planning, time management, and knowledge of the ins and outs of information technology. When the launch of a software development project goes off without a hitch, it’s an IT miracle. It’s known that with software development, as with most IT projects, there can be some obstacles to overcome. More often than not, things go wrong within the coding or through a development process that must be fixed. Sometimes developers even have to go back to square one and start the entire project over. However, that is not always the case. Developers prepared to overcome obstacles are often successful in doing so. The key is knowing how to overcome common software development obstacles. This way you can ensure that the launch of your software goes smoothly.

You may be asking yourself if every software development project is different, what are common software development obstacles? And that’s what we’re here to help you with today. Follow along to learn how to overcome 7 common software development obstacles before starting your next project.

7 Common Software Development Obstacles You Can Overcome

1. Poor Time Management Sets Unrealistic Expectations

Mismanaged timelines and missed launch dates are common obstacles that people overcome during a software development project. Whether it’s due to unforeseen roadblocks or issues that were expected to come up, there’s not much worse for a project than an extended delay. One of the best ways to avoid missed deadlines is to brainstorm with your team before starting the project. What could go wrong? Which pieces are expected to break? Where do you foresee there being delays? Being prepared for the inevitable bumps in the road is the best way to get over them smoothly and without too much delay. When a problem does come up that threatens the timely delivery of a project, stay calm, get the team together, and work as a group to find the best way forward.

2. Issues with Integration

Compatibility can be an issue with any project. When developing new software from the ground up, how do you ensure it pairs with all the tools the client already uses? One of the best ways to go about integration is through the use of application programming interfaces (APIs). Another option is to partner with the other tech brands that the client is prone to use. Find ways to work together with already utilized tools and teams of developers experienced with said tools.

3. Breakdowns in Communication

No software development program was launched alone. Depending on the size of the software development project, the team working on it can be as small as 5 people or as large as 20. When a communication breakdown occurs, it can have disastrous effects that could put the entire project in jeopardy. One of the best ways to avoid a communication breakdown is by hiring an effective project manager. Someone who can divide tasks among the team then ensure each of them is done and any changes which may affect the entire development outcome are communicated effectively is imperative to a successful project.

4. Overloading the Software with Features

While some features are necessary, others can be downright frivolous and simply load a software down. There is such a thing as too much and, when it comes to software, the line between just enough and too much is very thin. One of the best ways to circumvent overloading your software is to focus on features that truly embellish the core goal of the program. Less is always more in software and features that help the software rise above other programs are useful, but the goal of the software is to solve a problem, not create more, so keep features slim.

5. Not Understanding Exactly What the Software is For

One of the best ways to succeed in software development is to have a clear vision of what success looks like. Being able to completely understand how your software should work if it is working well will make it much easier to get to that finished point. Determine the “why” of the software before beginning the development process. Once you start, do not waiver from that why without good reason.

6. Not Realizing the Importance of Quality Assurance

Customer satisfaction is dependent on extensive quality assurance. Sending a software development project out into the world without assuring it is working as well as it possibly can is IT suicide. In order to achieve a high-performance product, the quality of the coding needs to be reviewed and tested continuously throughout development. Consider hiring a tester from a third-party source or create your own quality assurance checklist, in-house, and employ it repetitively.

7. Not Having a Target Audience Defined

While you, and your team, may think that your new software project is the best thing since sliced bread, not everyone will. Defining a target audience can help to avoid wasting time and money once the project is launched. Outline the demographics of the ideal user of your software. Then build a marketing plan that will appeal to that demographic. There are third-party companies available to complete market research, including focus groups, which can help identify the perfect consumer and what rings true with them in regards to marketing.

There are a lot of dos and don’ts to consider when developing new software. These are some of the software development obstacles our team has learned to avoid.

The more dos you can accomplish and don’ts you can avoid, the more likely your project will launch smoothly. All in all, the more planning you can put into your project prior to starting, the better. The tips above will help you to avoid a variety of issues, but there are always unforeseen circumstances.

If you are in the middle of a software development project and have hit a roadblock, Number8 can help. Our dedicated team of software developers located in Louisville, Kentucky and at our nearshore office in Costa Rica has worked together to launch countless software projects successfully. Contact us today by calling 502-890-7665 to learn more about what we can do to help you wrap up your project.

How to Develop the Digital Skills Necessary for Remote Work

Remote work can offer an employee the flexibility needed to be a caregiver, world traveler or student; making it an ideal form of work for most of the population. For an older employee however, the idea of working from home can seem overwhelming and fraught with technological difficulties.

Luckily, many of the skills needed to succeed in the office translate quite easily to working from home. Time management, self-sufficiency, communication and teamwork for example are all key remote work skills. And chances are, anyone whose had office experience, is familiar with a computer. However, there is a level of tech savviness required to operate out of the office full time.

For those looking to make the transition to remote work for the first time, but are afraid of getting left behind in this new digital age, here are some of the most popular web applications to get up to speed on before you apply for the job.

It’s worth noting that many of these applications have free tutorials, videos, and training available as well as free versions to help you get your feet wet.

File Storage & Sharing Platforms

When you’re working on the go, you can’t be tied down to your desktop. Instead it’s common for remote workers to operate exclusively from online or cloud based platforms such as Google Drive, Dropbox or Apple iCloud. These make it easy to access your work files no matter where you are or what device you’re on. As long as you have the app downloaded, you can work from anywhere.

Long gone are the days of losing your work because your computer crashed. These applications automatically save and sync everything as you go. Not to mention, you can effortlessly share files with others by giving them access via a link or email address. Google even offers a full suite of applications including word documents, slide shows and spreadsheets well suited for every field of work.

Video Conferencing

Unfortunately, even remote workers can’t escape meetings. Zoom and Skype are popular video conferencing options for meeting outside of the office.  Zoom offers free video calls with up to 50 people as long as you don’t talk for more than 40 minutes and Skype is free as long as both parties are using the app. Both of these applications (and many others) offer chat options, screen sharing and recorded calls. Just make sure you’re well equipped with the right headset for the job.

Collaborative Applications

While email is everyone’s go to in-office communication platform, remote workers often utilize project management software to stay in touch virtually. Both Trello and Slack are excellent examples and offer many collaborative features for working with a team remotely. These shared applications make it easy to generate a task list and delegate the workload. They also show each member’s progress as well as what stage any given project is in and give the option to offer feedback to one another. Additionally shared calendars ensure everyone is on the same page when it comes to meetings and out of office time periods.

At Number8, we provide high quality technical talent to businesses of all sizes and sectors. We specialize in application development, custom software, website development, mobile solutions, database design, client/server, web application development and Q/A testing. Learn more about what we do and how to get started with Number8 by calling 502-890-7665 today!