Blog
... latest news about Spotlight

News for July 2013

10 Resources for Software Project Planning Tips

Posted by: Seth Weedin

Have you ever been a part of a software project that had little to no planning up front? How did it go for you? Sure, the agile approach is all about that iterative approach that allows for quick pivots without a lot of required planning. But of all the software development projects we’ve seen, the most successful ones use a smart approach to software project planning.

Next week we are holding the second part of our webinar series on successfully delivering a web or mobile app project and discussing software project planning. This process starts with developing a clear set of requirements that will guide your software team through a successful delivery. These requirements include wire frames and use cases for visual representation of how the project will proceed.

In sticking with the theme of planning, this week’s Friday Findings offers you 10 resources for software project planning tips to give your team direction and focus on the goals at hand.

The Findings

  • Software project planning needs to address all parties involved in the project, not just the development team. Follow these steps to create a communication plan that keeps all project stakeholders in the loop as well.
  • Doug Brophy discusses agile release planning before implementation begins. This allows teams to get started doing agile quickly with a roadmap laid out.
  • Here are six ways to improve your Scrum planning meetings from Derek Neighbors. Great line in the last paragraph, “Many people feel planning is a waste. This may be true if there is no desire to understand the outcome or path to get there.”
  • There are various levels of planning that can be done in agile projects to help form the path towards delivery. At the beginning, it can be called “Product Visioning”.
  • Another article on the levels of software project planning with vision (overarching goal), product strategy (path to goal), and tactics (specific tasks). Requirements analysis can be done in the product strategy phase.
  • This article discusses how to apply agile principles to requirement analysis planning that will produce better specifications and ultimately greater quality products.
  • Agile project plans are based on features that need to be delivered rather than a series of tasks laid out for the entire project. Here’s what a typical agile project plan looks like.
  • Preparing for complex projects using agile takes a little different approach in planning. This article from IBM discusses how to plan for complex projects in agile development.
  • After developing a set of agile project requirements, a team often must prioritize the requirements list. There are several methods including the MoSCoW approach to help with this.

There are several ways to approach software project planning and one size does not fit all. At Spotlight, we go through a process of developing requirements with wire frames and use cases right through project scoping. It keeps our team on the same page and all marching in the direction of the project goals. We will go into much more detail in our webinar next Wednesday titled Planning Your Software Project for Successful Delivery. Sign up and stop by to see how your business can successfully implement a requirements analysis process to help guide your team through delivery.

Are there other effective methods of planning out a software project we missed? Enlighten us with your wisdom and leave a comment!

To stay up-to-date with Spotlight Software and Spotlight People & Project Manager,  join our mailing list or visit our FacebookGoogle+LinkedIn, or Twitter profiles.


A Guide to Choosing a Mobile App Development Platform

Posted by: Seth Weedin

The mobile app economy is booming. The word booming may be an understatement as the sales of physical goods and services from mobile apps is expected to reach $151 billion by 2017. According to Google’s Our Mobile Planet, people will have an average of 20 apps downloaded to their phone at any given time. So as Flurry put it: “It’s An App World, the Web Just Lives In It”.

It’s no secret that your business needs a mobile presence, whether it’s a native app or a mobile-friendly website. But knowing which mobile app development platform to choose for both cost and quality is difficult for business owners with no background in software.  There are so many things to consider from flexibility and scalability to cost and difficulty of development.

Some mobile app development platforms offer clear advantages over others. The key is considering the trade-offs for each and finding that one platform that gets you the biggest bang for your buck. Here we look at 5 popular platforms and how they stack up against each other for a quality mobile app experience.

Mobile App Development Platform Comparison

Click to enlarge

Objective C + iPhone

Using the Objective C programming language, this platform can be used across all iOS devices. The native platform for developing the app gives you the most comprehensive API integration and a very strong developer community. This combination of the developer community and extensive documentation offers your development team lots of great resources for efficiently building a mobile app with Objective C.

The obvious disadvantage is that it applies only to iOS and is not cross platform. But it is a very efficient mobile app development platform for iOS specific apps. The combination of a GUI builder, fast compilation speeds and great developer support will give you a reliable and high functioning iOS app.

Java + Android

Java for Android can be used across all Android specific devices and is a native platform. Similar to Objective C for iOS, it offers a very comprehensive API and developer community for support.  Java for Android is open source and has a faster learning curve than Obejective C.

