As the details emerge of the massive failure that HealthCare.gov has become, it provides some good lessons on how not to do things. No plan was in place from the beginning. Code was being rewritten over and over to meet last-minute changes from the government and other contractors. Testing was carried out by the government and not private consultants with more expertise. The list goes on from there.
Developers on the project knew weeks ahead of time that the website was not going to be ready. The website was extremely complex, having to connect to several other systems to have information verified. Many developers said the warning signs were very apparent early on of not making the deadline.
One of the best things we can do when looking at projects like this is study and learn from them. In this case, it’s apparent that a lackluster plan was in place.
No matter what the scenario is when building software, project planning has to take place to provide a roadmap. If your team is entirely in-house working side-by-side or collaborating online from different locations, it needs some direction. While there is no way to know for sure, it appears HealthCare.gov didn’t have that.
There are a few initial steps in the project planning process that can be performed to get your team started down the right path. There are many other things to consider, especially in a project the size of this, but performing requirements analysis is a good starting point.
Requirements analysis to a software development project is like blue prints to a house. In the project planning stage, they form the framework for the ‘what’, ‘when’, and ‘who’ of your development project. Requirements analysis gets everyone on the same page and marching in the same direction.
The requirements start out with wire-frames and use-cases. These outline ‘what’ will be developed in both a graphical and textual manner.
Wire-frames – A wire-frame is a visual representation of every screen and control in your application. It depicts all controls on each and every screen, and indicates the flow your users take through the application.
The purpose of the wire-frame is two-fold for project planning. First, it is very useful for the product owner to create wire-frames to truly understand what he must build to address his business goals. Often during the wire-framing process, valuable discoveries about the business model are uncovered. Every product owner must take the time to wire-frame his application to gain insight in what he wants, and doesn’t want, to build.
The second purpose of the wire-frame is to get everyone on the same page as to what is being developed. Even if every stake holder (project managers, architects, developers, designers, etc.) think they know what’s to be built, a visual depiction immediately clears-up any vagueness. As the saying goes, “A picture is worth a thousand words.”
Use Cases – Wire-frames are the graphical representation of your application, and if “a picture is worth a thousand words”, then use-cases are the thousand words. A use-case describes the wire-frame. The purpose of a use-case is to make crystal clear the purpose of each and every control on a screen.
During project planning, wire-frames and use-cases go together like a hand and glove. They are synergistic in nature, and complement each other. The combination of the two definitively drives home what needs to be built to your customers and stakeholders alike.
Obviously performing requirements analysis is only a part of the project planning process. With the health care website being an estimated $70 million (a conservative number) project, the requirements analysis go much further beyond what you read here. But for a starting point in most software development project, it’s a good practice to make a habit.
Project planning for software development is not meant to be a document that has to be followed precisely. It’s simply provides a roadmap to start the project team on the right path, which then can be deviated from as requirements change. An Agile approach to development still works wonderfully with this type of planning approach.
What planning procedures do you put in place when preparing for a new software project? Hopefully not the same approach as HealthCare.gov.
Spotlight was built out of a burning necessity. It began a few years ago, when Spotlight CEO Vincent Serpico launched a near‑shore software‑development services company. The company employs and works with a team of designers, developers, testers, and project managers of 25 employees, 100 percent virtual.
From the outset, the company utilized the standard means of communications – email, Skype, and other project‑management tools, but Serpico soon realized that clients were still having trouble keeping up with the progress and status of their projects. This haphazard and redundant method was inefficient, with managers spending their time communicating with developers and creating project reports for clients. Serpico had a vision of a solution – a better way for teams to communicate and collaborate, and allowing more transparency for clients in their projects.
After scouring the Web and still not finding a system with the functionality he envisioned, Serpico decided to build his own solution. Starting the process by determining the best way for remotely dispersed groups to communicate in real time, he found the answer in social networks – Facebook, LinkedIn, and Twitter. Using social media sites as a model, Serpico built a social‑network front end, then attached it to an agile task‑management back end. Spotlight was born.
Vincent Serpico: Hi. My name is Vincent Serpico, and I am founder and CEO of Spotlight Software. Let me tell you about an opportunity that also causes a problem.
Right now, you can go online and hire a virtual software developer in about five minutes. That’s right. There are lots of online freelance marketplaces like Elance and oDesk where you can go online and hire a really good virtual software developer.
It gets better. Most of these developers live in countries whose cost of living is lower than yours.
Sounds great, so what’s the problem? The problem is that software development projects staffed by virtual software developers have a success rate of less than 50 percent. This is terrible. It’s actually quite unacceptable.
I’ve been developing software for over 15 years with the help of virtual software developers, and my success rate is over 95 percent. Why do I have such a high success rate? It’s not because I’m some kind of genius or something, it’s because I follow a methodical process that’s rooted in communications and accountability.
I want everyone to enjoy the same success that I enjoy managing virtual software development projects, so I baked my process into my new software offering, “Spotlight”. Spotlight is a web and mobile‑enabled application to help you manage and ensure the quality of your virtual projects.
You can see who’s online now and who’s going to be online later. You can see what everybody is working on, as well as their progress and their efficiency. You get daily progress reports, and you can generate HR reports against invoices.
On the go? No problem. Spotlight goes mobile. See what everybody is working on in real time all day long on iPhone and Android.
Gone are the days where your software development project was a black box. Welcome the days where you have clear visibility and are in total control of your project.
This is what I want you to do. Try Spotlight free for 30 days. Then email me personally with your success story. I know you’re going to love Spotlight.
First Yahoo, then Best Buy and now HP. As some of the more recognizable brands in the tech industry have banned employees from working at home, business owners may be questioning their flexible work policies. But one size does not fit all and the work environment in your small business is probably drastically different from HP. Bottom line: don’t let this trend scare you off from the benefits of having a remote workforce.
“We now need to build a stronger culture of engagement and collaboration and the more employees we get into the office the better the company will be.” That’s a quote from an HP’s document that fell into the hands of AllThingsD on the decision. Do you agree with that statement?
Companies have proven over and over again that operating as a remote workforce can be very successful. Just take a look at this list from Scott Berkun; not only has Automattic made it successful, but so has Buffer, 37Signals, and Assembla, just to name a few. Anyone who has been part of a remote workforce knows that strong engagement and collaboration can indeed be achieved even while you are miles apart. It just takes the right type of people, processes, and remote collaboration tools. Maybe HP just doesn’t have that in place.
If you are a business that works as a remote workforce 100% of the time, like we do, don’t let this trend scare you. People are adapting more and more to working outside the office on mobile phones and tablets. Reeling them back into the office when you’ve traditionally had a flexible policy may end with an unhappy workforce.
So what are some perks of a remote workforce?
Here are 5 advantages for startups and small businesses hiring remote employees.
Cost Effective – Using websites like Elance, oDesk, and Freelancer, startups and small businesses can find remote employees at a much cheaper rate than hiring full-time. It alleviates the overhead cost of office space. Using this method of hiring a remote workforce saves you money and allows you to screen workers more diligently to see who might be right for a full-time position later.
Talent Pool – Online marketplaces like those mentioned above give you the opportunity to hire great talent from anywhere. No longer are you constrained to your local area when looking for new employees. With millions of freelancers available and the number growing quickly, the talent pool is very deep and you can be much pickier when hiring. Now you can hire exactly the type of remote workforce that fits your business goals.
Work Anytime, Anywhere – Startup and small business owners are on the go constantly. Hiring a remote workforce that operates entirely online allows you to keep in touch with your team from anywhere, any time, and on any device. Using a tool like Spotlight, you can instantly see when your employees are online and what they are working on.
Work/Life Balance – Employees love flexibility in their work schedules. New technology and collaboration tools allow virtual teams to be flexible by connecting from anywhere so you could stay up-to-date on a project while sitting on the beach with your family. Greater flexibility for employees leads to better work/life balance, which leads to a more productive workforce.
Improved Collaboration – This one is probably a bit surprising. Improved collaboration when you are thousands of miles apart? How can that be? New communication and collaboration technology today offer this opportunity. And it’s going to get better all the time. Siemens Enterprise Communications just rebranded to Unify, which is focused on unified communications for the anywhere workforce. Social collaboration tools like Spotlight make it so easy for your remote employees to see what everyone else is working on and when. If you have a question on a certain task of a project, it’s as simple as seeing who is online and asking. So yes, collaboration can improve – if your team is willing to use the technology available.
As a startup business owner who is already working with a remote workforce, don’t let this recent trend alter your strategy. With the right people and processes in place, it can be very economical and successful for your business. There are probably many other things going on in these larger companies to drive them towards the decision to bring everyone back into the office. But saying “the more people we get into the office, the better the company engagement and collaboration will be” isn’t an entirely true assessment.
What’s your opinion on HP joining Yahoo and Best Buy on the list of reducing the number of employees working remote? Right move or inability to see the bigger picture of the ‘future of work’?
“Developers are not commodities.” Software development projects are very unique. No two projects are the same and this also applies to developers. They all have different skills with expertise in different programming languages. Hiring a software project team is a process that requires thorough screening and many conversations to ensure you have the right people in place for your project.
Depending on the complexity of the project, it can often take months for a new developer to get familiar with the details, team, and process. So choosing wisely at the start of the project is imperative to prevent team member turnover and delays. That’s why it’s so important to know how to accurately locate developers, properly interview, and hire them. A process of looking outside your local area, communicating your goals (not ‘how’ the software should work), and short programming tests will help you narrow down the perfect software project team for your endeavor.
Consider Going Online
With the increase in innovative tools to work from anywhere, any time, and on any device, the opportunity to work with developers from across the globe is huge. There are several major advantages in going with a virtual software project team:
Hiring developers online allows you to expand you search beyond your local geographic area to a global market. This automatically increases the available talent to choose from by a massive amount.
Different areas have a lower cost of living. This means you may be able to attract developers with comparable experience level at a much lower rate.
Working from home with flexibility often makes the hired developers happier. Happier employees equal a more productive workforce as a whole.
Hiring a virtual software project team on a contract basis eliminates all the overhead cost of office space, equipment, and full-time employee benefits.
Several online marketplaces give you the ability to find quality software developers like Elance, oDesk, and Freelancer.
Communicate Your Goals
Now that you have found a potential candidate to have further conversations with, how you communicate the project goals becomes key. Don’t communicate the ‘how’ of the project, but describe ‘what’ you are trying to achieve. In other words, always communicate what you want done at the end of the project and not how you should get there.
Good software developers have a unique way of finding solutions to reach the project’s goals that you may have never thought of. For example, instead of saying, “I want an iOS application that will geo-trip locations using REST based web services that are stored in a MySQL database and after some processing, sends an SMS message”, you might say, “I want to create a mobile app for taxi drivers to pick up fares within 1 mile of their current location”. Communicating in this method will allow the developer to present a variety options to achieve this goal and unlock solutions you may have never considered.
Require a Programming Test
Now it’s time to see your potential developers in action. Have the candidates take a programming test. Look at the requirements of your software project and develop a mini test that emulates those requirements. You can leave a little room for ambiguity to see how the developer proceeds when requirements may not be so clear.
Having developers do a short test, especially when you can’t meet them face to face, helps you really get a look at their traits and characteristics. Not only does it give you a good overview of their programming ability, but also how they will work with you, your team, and the project.
Choosing the right software project team can often make or break a project. For startup and small businesses, this is especially important where the failure of a project can lead to the failure of the entire business. So choose wisely. The extra time it takes to thoroughly screen a candidate is a worthwhile trade off for a successful delivery.
What other tips do you have for hiring the right software team for your project? If you have dabbled in the online hiring space, share your experience!