What Does Software Development Take?

Software Development.
What Does It Take?
I often get asked, “Matt, I have an app idea…. that should be easy to do, right?”
Anything is easy to do with the right skills and methodology in practice. The difficult part, the average Joe, has no idea of the right methodology or skills needed.
Most people think we just write some code and voila! All your dreams come true, you’re in the software game and making $$$.
You can go down that road, but your product will be under or overbuilt and full of regression (bugs). Good software development takes a well-practriced methodology.
There are two main schools of thought or methodologies today:
  1. Waterfall, means collecting requirements, analyzing, designing, coding, testing, and using. Very narrow and follows one path. This is great for a simple feature but is difficult because you need to know your complete deliverable at the beginning of the project. In my experience, this happens about .01% of the time.
  2. Agile or Iterative Development is the collaborative effort between idea and development. Constantly adapting, planning, and improving. Take a big project and break it into many small pieces and review it constantly with the idea team. No head in the sand for long projects. Remember, 2 degrees of separation, is becomes greatly off-course if not reviewed and corrected soon. The agile method will include some of the same practices in waterfall, however, you rinse, wash, repeat often. An experianced framework for accountability, development, feedback, and testing is key.
At Fostering, we follow the Agile or Iterative development model.
Here are a few questions to ask a development team to see if they are up for your project.
  1. What is their Software Development Lifecycle (SDLC)?
  2. What tools do they use for project management, documentation, and software development?
  3. How do they handle bugs/issues? If they are doing everything right, bugs/issues should be minimal to none, because issues are caught in testing and not by an end-user.
Have a project or idea for development on Salesforce?