While not cross platform, this is a very good mobile app development method to creating Android apps. Java is also a very secure platform if you plan on processing sensitive data via the Android app.

Mono

MonoTouch and Mono for Android from Xamarin use C# and .NET to allow you to reuse code between platforms. This cuts down on development time, reducing the overall cost of developing a mobile app. For example, we built Spotlight’s mobile apps using Xamarin and reused almost 80% of the code between iOS and Android. The platform provides access to native API’s on both devices and rich IDE support. Mono is very easy to learn as any developer with existing .NET skills can start building almost immediately.

The one drawback to Mono is that it does require a fee at $399. If you choose this route to build a mobile app, just consider the trade-off between reduced development time and the extra cost to use it. If you can justify the trade-off, this mobile app development platform is definitely worth it.

Phonegap

Phonegap uses a combination of the HTML, CSS and JQuery languages for mobile app development. This platform basically allows you to use a normal webpage and repackage it as a mobile app with minimal changes. There is no need to learn a new API or language to work in Phonegap making it fast and easy.

It also can be used across both iOS and Android devices but does not use native widgets meaning the app will not appear native. Documentation is sparse causing difficulty for developers if they run into something unfamiliar. Phonegap is good to quickly get your app ready but may lack some of the overall functionality the other mobile app development tools have.

Titanium

Titanium is an HTML and Javascript platform that can be used across iOS and Android devices. The main advantage with Titanium is the ability to use Javascript to build apps with native widgets, making all apps look native.

Several disadvantages of Titanium may make you want to consider the other platforms ahead of it. Titanium only uses its own API to lie out widgets so any other existing tools will not work. The API also differs considerably between iOS and Android devices, which will increase development time. Overall, builds are very slow, especially for Android.

Conclusion

These mobile app development platforms are only a few of the ones available but are probably the most widely used. Each has its own advantages so finding the one that is right for what you are trying to accomplish with your mobile app is key. Reliability, scalability, and security should all be major considerations when choosing the right mobile app development platform.

Choosing a mobile app development platform is only a start; you still have to manage the project through delivery. Spotlight PPM can help by providing you the visibility and collaboration tools needed to ensure your development team is on the right track towards a successful product delivery. Learn tips and techniques on how to manage a mobile app project by joining our community.

Have other platforms or tips on mobile app development? Share your expertise and help the rest of us learn!

To stay up-to-date with Spotlight Software and Spotlight People & Project Manager,  join our mailing list or visit our FacebookGoogle+LinkedIn, or Twitter profiles.


Friday Findings: 10 Ways to Communicate In Spotlight

Posted by: Seth Weedin

Imagine this scenario: you manage a project team that is spread out over a few different locations. It could be a software project, it could be a design project, it could even be a writing project of huge proportions. Team communication is a necessity, yet you still find yourself having a hard time reaching people, knowing what they’re working on, when they are out of the office for lunch, and when they’re offline for the weekend. There has to be better ways to communicate.

Can you relate? For many project managers, this is the reality of managing a project, especially with distributed team members.

Now think of this possibility: you can log into an app from the web or your mobile phone from anywhere and instantly see which team members are online. You can see exactly what task they are working on. You can see how long they will be available and then fire up a chat, conference, or video call via Skype for the daily scrum. All without sending an email or picking up a phone.

This is what Spotlight People & Project Manager does. It facilitates communication using the principles of social media to keep your project team in sync 24/7. In this week’s Friday Findings, we look at 10 ways to communicate in Spotlight for your project team.

Real-Time Status UpdatesWays to Communicate in Spotlight - Status Card

Each team member in the project has their own status card that provides all status, availability, and task information in one area. Using the status update text field in the image, team members can easily communicate their current status and availability. For example, the status card shows this team member is working on the mobile version of private messaging until this afternoon. When he leaves the office for lunch, the status card is simply updated to away and he types a message in the status update field letting the rest of the team know it’s lunchtime.

All project managers and team members can instantly see the updated statuses from the dashboard both on the web and mobile. This allows project managers to know what the team is working on or if they are away without the hassle of sending emails or calling all the time. No more black box with your team!

What is Everyone Working On?

