trendscenter / coinstac

Collaborative Informatics and Neuroimaging Suite Toolkit for Anonymous Computation
MIT License
42 stars 19 forks source link

Write up an outcome-based business proof of the value to focus on future state architecture and the developer experience #1459

Open praeducer opened 1 year ago

praeducer commented 1 year ago

Pros and cons of focusing on these things now vs later. Present the long-term strategic thinking involved in the value of spending time refactoring the platform and our people processes before adding on new features or running new workloads.

Clearly define business objectives and primary outcomes for COINSTAC#17.

Goal 1

Create a well-architected system with a focus on operational excellence.

Creating a software system is a lot like constructing a building. If the foundation is not solid, structural problems can undermine the integrity and function of the building.

When building technology solutions on Amazon Web Services (AWS), if you neglect the six pillars of operational excellence, security, reliability, performance efficiency, cost optimization, and sustainability, it can become challenging to build a system that delivers on your expectations and requirements.

Incorporating these pillars into your architecture helps produce stable and efficient systems. This allows you to focus on the other aspects of design, such as functional requirements.

Goal 2

Execute a disciplined agile methodology following principles such as those found in Scrum. Follow principles more closely like:

Transparency The team must work in an environment where everyone is aware of what issues other team members are running into. Teams surface issues within the organization, often ones that have been there for a long time, that get in the way of the team’s success.

Inspection Frequent inspection points are built into the framework to allow the team an opportunity to reflect on how the process is working or not working.

Adaptation The team constantly investigates how things are going and revises those items that do not seem to make sense.

Goal 3

Frame these developer experience goals around research and business outcomes. Prove that focusing on architecture and the developer experience more now will allow the organization to achieve more long-term.

Literature Review

What is the Software Development Lifecycle? What is Scrum? Scrum Guide Manifesto for Agile Software Development Outcome Based Management Microsoft Well-Architected Framework

praeducer commented 1 year ago

Benefits of Agile to the Business

Benefits of agile software development for business

The main benefits of agile software development for business are quantifiable and known upfront. They include things like improved developer productivity, adaptive planning, improved code quality, and reduced integration and deployment conflicts.

Less risk - Using agile processes increases productivity with less risk; the processes reduce defects; customers are satisfied through continuous deployment; interested parties are kept happy by releasing public versions early and often, and sustainable development leads to sustainable ecosystems.

There is a significant time saving on all work that is produced when a good quality assurance process is in place. The earlier bugs are found, the more efficient for the productivity of the business, and the less stress the developers and users experience.

More predictability - Due to agile software development’s iterative approach, projects are more likely to finish on time, on budget, and with a higher quality result than they would have without it.

Key Benefits Of Agile Software Development (2022 Guide)

How does Agile improve adaptability? While you also collect initial user requirements in an Agile project, it doesn’t end there. Agile splits up your software project into several sprints. At the end of each sprint, you get valuable user feedback on the product, which helps you adapt to changing needs with ease.

How does Agile help you become more efficient? An Agile team holds a retrospective meeting to reflect and analyze their performance in the past sprint to determine what’s working and what’s not. This way, you can fine-tune your processes and behavior for better efficiency.

How does Agile increase motivation? Setting clear and achievable goals is one of the quickest ways to motivate team members. Product owners help define a strategic, overarching product vision that sets long-term goals for the team.

How does Agile improve project predictability? Agile teams develop the software through short sprints, each varying from two to four weeks duration. You only make short-term estimates, which the team reviews and updates regularly during Agile ceremonies like sprint planning and daily Scrum meetings.

praeducer commented 1 year ago

Actions Items

Establish and enforce well-defined roles

We need: