The Simpalm Way:
Reengineering Agile Software
We at Simpalm live by the Agile development methodology. We’re also responsible business people who care, first and foremost, about providing our customers stellar products at a fair price within the projects’ time constraints. Project scoping to accurately determine duration, cost, and milestones, requires deep exploration before the development and design phases can begin.
The Discovery & Ideation and Planning steps outlined below are decidedly un-Agile. These initial steps are the deep dives required to gain a holistic enough understanding of a project to build a rock-solid, realistic plan.
Methodology purists might label our up-front process, Waterfall. We at Simpalm don’t care about labels. Results are what matters. Simpalm’s process outlined below yields fully-formed project designs, accurate time and cost estimates, and sensible sprint plans.
• Understand the underlying concept of the app
• Understand user personas and how this app benefits each of them
• Discuss the app functionality to identify holes, and determine the must-have versus nice-to-have functionality
• Draw rough pictures of screens and workflow
• Develop metrics to measure app success
• Identify Risks
Typically occurs as a series of collaborative whiteboard sessions with a client
A Product Requirements Document that serves as the Project’s guiding star
• Establish milestones, interpreted as pieces of application functionality, that comprise the enter feature set of the app
• Provide a rough time estimate for completion of each milestone
• Using budget and date constraints as time-boxes, assess the achievability of the milestones. Tweak the plan as necessary
Simpalm business analysts, project managers, and developers use the completed Product Requirements document to break out discrete chunks of functionality.
A project plan that passes the “smell test” of both the client and the Simpalm team.
• Build a complete set of wireframes using tools like Balsamiq or Sketch from the rough, initial sketches
• Provide enough look and feel for a customer to refine, rearrange, or revamp
• Create a polished design using tools like Figma or Invision
• Obtain general agreement that a working design is complete
Using initial sketches as a guide, Simpalm Designers produce the first cut of wireframes. The client reviews the wireframes, makes changes, and awaits revisions. This iterative process continues until the customer is satisfied. The designer then uses the wireframes to produce a polished design reflecting the color scheme, style, and user experience. Again, the final design process is an iterative back and forth with the client.
A final set of designs are added to the requirements document and dictate the final development of the UI/UX
• Deliver demonstrable and useful functionality at the end of each iteration
• Accompany working features with meaningful unit tests that verify the code addresses the requirements
• Peer review code before committing it into a source code repository
• Evaluate code for security vulnerabilities and clarity
The Simpalm development team works closely with the Simpalm project team to craft milestone-driven, short sprints. The in-place Continuous Integration/Continuous Deployment system ensures that committed code is deployed, and tests automatically execute. The development team identifies and addresses all test breakages until the tests succeed. Before the start of the next sprint, the customer reviews the work. The client may modify the direction of the next sprint time without affecting the overall schedule.
Robust functionality that completes one or more project milestones.
• Validation that completed functionality addresses the required behavior
• Ensure that navigation between screens is intuitive
• Verify that actions complete with the minimum number of clicks
• Verify the system “hangs together” from end to end
Simpalm delivers a test build at the end of each sprint outside the app stores. Customers install these test builds. The Simpalm-published release notes outline the features in the build and, therefore, what needs testing.
Humans are imperfect, even the superb team at Simpalm. The purpose of testing is to find the small issues that inevitably occur in software before end-users experience them. With robust end-to-end testing, end-users will have a delightful experience with the completed app.
Support & Enhancements.
• Curate a backlog with maintenance items and requested features
• Schedule periodic deliveries of new features and a regular cadence of releases for maintenance items
• Maintain a small team of generalists capable of addressing all app needs from the front-end to the back-end
The milestone-driven development process is identical in maintenance/support mode; the Simpalm team plans sprints, executes them, and evaluates them with an eye to quality and functionality. Each new piece of code undergoes the same testing and scrutiny for security and robustness as the initial development code
Customers see regular app updates and delight in seeing their suggestions appearing rapidly as new functionality
We use a host of industry-leading collaboration tools to fuel our unique process. Many of these tools facilitate the free-flowing back-and-forth with our valued customers that results in first-class
This is one of our unique selling propositions. If you have a well-defined scope, we can create a fixed- cost estimate for your product. Fixed-cost pricing is advantageous in managing project costs.
Time And Materials
A Time and Materials model is appropriate when the project scope is not clearly defined or when a project requires exploratory research and development.
Several of our clients require dedicated software engineers on retainer basis. We provide best in class resources who will work as your extended team, either on-site or remotely to augment your pre-existing teams .