A pain point when managing a project with distributed team members is knowing what they are working on. The “Currently Working On:” field alleviates this. All tasks that are assigned to a team member at that time are listed in this drop-down menu for selection. When they select a task to begin, Spotlight automatically starts tracking time worked.

This is one of the more important ways to communicate. In software development, it’s important that fellow developers know what each other are working on. All the pieces have to fit together at the end and this prevents any confusion on tasks.

Availability

Ways to Communicate in Spotlight - Status Control

As a project manager, you usually know when a team member is going to be out of the office for an appointment, etc. But when will they be back? The availability portion of the status card lets you know when a team member is available or away and for how long. For example, the person in the status card is ‘Busy’ and working on the mobile app until this afternoon. If he leaves for an appointment, he can update his availability status to ‘Away’ until say 2 pm.

Easy Replies

When a team member updates their status and availability, other team members can directly reply. Spotlight will then notify the person there is a reply waiting on the web and mobile in case they are away from the computer. If it’s urgent and the team member is away, they will instantly know via mobile that the issue needs addressed.

The status update and reply can be a way for team members to engage each other on a more personal or even fun level. We use the status updates to wish happy birthdays or say something about the weekend and people reply with lighthearted messages. It’s a way to build team camaraderie and trust that will make them even more productive.

Likes

See a team member working hard on a task or out for a fun weekend? ‘Like’ their status! Not only does this further promote that team relationship building but it gives members recognition if they are working hard on a major task for the project. Everyone instantly sees a like on the dashboard and it becomes somewhat viral. The likes keep the team motivated and is an easy way to recognize people for their hard work.

Skype Integration

Tons of tools have come out for quick conference or video calls but Skype is still the people’s choice. That’s why Spotlight built Skype right in. By clicking the Skype button on a team member’s status card, a conference or video call, or chat can be initiated immediately. If you want to add team members to the call, simply click the button on their status card and you can easily conduct the daily scrum right from Spotlight’s dashboard.  There really isn’t very many better ways to communicate than Skype.

Ways to Communicate in Spotlight - SkypeWays to Communicate in Spotlight - Skype

Private Messages and Project Board

Situations during a project warrant the need for both private messaging to individual or only certain team members and project discussion boards. Spotlight’s project board gives everyone a centralized place to immediately notify the whole team of something pertaining to the project. Assistance from other team members, important delivery dates, recognition and motivation are all topics that could be addressed on the project board.

Private messages are pretty self-explanatory. Use them to send a message to a recipient or group of recipients. There are things during a project you don’t want all team members worrying about. The private messages are for this reason.

Instant Chat

Someone late for a meeting? Or need to tell someone you need help with a task? Use the Chat button on a team member’s status card to quickly initiate a conversation. Our developers will use this to quickly ask for help on an issue they are stuck on or to let someone know of an emergency for example. Not only does it facilitate open and frequent communication among the team but let’s them quickly address issues with each other before they get out of control.

Comment On Everything

Almost everything in Spotlight has a comment functionality. The ability to comment on tasks is especially useful because it allows team members to quickly add information that may make the task easier to complete. Screen shots can be uploaded with comments for a visual representation of any wire frame, new design, or bug for consideration. No more attaching large documents, images, or PDF’s to emails and hoping they get through to the other inbox!

Manage Projects from Anywhere, Any Time

Everyone is on the go these days. Spotlight’s mobile apps available on iOS and Android give you the needed visibility into your project and team from anywhere in the world, at any time. All the communication channels and functionality are fully available on the mobile apps so when you leave the office, you really are just bringing it with you. If you want visibility into the project at all times and be able to communicate with your team, Spotlight’s mobile apps give you that opportunity.

Conclusion

Collaboration between team members in a project, whether it’s software development or other, can often be the difference between success and failure. Yes, phone and email still work. But how much time do you have to constantly be typing emails and making phone calls to find out what your team is doing?

This is how Spotlight does it for communication and visibility. We’re also interested in your ways to communicate during a project. Share your advice and experience with a comment, it can only help the rest of us!

To stay up-to-date with Spotlight Software and Spotlight People & Project Manager,  join our mailing list or visit our FacebookGoogle+LinkedIn, or Twitter profiles.


Themes, Epics, & A User Story – Huh?

Posted by: Seth Weedin

A user story, goal, epic, theme…terms you hear all the time in agile but can often get confusing. The fact is they are very useful organizational terms in an agile project and relatively easy to understand. We like to look at these terms as an agile hierarchy of how projects are broken down into smaller parts.

