What Is Your Application Development Cycle
Category Development
I don't mean for those one-off applications. I mean for the big ones. Applications that have ongoing requirements. Apps that always have new feature requests, bug fixes, etc. And I'm strictly asking about Lotus and Domino development. What is the cycle like?
I don't mean for those one-off applications. I mean for the big ones. Applications that have ongoing requirements. Apps that always have new feature requests, bug fixes, etc. And I'm strictly asking about Lotus and Domino development. What is the cycle like?
Do you develop one thing at a time, then test, then release? Do you develop a lot of features at once during a set time frame, then test, then release?
Certainly there are best practices out there, but what is the reality? I'd like to hear how it works for you...
Comments
Posted by Tony Westwell At 10:42:30 On 21/07/2010 | - Website - |
Posted by Ben Poole At 10:55:37 On 21/07/2010 | - Website - |
Bugs always take priority. We sometimes do a single large changes, sometimes a set of small ones. The business users prioritize, IT scopes and implements.
Posted by Dave Armstrong At 11:37:42 On 21/07/2010 | - Website - |
{ Link }
Posted by Wayne MacKirdy At 12:19:19 On 21/07/2010 | - Website - |
For small bugfixes, I often do in place if I am confident, for larger issues, I do in preprod then promote
Posted by Patrick Picard At 12:49:10 On 21/07/2010 | - Website - |
1) Meet with customer.
By "customer" I meant the person/people requesting the solution.
2) Work with (consult) the customer to create a requirements document.
3) Create a project plan for the solution based on the requirements document.
4) Get "sign off" on project plan.
5) Evaluate technologies/plans to create solution.
6) Create a technology strategy document, consisting of the detailed plan to create the solution and create any mockups/wireframes possible based on the requirements and project documents.
7) Present the technology strategy document to the customer, get sign-offs or revise as needed.
8) Start Development.
9) Alpha Release.
10) Work with customer to create a functional gap analysis document.
11) Create a technology strategy document to address the FGA.
12) Present the technology strategy document, get sign-offs, etc.
13) Start Development.
14) Pilot Release.
15) On Error GoTo 10
16) Release!
Posted by Chris Toohey At 13:35:57 On 21/07/2010 | - Website - |
We figure out which features/bug fixes we want for a release, then ask the developers to size each item.
Normally we try to keep the schedule around 12 weeks or so, and we'll compare the sizings to the schedule, prioritize features and determine which ones can be deferred, or scale some features back to what's necessary to support the goals, saving the "nice to have" things for if we have time in the current schedule, or defer them for a future release.
Once we have a solid plan we present to a board of stakeholders and come to an agreement of what the plan will include, then we execute against the plan.
The plan usually involves a design phase, development phase, feature testing phase, triage/bug fix phase, regression phase, regression bug fix phase, and finally a deployment phase where we roll out the new iteration to all of our wikis.
Of course, there are those times when a critical issue comes up that needs to be fixed outside of a regular release schedule. We try to address those issues immediately and deploy fixes as soon as possible.
Posted by Amanda Bauman At 13:43:45 On 21/07/2010 | - Website - |
Posted by Kathy Brown At 13:49:23 On 21/07/2010 | - Website - |
The governance of a project is dictated by who "cares" about the project and how much it is being audited.
Projects that affect dollars typically have requirements, estimates, testing sign-offs.
Departmental applications that help clean up processes typically have little written down except for sign-off.
Posted by tom oneil At 14:38:38 On 21/07/2010 | - Website - |
1) Idea is submitted by anyone in the company
2) My boss decides if it is even worthy of consideration
3) I Make my best guess how long it will take me to build
4) If it takes longer than 10 hours, It goes back to the submitter to give a rough guess as to the the return on investment
5) It then goes to a committee to determine where it goes in my list of priorities, to actually schedule the work.
6) I build a really sweet application that does what they need (vs what was specifically asked for)
7) Everyone is happy, and the company saves a fortune.
Posted by Tim Paque At 18:05:04 On 21/07/2010 | - Website - |
1) Idea is submitted by anyone in the company
2) My boss decides if it is even worthy of consideration
3) I Make my best guess how long it will take me to build
4) If it takes longer than 10 hours, It goes back to the submitter to give a rough guess as to the the return on investment
5) It then goes to a committee to determine where it goes in my list of priorities, to actually schedule the work.
6) I build a really sweet application that does what they need (vs what was specifically asked for)
7) Everyone is happy, and the company saves a fortune.
Posted by Tim Paque At 18:05:07 On 21/07/2010 | - Website - |
Posted by Tim Paque At 18:08:20 On 21/07/2010 | - Website - |
What you're talking about is either iterative/big-bang/incremental approaches.
1/ Iterative is good when customer has no idea and they need to see it before they know. Turn around has to be weeks than months and the customer agrees things will evolve. But you will get issues with ongoing improvements are hampered by older code. (I don't like this approach on bigger apps).
2/ big bang. Customer has very clear requirements and the scope probably won't change (much). Project is only a couple of months. (Good for simplistic requirements and you want a long period of coding to deliver stuff). This works best on batch oriented problems like pushing data in and out of systems and there is low-user interaction.
3/ incremental. Customer needs features NOW but can wait for a bunch of others and priortise. Causes alot of testing for regression bugs, but is great for getting results in a short space of time and agreement of features/requirements are informal. (Good in more complex environments, allows you stage releases. I prefer this in most cases).
Posted by Giulio At 21:34:16 On 21/07/2010 | - Website - |
We have quarterly updates, including bugs fixes and a limited list of improvements. (say max 100 hours of dev)
Every half year there is a new version released (200 hours of dev)
With every order for a database, users buy the service of bug fixes and continous improvement. This is a fixed fee. Every month they pay for hosting services (mostly costs for disk-space).
The hard part is to also deliver every quarter the updates. Sometimes we skip one or 2 over and place them all in a release.
Posted by Patrick Kwinten At 02:56:23 On 22/07/2010 | - Website - |
We then create a design document with screen mockups, data schemas, deliverable scedule and UML diagrams. For some projects we will break it into to multiple projects instead of one long one.
During development the users will test the app and we fix bugs. Bugs mean it doesn't perform as specd or it is obvious such as allowing text in a number field.
Change request are collected and rated by the impact to the delivery dates and cost then need to be approved by the customer to be included.
The longest project was 5 years for a bio-terrorism alert system in Domino. At the end they had us add functionality because we were going to be way under budget.
Posted by Bruce Lill At 12:08:24 On 22/07/2010 | - Website - |