I live by the Agile development methodology.
I am 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. I don’t care about labels. Results are
what matters. My process outlined below yields fully-formed project designs,
accurate time and cost estimates, and sensible sprint plans.
Discovery & ldeation.
Goals
• 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
Process
Typically occurs as a series of
collaborative whiteboard sessions with a client
Result
A Product Requirements Document that serves
as the Project’s guiding star
Planning.
Goals
• 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
Process
My business analysts, project management,
and developer skills are used for the completed Product Requirements document to break out
discrete chunks of functionality.
Result
A project plan that passes the “smell test”
of both the client and myself.
Design.
Goals
• 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
Process
Using initial sketches as a guide, I 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.
Result
A final set of designs are added to the
requirements document and dictate the final development of the UI/UX
Development.
Goals
• 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
Process
I work closely with the 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.
Result
Robust functionality that completes one or
more project milestones.
Testing &
Launch.
Goals
• 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
Process
I deliver a test build at the end of
each sprint outside the app stores. Customers install these test builds. I-publish
release notes outline the features in the build and, therefore, what needs
testing.
Result
Humans are imperfect, even myself. 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.
Goals
• 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
Process
The milestone-driven development process is
identical in maintenance/support mode; I plan 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
Result
Customers see regular app updates and
delight in seeing their suggestions appearing rapidly as new functionality
Collaboration Tools.
I 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