User stories, epics, and themes are a way to break down projects for easier manageability. A user story is simply a feature a user wants in their software. For example, you may be building a website for a client and they request the acceptance of credit cards for their shopping cart. So the user story would simply be “Accept all major credit cards”.

An epic is a very large user story. The story described above of accepting all major credit cards could be considered an epic because it could probably be broken down into smaller user stories. Just be aware that an epic will likely have many tasks associated with it if you go forward using one.

A theme is a collection of user stories. Accepting all major credit cards could be part of a theme called “Shopping Cart” or “E-Commerce Platform”. There will often be several user stories that all fall under this main topic or theme in the project.

The agile hierarchy is set up a little different in Spotlight but still follows the same principle. We break it down into three areas: projects, goals or user stories, and tasks. It may be easier to think of it as a folder structure, with each folder containing the one below it. So projects contain goals and goals contain tasks.

Projects

In Spotlight, each company workspace contains specific projects that the company is working on. If your company develops mobile apps for customers, you may have the projects divided up by the business name of that customer. The project below is for the Locke Supply Co web application that currently has two team members, two in progress tasks (yellow), and three completed tasks (green).

Project in Spotlight PPM

In any company that manages multiple projects, you will have different users working on different projects. By organizing your company workspace into separate projects, you can add multiple users to one project or the same user into multiple projects. Each project automatically keeps track of the users time spent working on tasks for easy invoicing and management.

All projects contain goals, which further breakdown the project for easier manageability.

Goals (User Stories)

A goal in Spotlight is similar to a user story. They are simply a feature or functionality the user wants in the software application. Goals are often a good way for outside stakeholders to follow the progress on parts of the project that affect them directly. For example, the billing department may want to follow the goal below of “Accept all major credit cards”. As this goal progresses, they will know when to expect its completion and their new customer billing process will begin.

Goal or User Story in Spotlight PPM

Each goal contains a number of tasks to complete the functionality the user asked for. In the goal snapshot above, the number of open tasks (three in this case) can be quickly verified. Stakeholders can also get an idea of the progress, efficiency, quality assurance status, and projected delivery date. As the tasks within this goal are completed, the progress and efficiency rating will change.

Tasks

Tasks are exactly that – specific things that need to be completed by the individual team members building the application. Having specific tasks that can be assigned to individuals is a way to keep teams motivated and accountable for their work. They won’t always be looking for something to do when tasks are out there waiting.

Tasks are clearly listed in the details of every goal. The owner can quickly see what tasks have not started, are in progress, or complete along with the QA testing status. By clicking on the task, further details will be shown including the team member working on it, comments, attachments, etc.

Tasks in Spotlight PPM

In Spotlight, not all tasks have to be part of a goal or user story. There may be improvements on existing features or bugs that need to be fixed, but don’t correspond with a particular goal. The task manager is the area to manage these. It is a complete list of all tasks within the current sprint of the project. It allows you to create, import, search and filter tasks among many more functions.

Conclusion

Organizing your projects into an agile hierarchy like this allows stakeholders the flexibility to contribute or follow the functions they are most involved in. Themes, epics, and user stories or goals in Spotlight keep the project organized and with that, the entire team delivering it.

Now it’s your turn – does your team use these types of organizational containers in agile projects? If so, how do you manage them?

If you would like to see how they are organized in Spotlight, give us a shout for a demo and more information.

To stay up-to-date with Spotlight Software and Spotlight People & Project Manager,  join our mailing list or visit our FacebookGoogle+LinkedIn, or Twitter profiles.


Top 10 List: Agile Development Projects with Distributed Teams

World’s Biggest Agile Development Project Collapses.” This is the first headline I saw this morning when I got into the office. The UK Universal Credit Welfare System is on the verge of collapse and going to cost a lot of people a lot of money.

It probably won’t be known for several months the exact cause of the collapse, but it would be a pretty safe bet that a communication breakdown is somehow involved. The importance of effective communication and collaboration during an agile development project sometimes just isn’t realized until it breaks down.

It’s even more important in agile development projects with distributed teams. More businesses are implementing this strategy as a cost reduction and to expand their talent search outside the local area. But with this comes the challenge of keeping the distributed team on the same page and collaborating effectively.

This week’s Friday Findings offers a list of books for managing agile development projects with distributed teams. The authors are experienced and seasoned in the process, offering a great resource for your business to effectively use this strategy. On to the findings…

The Findings

Adapting Agile for Use with Distributed Teams – Scott Ambler and Kevin Aguanno

This book covers a 60-minute interview with Ambler where he discusses some great examples of how development teams are adapting agile methods to work in a global team environment. You will learn how to break down communication barriers to improve project team performance.

Agile Software Development with Distributed Teams – Jutta Eckstein

Eckstein discusses how to address the challenges of agile software teams working together over great distances. Full of several real-world experiences from other practitioners, this book will train you to form customized plans that fit your distributed team’s situation.

A Practical Guide to Distributed Scrum – Elizabeth Woodward, Steffan Surdek, Matthew Ganis

Written by three of IBM’s Scrum experts, this guide serves as basis for Scrum practitioners working in a distributed environment. The authors look at several real-world project examples and how to apply key Scrum practices in a distributed environment.

Agility Across Time and Space: Implementing Agile Methods in Global Software Projects – Darja Smite, Nils Brede Moe, Par J. Agerfalk

Global software projects are becoming the norm for many businesses that operate in multiple locations to take advantage of talent and cost savings. The question often comes down to whether they should implement agile tactics in their global projects. The authors break down agile implementations for distributed teams into five areas: motivation, transition, management, teams, and the epilogue, which offers future trends and research.

Collaboration Explained: Facilitation Skills for Software Project Leaders – Jean Tabaka

While not directly targeted at distributed teams, collaboration is one of the biggest keys to project success in a distributed environment. Tabaka discusses collaboration and facilitation techniques for agile software project leaders to get their teams interacting through the project lifecycle. More effective collaboration equals higher delivery success.

Distributed Agile: The Proven Agile Software Development Approach and Toolkit for Geographically Dispersed Teams – Upadrista Venkatesh

This book discusses the “Design for Hybrid Agile Adoption” approach in implementing successful agile approaches with distributed teams. Venkatesh covers various tactics in making agile development projects with distributed teams successful such as collaboration techniques, metric analysis, meetings and interactions, and many other factors.

Project Plan for Globally Distributed Software Teams – Affan Yassin

Yassin creates an entire global software project scenario in this book and takes you through the whole thing. He looks at all the possible roadblocks that could be ran into when working on a distributed basis and solutions for those roadblocks. Collaboration techniques are discussed that address time zone, culture, familiarization, and trust issues that pop up in agile software development with distributed teams.

Global Software Development Handbook – Raghvinder Sangwan, Matthew Bass, Neel Mullick, Daniel J. Paulish, Juergen Kazmeir

Techniques proven successful at electronics and software company Siemens AG are shared in this book about developing software on a global scale. The authors discuss how Siemens uses a high-level process framework of agile methods that fosters team building and effective team collaboration. Real-world examples of both successful and failed projects offer takeaways of what to do and what not to do for success in leading agile development projects with distributed teams.

Global Software and IT: A Guide to Distributed Development, Projects, and Outsourcing – Cristof Ebert

In this book, Ebert covers best practices for managing software projects across borders. He discusses his own first-hand experience in executing projects across multiple locations, mitigating risk, and creating a highly effective collaboration environment for distributed agile teams.

Managing Global Development Risk – James Hussey

Properly managing risk in a global software development project is a key consideration for any business looking for success. Using real-world experiences, this book provides several tools and techniques to manage the risk that arises in agile development projects with distributed teams. Hussey discusses how to gather insight into diverse team personalities in order to achieve trust and effective collaboration between team members, ultimately leading to success.

Every book has one thing in common (at least) and that’s effective team communication and collaboration. Agile software teams on a global scale can’t survive without it. Phone and email are typically not enough and a social network based collaboration platform like Spotlight offers can make a team that much more productive. It keeps everyone on the same page all the way through the project.

Are you an experienced project manager leading distributed teams? Share your experience and techniques to help the rest of us out!

Stay up to date with Spotlight’s latest content, news and special offers – Join our mailing list! (We promise not to use your email address for anything else and you can unsubscribe at any time.)

For more information on Spotlight Software and Spotlight People & Project Manager, please contact us or visit our FacebookGoogle+LinkedIn, or Twitter profiles.


Measuring Quality in Offshore Software Development

Posted by: Seth Weedin

The term ‘quality’ comes up a lot when considering an offshore software development strategy. Any business that has thought about offshore software development as an alternative to hiring in-house often asks themselves, “How can I still ensure a quality product at the end of the day?” This tunnel vision of only thinking about quality in terms of the final product is what gets businesses into trouble when offshoring. Quality isn’t only about the final product; it starts the minute you decide to take the offshore development route.

Using an offshore software development team can be very successful and produce high quality applications. But the quality starts from day one of the project. An industry disrupting application doesn’t just happen with a talented developer putting his or her head down and writing the application. It definitely helps to have an experienced development team but the quality and success of the product is all about how the project is managed from the start.

Turning your software idea into a quality and robust application often comes down to three areas: preparation, people, and processes.

Ensuring Quality in Offshore Software Development

(Credit: Udayan Banerjee)

Preparation

Businesses thinking in the short term don’t often do all the necessary preparation. They just know they don’t have the people to build the software in-house or the resources to hire full-time. So the project is sent out the door to a cheap outsourcing firm with hopes for a quality application in 6 weeks. The horror stories often heard with offshore software development start right here.

Do all your homework first. This means having your idea clearly mapped out and a detailed software requirements analysis written. The fact of the matter is most offshore service providers will only produce exactly what is given to them. So go heavy on the details of your product roadmap. Ensure your management team and stakeholders understand each and every requirement that will form the roadmap. Show it to one of your colleagues with development experience for further validation. This will save a lot of headache when revealing the requirements to an offshore partner and help to ensure the quality will be built right in.

People

The requirements analysis have been written and a product roadmap in place. Now it’s time to engage the right people who will create that quality app you are looking for.

An offshore software development company will usually hand pick the people within their company to develop the software. It’s advisable not to let this happen and ensure you have an influence into the hiring decision. Thoroughly vet the software developers being considered even if it requires a few days. The best way to really get a sense of how they’ll work with your team and their talent? Hand them a short development task and see how they handle it. A payment may be required for this task but a mere $50 is worth the trouble if it validates you will get a quality product in the end.

Considering freelancers from sites such as Freelancer can offer more control over the project and team than a traditional, large offshore company. In this scenario, you have complete control over your team instead of trying to work through several people in a large company. Finding the right people will help make the process of working together smoother.

Process

The process of putting the project in motion begins the actual management phase. This mainly boils down to the question “How will we work together?”

First, ensure the requirements analysis are understood and agreed on by everyone involved on the development side. This will put the team all on the same page and working towards the same goal. The detailed nature of the requirements analysis helps build in the quality, not allowing the team to overlook something.

Ensuring a productive environment, especially in an offshore software development setting, requires constant communication. It’s the key to moving the project toward delivery. Frequent communication eliminates the “black box” businesses often find when the offshore team implements their own processes and they have no visual into them. Using an online collaboration tool like Spotlight can provide the needed visibility into the project and team through its social media based communication platform.

Processes also need to be implemented for dealing with uncertainties, how issues are handled, and many more factors. Having a process that the offshore team can follow for almost any scenario will create a high quality software development process.

Conclusion

With careful planning and preparation, using an offshore software development strategy can result in that quality product a business looks for at the end of the project. But quality service and development isn’t all about the written code, it’s engrained into a process that starts at day one.

Now it’s your turn, so let’s hear some great success stories about your business offshoring a software project. How did you manage that process? And if you are having trouble with a current software project or team, try a 30-day free trial of Spotlight to get your team and project back on track.

Stay up to date with Spotlight’s latest content, news and special offers – Join our mailing list! (We promise not to use your email address for anything else and you can unsubscribe at any time.)

For more information on Spotlight Software and Spotlight People & Project Manager, please contact us or visit our FacebookGoogle+LinkedIn, or Twitter profiles.


5 Ways to Reduce Software Development Costs

Posted by: Seth Weedin

Reducing Software Development CostsSoftware development is now a necessary part of starting and running a business, especially with the explosion of the Internet. Businesses cannot hardly survive without a presence on the web, whether it’s a website, SaaS, or mobile application. It can be very expensive but with proper planning and strategy, software development costs don’t have to break the bank.

Several of the cost-saving techniques for software development come before the project even starts. Most successful software projects start with a plan that serves as a roadmap for developers to follow. This strategy will cut down on the time to reach the project goals and save your business money in the end.

Here we discuss five ways that can you can cut software development costs and deliver projects under budget. Use this process enough and eventually it will become second nature to your team, helping get projects started and off the ground faster.

Consider Outsourcing

This is the traditional “make-or-buy” decision. Hiring in-house developers to “make” your software will include employee salaries and overhead costs. Outsourcing on the other hand, gives you the opportunity to find talent worldwide often much cheaper than locally. Freelance websites like Freelancer and oDesk give businesses an excellent opportunity to find this type of talent quickly. The hiring process of full-time employees is often lengthy and expensive and once the project is over, you have to find something for them to do. Hiring a quality freelance or outsourced team can happen in a matter of days and once the project is over, payments are made and everyone goes on their happy way.

Although outsourcing offers a low cost alternative to in-house software development, still take the time to choose carefully. Don’t always go for the cheapest proposal that looks like it will deliver all the project requirements. Give them a smaller test project first (no longer than a couple days) to get an idea of their skillset and how they work with your team. One size does not fit all in this situation.

Start With Requirements Analysis

Requirements analysis will prevent you from having to go back and constantly revamp work that is already done. Whether you are developing software for your own business or a customer, sit down and hash out a detailed requirements analysis plan to guide the entire team. This ensures the project team and stakeholders are all on the same page of what the software will look like at different increments through the project. Use both graphical and textual content to develop a product roadmap so everyone fully understands what is being developed.

Nothing increases software development costs faster then rework. This will likely delay the release making the customer, development team, and project stakeholders all very unhappy. Using a well laid out requirements analysis will lessen the chance this happens.

Use Agile

Agile software development consists of iterative approach where the requirements for the application are developed in a step-by-step manner with the project stakeholders. New releases take place in short, fixed time periods allowing the stakeholders to review the progress before approving and moving on to the next phase or “sprint”.

Using Agile can cut software development costs significantly as it drastically minimizes any rework that has to be done. Working in short increments with a review at the end allows the client or product manager to set priorities for what functionality is really needed for the next release. This does two things: First, it makes any rework easier because the development team only has to go back through the previous iteration and second, more emphasis is placed on the core functionality of the application instead of adding the unnecessary but cool new features. We like to call this “feature creep”.

The traditional waterfall approach that is typically used in lieu of Agile means the whole application is developed and then reviewed at the very end. If it’s not up to the client’s standards or major requirements are missed, the whole project fails.

Test Early and Often

Quality assurance testing can begin immediately upon the requirements being drawn up. This allows them to start creating the user acceptance scripts that will be used later on when testing gets complex. Getting them involved early also allows them to lend their expertise and experience on whether the software requirements are fully testable and make sense. This prevents confusion later on, which can slow down a project and increase cost.

Experienced QA testers usually have an ability to really see things from the user’s point of view. This doesn’t always happen from the development or management side of things. This perspective from the user side can reduce the number of issues that come up when your real customers start using the app.

Reduce Manual Processes

Tasks done manually are open to human error and just waste time and money. Don’t reinvent the wheel by trying to create this stuff, find tools already out there that automate these processes. For example, keeping track of your own work hours by hand can be difficult, let alone for 5 other team members. We automate this entire process in Spotlight PPM, where time spent working on our development tasks is automatically tracked by the system. This allows project managers or management to easily print reports showing how many hours our development team worked for accounting purposes.

Automation of tasks also ensures accuracy and reduces the margin of error. The risk of human error opens the door to incorrect information that may be used to make decisions on the future of the project. And as we know, the wrong decisions during a software project or any type for that matter can end up costing a boatload.

Conclusion

As a startup or small business trying to make ends meet, these areas offer great opportunity to cut down on software development costs. Just try not to sacrifice quality to get the lowest price possible. Hiring the cheapest resource available to build your software will often end up costing you more money in the end with dissatisfied stakeholders and rework.

What other techniques have you used to cut costs without sacrificing project quality? Leave a comment and share your experiences, we would love to hear from you!

For more information on Spotlight Software and Spotlight People & Project Manager, please contact us or visit our FacebookGoogle+LinkedIn, or Twitter profiles.

Author Profile
Seth Weedin (seth.weedin@spotlightppm.com) is the Director of Marketing at Spotlight Software.